Skip to content

Commit

Permalink
feat(contracts): reduce xrecv gas usage (#477)
Browse files Browse the repository at this point in the history
Reduce XApp.xrecv gas usage by 95k.

- Trim data stored in current xmsg, to only what's needed
- And pinpong gas usage tests
- Update mock A,portal to enforce gas limits, and error when it runs out
of gas
- Refactor xtype comments.

task: none
  • Loading branch information
kevinhalliday authored Mar 1, 2024
1 parent f6e3f6a commit 1306a12
Show file tree
Hide file tree
Showing 28 changed files with 441 additions and 226 deletions.
60 changes: 32 additions & 28 deletions contracts/.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -19,31 +19,35 @@ OmniAVS_allowlist_Test:test_registerOperator_notAllowed_reverts() (gas: 46150)
OmniAVS_allowlist_Test:test_registerOperator_succeeds() (gas: 665181)
OmniAVS_allowlist_Test:test_removeFromAllowlist_notOwner_reverts() (gas: 42408)
OmniAVS_allowlist_Test:test_removeFromAllowlist_succeeds() (gas: 109421)
OmniAVS_initialize_Test:test_initialize_defaultParams_succeeds() (gas: 2813515)
OmniAVS_syncWithOmni_Test:test_depositBeaconEth_succeeds() (gas: 435921)
OmniPortal_admin_Test:test_setFeeOracle_nonOwner_reverts() (gas: 20316)
OmniPortal_admin_Test:test_setFeeOracle_succeeds() (gas: 31829)
OmniPortal_admin_Test:test_setFeeOracle_zero_reverts() (gas: 20369)
OmniPortal_exec_Test:test_exec_aheadOffset_reverts() (gas: 26102)
OmniPortal_exec_Test:test_exec_behindOffset_reverts() (gas: 174314)
OmniPortal_exec_Test:test_exec_wrongChainId_reverts() (gas: 23451)
OmniPortal_exec_Test:test_exec_xmsgRevert_succeeds() (gas: 136972)
OmniPortal_exec_Test:test_exec_xmsg_succeeds() (gas: 185744)
OmniPortal_feeFor_Test:test_feeFor_defaultGasLimit_succeeds() (gas: 33868)
OmniPortal_feeFor_Test:test_feeFor_succeeds() (gas: 32649)
OmniPortal_xcall_Test:test_xcall_defaultGasLimit_succeeds() (gas: 85112)
OmniPortal_xcall_Test:test_xcall_explicitGasLimit_succeeds() (gas: 85682)
OmniPortal_xcall_Test:test_xcall_gasLimitTooHigh_reverts() (gas: 51410)
OmniPortal_xcall_Test:test_xcall_gasLimitTooLow_reverts() (gas: 51422)
OmniPortal_xcall_Test:test_xcall_insufficientFee_reverts() (gas: 49767)
OmniPortal_xcall_Test:test_xcall_sameChain_reverts() (gas: 51328)
OmniPortal_xsubmit_Test:test_xsubmit_duplicateValidator_reverts() (gas: 13339596)
OmniPortal_xsubmit_Test:test_xsubmit_invalidAttestationRoot_reverts() (gas: 13385413)
OmniPortal_xsubmit_Test:test_xsubmit_invalidMsgs_reverts() (gas: 13372444)
OmniPortal_xsubmit_Test:test_xsubmit_noQuorum_reverts() (gas: 13346389)
OmniPortal_xsubmit_Test:test_xsubmit_wrongChainId_reverts() (gas: 13406671)
OmniPortal_xsubmit_Test:test_xsubmit_wrongStreamOffset_reverts() (gas: 13398495)
OmniPortal_xsubmit_Test:test_xsubmit_xblock1_chainB_succeeds() (gas: 13601007)
OmniPortal_xsubmit_Test:test_xsubmit_xblock1_succeeds() (gas: 13602458)
OmniPortal_xsubmit_Test:test_xsubmit_xblock2_chainB_succeeds() (gas: 13876255)
OmniPortal_xsubmit_Test:test_xsubmit_xblock2_succeeds() (gas: 13879244)
OmniAVS_initialize_Test:test_initialize_defaultParams_succeeds() (gas: 2816263)
OmniAVS_syncWithOmni_Test:test_depositBeaconEth_succeeds() (gas: 471685)
OmniPortal_admin_Test:test_setFeeOracle_nonOwner_reverts() (gas: 20322)
OmniPortal_admin_Test:test_setFeeOracle_succeeds() (gas: 31835)
OmniPortal_admin_Test:test_setFeeOracle_zero_reverts() (gas: 20375)
OmniPortal_exec_Test:test_exec_aheadOffset_reverts() (gas: 26120)
OmniPortal_exec_Test:test_exec_behindOffset_reverts() (gas: 109351)
OmniPortal_exec_Test:test_exec_wrongChainId_reverts() (gas: 23457)
OmniPortal_exec_Test:test_exec_xmsgRevert_succeeds() (gas: 65774)
OmniPortal_exec_Test:test_exec_xmsg_succeeds() (gas: 123626)
OmniPortal_feeFor_Test:test_feeFor_defaultGasLimit_succeeds() (gas: 33874)
OmniPortal_feeFor_Test:test_feeFor_succeeds() (gas: 32664)
OmniPortal_xcall_Test:test_xcall_defaultGasLimit_succeeds() (gas: 85136)
OmniPortal_xcall_Test:test_xcall_explicitGasLimit_succeeds() (gas: 85719)
OmniPortal_xcall_Test:test_xcall_gasLimitTooHigh_reverts() (gas: 51441)
OmniPortal_xcall_Test:test_xcall_gasLimitTooLow_reverts() (gas: 51453)
OmniPortal_xcall_Test:test_xcall_insufficientFee_reverts() (gas: 49798)
OmniPortal_xcall_Test:test_xcall_sameChain_reverts() (gas: 51359)
OmniPortal_xsubmit_Test:test_xsubmit_duplicateValidator_reverts() (gas: 13339687)
OmniPortal_xsubmit_Test:test_xsubmit_invalidAttestationRoot_reverts() (gas: 13384885)
OmniPortal_xsubmit_Test:test_xsubmit_invalidMsgs_reverts() (gas: 13371916)
OmniPortal_xsubmit_Test:test_xsubmit_noQuorum_reverts() (gas: 13346498)
OmniPortal_xsubmit_Test:test_xsubmit_wrongChainId_reverts() (gas: 13406161)
OmniPortal_xsubmit_Test:test_xsubmit_wrongStreamOffset_reverts() (gas: 13397997)
OmniPortal_xsubmit_Test:test_xsubmit_xblock1_chainB_succeeds() (gas: 13563996)
OmniPortal_xsubmit_Test:test_xsubmit_xblock1_succeeds() (gas: 13565447)
OmniPortal_xsubmit_Test:test_xsubmit_xblock2_chainB_succeeds() (gas: 13810154)
OmniPortal_xsubmit_Test:test_xsubmit_xblock2_succeeds() (gas: 13813143)
PingPong_Test:test_pingpong_norecv_gas() (gas: 84424)
PingPong_Test:test_pingpong_norecv_twice_gas() (gas: 109133)
PingPong_Test:test_pingpong_recv_gas() (gas: 87065)
PingPong_Test:test_pingpong_recv_twice_gas() (gas: 117652)
5 changes: 3 additions & 2 deletions contracts/bindings/avsdirectory.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions contracts/bindings/delegationmanager.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 1306a12

Please sign in to comment.