You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There should be no need to use prank(attacker) in most scenarios, and there should be no need to hardcode payloads. We should be able to reproduce everything in the actual test.
Status
Bridges
✅ Nomad Bridge: getPayload reproduces payload for any address
✅ Roning Bridge: uses prank but OK, no interesting on-chain interactions, meat is offchain
✅ Polynetwork: uses hardcoded bytecode from traces, no prank but attacker address needs to be hardcoded due to bytecode
✅ Arbitrum Inbox: report, so no actual attacker address, attack is fully reproduced from scratch
This list is missing the Business Logic contracts, I can continue with it later. Meanwhile, I have done a PR which adds asserts to most of the contracts. Only those mentioned in the issue are missing (plus the business logic ones probably)
Aim
There should be no need to use
prank(attacker)
in most scenarios, and there should be no need to hardcode payloads. We should be able to reproduce everything in the actual test.Status
Bridges
getPayload
reproduces payload for any addressprank
but OK, no interesting on-chain interactions, meat is offchainprank
but attacker address needs to be hardcoded due to bytecodeattacker
address, attack is fully reproduced from scratchData Validation
encode
functions, nothing hardcodedAccess Control
address(this)
is the attacker contract, could change it to anythingaddress(this)
is the attacker contract, could change it to anythingaddress(this)
is the attacker contract, could change it to anythingReentrancy
assertGe
asserts more thingsattacker
address but noprank
, only to transfer lootasserts
as token interactions are not clear.The text was updated successfully, but these errors were encountered: