Skip to content

Commit

Permalink
feat(contracts): add granular pausing to portals (#1264)
Browse files Browse the repository at this point in the history
Allow pausing of xcall and xsubmit separately, per chain.

task: https://app.asana.com/0/1206208509925075/1207601759688879
  • Loading branch information
kevinhalliday authored Jun 20, 2024
1 parent 661a1dd commit 869aed8
Show file tree
Hide file tree
Showing 12 changed files with 2,296 additions and 442 deletions.
92 changes: 47 additions & 45 deletions contracts/.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -65,53 +65,55 @@ OmniAVS_canRegister_Test:test_canRegister_notOperator() (gas: 119994)
OmniAVS_initialize_Test:test_initialize_defaultParams_succeeds() (gas: 3591147)
OmniAVS_syncWithOmni_Test:test_depositBeaconEth_succeeds() (gas: 631916)
OmniAVS_syncWithOmni_Test:test_unsupportedStrategyDeposit_succeeds() (gas: 1532940)
OmniBridgeL1_Test:test_bridge() (gas: 218472)
OmniBridgeL1_Test:test_withdraw() (gas: 1057802)
OmniBridgeL1_Test:test_bridge() (gas: 218648)
OmniBridgeL1_Test:test_withdraw() (gas: 1057600)
OmniBridgeNative_Test:test_bridge() (gas: 140234)
OmniBridgeNative_Test:test_claim() (gas: 290143)
OmniBridgeNative_Test:test_withdraw() (gas: 290054)
OmniPortal_admin_Test:test_pause() (gas: 70100715)
OmniPortal_admin_Test:test_setFeeOracle() (gas: 34996)
OmniPortal_adversarial:test_xcallToPortal__fails() (gas: 96528)
OmniBridgeNative_Test:test_claim() (gas: 289719)
OmniBridgeNative_Test:test_withdraw() (gas: 289697)
OmniPortal_admin_Test:test_pauseAll() (gas: 70112187)
OmniPortal_admin_Test:test_pauseXCall() (gas: 278232)
OmniPortal_admin_Test:test_pauseXSubmit() (gas: 224772)
OmniPortal_admin_Test:test_setFeeOracle() (gas: 34890)
OmniPortal_adversarial:test_xcallToPortal__fails() (gas: 96484)
OmniPortal_exec_Test:test_call_notEnoughGas_reverts() (gas: 4997036)
OmniPortal_exec_Test:test_exec_aheadOffset_reverts() (gas: 26627)
OmniPortal_exec_Test:test_exec_behindOffset_reverts() (gas: 137837)
OmniPortal_exec_Test:test_exec_errorSize() (gas: 71960955)
OmniPortal_exec_Test:test_exec_wrongDestChainId_reverts() (gas: 24140)
OmniPortal_exec_Test:test_exec_xmsgRevert_succeeds() (gas: 94045)
OmniPortal_exec_Test:test_exec_xmsg_succeeds() (gas: 152024)
OmniPortal_exec_Test:test_syscall_forwardsRevert() (gas: 23093)
OmniPortal_feeFor_Test:test_feeFor_succeeds() (gas: 49628)
OmniPortal_xcall_Test:test_xcall_gasLimitTooHigh_reverts() (gas: 65414)
OmniPortal_xcall_Test:test_xcall_gasLimitTooLow_reverts() (gas: 65713)
OmniPortal_xcall_Test:test_xcall_insufficientFee_reverts() (gas: 71043)
OmniPortal_xcall_Test:test_xcall_sameChain_reverts() (gas: 61559)
OmniPortal_xcall_Test:test_xcall_succeeds() (gas: 106729)
OmniPortal_xcall_Test:test_xcall_unsupportedConf_reverts() (gas: 38247)
OmniPortal_xcall_Test:test_xcall_unsupportedDest_reverts() (gas: 33761)
OmniPortal_xsubmit_Test:test_xsubmit_addValidatorSet_succeeds() (gas: 70817666)
OmniPortal_xsubmit_Test:test_xsubmit_duplicateValidator_reverts() (gas: 69787181)
OmniPortal_xsubmit_Test:test_xsubmit_invalidAttestationRoot_reverts() (gas: 69834293)
OmniPortal_xsubmit_Test:test_xsubmit_invalidMsgs_reverts() (gas: 69821561)
OmniPortal_xsubmit_Test:test_xsubmit_noQuorum_reverts() (gas: 69793954)
OmniPortal_xsubmit_Test:test_xsubmit_noXmsgs_reverts() (gas: 69769480)
OmniPortal_xsubmit_Test:test_xsubmit_notNewValSet_succeeds() (gas: 70789550)
OmniPortal_xsubmit_Test:test_xsubmit_oldValSet_reverts() (gas: 69783377)
OmniPortal_xsubmit_Test:test_xsubmit_reentrancy_reverts() (gas: 69883149)
OmniPortal_xsubmit_Test:test_xsubmit_uknownValSetId_reverts() (gas: 69775129)
OmniPortal_xsubmit_Test:test_xsubmit_wrongDestChainId_reverts() (gas: 69822907)
OmniPortal_xsubmit_Test:test_xsubmit_wrongStreamOffset_reverts() (gas: 69825288)
OmniPortal_xsubmit_Test:test_xsubmit_xblock1_chainB_succeeds() (gas: 70033698)
OmniPortal_xsubmit_Test:test_xsubmit_xblock1_succeeds() (gas: 70034926)
OmniPortal_xsubmit_Test:test_xsubmit_xblock2_chainB_succeeds() (gas: 70743765)
OmniPortal_xsubmit_Test:test_xsubmit_xblock2_succeeds() (gas: 70746499)
OmniPortal_xsubmit_gas_Test:test_singleExec() (gas: 70365258)
OmniPortal_xsubmit_gas_Test:test_xsubmit_addValidator_succeeds() (gas: 69948808)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle10_succeeds() (gas: 71007048)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle1_succeeds() (gas: 69960539)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle25_succeeds() (gas: 72752026)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle50_succeeds() (gas: 75662515)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle5_succeeds() (gas: 70425590)
OmniPortal_exec_Test:test_exec_aheadOffset_reverts() (gas: 26583)
OmniPortal_exec_Test:test_exec_behindOffset_reverts() (gas: 137816)
OmniPortal_exec_Test:test_exec_errorSize() (gas: 71960824)
OmniPortal_exec_Test:test_exec_wrongDestChainId_reverts() (gas: 24096)
OmniPortal_exec_Test:test_exec_xmsgRevert_succeeds() (gas: 94046)
OmniPortal_exec_Test:test_exec_xmsg_succeeds() (gas: 152092)
OmniPortal_exec_Test:test_syscall_forwardsRevert() (gas: 23028)
OmniPortal_feeFor_Test:test_feeFor_succeeds() (gas: 49540)
OmniPortal_xcall_Test:test_xcall_gasLimitTooHigh_reverts() (gas: 70138)
OmniPortal_xcall_Test:test_xcall_gasLimitTooLow_reverts() (gas: 70326)
OmniPortal_xcall_Test:test_xcall_insufficientFee_reverts() (gas: 75722)
OmniPortal_xcall_Test:test_xcall_sameChain_reverts() (gas: 66238)
OmniPortal_xcall_Test:test_xcall_succeeds() (gas: 111412)
OmniPortal_xcall_Test:test_xcall_unsupportedConf_reverts() (gas: 42992)
OmniPortal_xcall_Test:test_xcall_unsupportedDest_reverts() (gas: 38506)
OmniPortal_xsubmit_Test:test_xsubmit_addValidatorSet_succeeds() (gas: 70826129)
OmniPortal_xsubmit_Test:test_xsubmit_duplicateValidator_reverts() (gas: 69792193)
OmniPortal_xsubmit_Test:test_xsubmit_invalidAttestationRoot_reverts() (gas: 69839353)
OmniPortal_xsubmit_Test:test_xsubmit_invalidMsgs_reverts() (gas: 69826621)
OmniPortal_xsubmit_Test:test_xsubmit_noQuorum_reverts() (gas: 69798965)
OmniPortal_xsubmit_Test:test_xsubmit_noXmsgs_reverts() (gas: 69774496)
OmniPortal_xsubmit_Test:test_xsubmit_notNewValSet_succeeds() (gas: 70797987)
OmniPortal_xsubmit_Test:test_xsubmit_oldValSet_reverts() (gas: 69788459)
OmniPortal_xsubmit_Test:test_xsubmit_reentrancy_reverts() (gas: 69891174)
OmniPortal_xsubmit_Test:test_xsubmit_uknownValSetId_reverts() (gas: 69780145)
OmniPortal_xsubmit_Test:test_xsubmit_wrongDestChainId_reverts() (gas: 69827967)
OmniPortal_xsubmit_Test:test_xsubmit_wrongStreamOffset_reverts() (gas: 69830348)
OmniPortal_xsubmit_Test:test_xsubmit_xblock1_chainB_succeeds() (gas: 70039125)
OmniPortal_xsubmit_Test:test_xsubmit_xblock1_succeeds() (gas: 70040353)
OmniPortal_xsubmit_Test:test_xsubmit_xblock2_chainB_succeeds() (gas: 70750540)
OmniPortal_xsubmit_Test:test_xsubmit_xblock2_succeeds() (gas: 70753263)
OmniPortal_xsubmit_gas_Test:test_singleExec() (gas: 70365038)
OmniPortal_xsubmit_gas_Test:test_xsubmit_addValidator_succeeds() (gas: 69953908)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle10_succeeds() (gas: 71012198)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle1_succeeds() (gas: 69965652)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle25_succeeds() (gas: 72757247)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle50_succeeds() (gas: 75667944)
OmniPortal_xsubmit_gas_Test:test_xsubmit_guzzle5_succeeds() (gas: 70430716)
Omni_Test:test_constructor() (gas: 1006927)
PortalRegistry_Test:test_register() (gas: 798740)
Quorum_Test:test_verify_allInvalidSigs_reverts() (gas: 281140)
Expand Down
16 changes: 8 additions & 8 deletions contracts/bindings/omnibridgenative_storage_layout.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"type": "t_bool"
},
{
"astId": 993,
"astId": 865,
"contract": "src/token/OmniBridgeNative.sol:OmniBridgeNative",
"label": "__gap",
"offset": 0,
Expand All @@ -41,39 +41,39 @@
"type": "t_array(t_uint256)49_storage"
},
{
"astId": 52347,
"astId": 52041,
"contract": "src/token/OmniBridgeNative.sol:OmniBridgeNative",
"label": "l1ChainId",
"offset": 0,
"slot": "101",
"type": "t_uint64"
},
{
"astId": 52351,
"astId": 52045,
"contract": "src/token/OmniBridgeNative.sol:OmniBridgeNative",
"label": "omni",
"offset": 8,
"slot": "101",
"type": "t_contract(IOmniPortal)51182"
"type": "t_contract(IOmniPortal)51054"
},
{
"astId": 52354,
"astId": 52048,
"contract": "src/token/OmniBridgeNative.sol:OmniBridgeNative",
"label": "l1BridgeBalance",
"offset": 0,
"slot": "102",
"type": "t_uint256"
},
{
"astId": 52357,
"astId": 52051,
"contract": "src/token/OmniBridgeNative.sol:OmniBridgeNative",
"label": "l1Bridge",
"offset": 0,
"slot": "103",
"type": "t_address"
},
{
"astId": 52362,
"astId": 52056,
"contract": "src/token/OmniBridgeNative.sol:OmniBridgeNative",
"label": "claimable",
"offset": 0,
Expand Down Expand Up @@ -104,7 +104,7 @@
"label": "bool",
"numberOfBytes": "1"
},
"t_contract(IOmniPortal)51182": {
"t_contract(IOmniPortal)51054": {
"encoding": "inplace",
"label": "contract IOmniPortal",
"numberOfBytes": "20"
Expand Down
Loading

0 comments on commit 869aed8

Please sign in to comment.