diff --git a/assets/dashboard.png b/assets/dashboard.png new file mode 100644 index 0000000..f362d7c Binary files /dev/null and b/assets/dashboard.png differ diff --git a/book/documentation/INTRO.html b/book/documentation/INTRO.html index dadc341..bb3e526 100644 --- a/book/documentation/INTRO.html +++ b/book/documentation/INTRO.html @@ -187,20 +187,21 @@
Phink is a blazing-fast⚡, property-based, coverage-guided fuzzer for ink! smart contracts. It enables developers to embed inviolable properties into their smart contract testing workflows, equipping them with automatic tools to detect vulnerabilities and ensure contract reliability before deployment.
-Phink requires developers to define properties directly within ink! smart contracts. By prefixing functions with
phink
, such as fn phink_assert_abc_always_true()
, developers create properties that
act as assertions. During testing, these properties are checked against every input (a set of ink! messages). If a
property’s assertion fails, it
triggers a panic, signaling that an invariant has been broken. This method ensures thorough validation of contract logic
and behavior.
In order to become coverage-guided, Phink needs to instrument the ink! smart contract. Although
currently adding feedback on each line executed, Phink is designed to evolve, eventually monitoring coverage across new
edges and code branches. Feedback is transmitted to the pallet_contract
via the debug_message
.
Phink addresses security concerns by:
Phink is a blazing-fast⚡, property-based, coverage-guided fuzzer for ink! smart contracts. It enables developers to embed inviolable properties into their smart contract testing workflows, equipping them with automatic tools to detect vulnerabilities and ensure contract reliability before deployment.
-Phink requires developers to define properties directly within ink! smart contracts. By prefixing functions with
phink
, such as fn phink_assert_abc_always_true()
, developers create properties that
act as assertions. During testing, these properties are checked against every input (a set of ink! messages). If a
property’s assertion fails, it
triggers a panic, signaling that an invariant has been broken. This method ensures thorough validation of contract logic
and behavior.
In order to become coverage-guided, Phink needs to instrument the ink! smart contract. Although
currently adding feedback on each line executed, Phink is designed to evolve, eventually monitoring coverage across new
edges and code branches. Feedback is transmitted to the pallet_contract
via the debug_message
.
Phink addresses security concerns by:
Phink is a blazing-fast⚡, property-based, coverage-guided fuzzer for ink! smart contracts. It enables developers to embed inviolable properties into their smart contract testing workflows, equipping them with automatic tools to detect vulnerabilities and ensure contract reliability before deployment.
-Phink requires developers to define properties directly within ink! smart contracts. By prefixing functions with
phink
, such as fn phink_assert_abc_always_true()
, developers create properties that
act as assertions. During testing, these properties are checked against every input (a set of ink! messages). If a
property’s assertion fails, it
triggers a panic, signaling that an invariant has been broken. This method ensures thorough validation of contract logic
and behavior.
In order to become coverage-guided, Phink needs to instrument the ink! smart contract. Although
currently adding feedback on each line executed, Phink is designed to evolve, eventually monitoring coverage across new
edges and code branches. Feedback is transmitted to the pallet_contract
via the debug_message
.
Phink addresses security concerns by: