Skip to content

Instantly share code, notes, and snippets.

@apbendi
Created August 29, 2022 18:44
Show Gist options
  • Select an option

  • Save apbendi/e44f122e3fe28c89fc2015f5e430cbd5 to your computer and use it in GitHub Desktop.

Select an option

Save apbendi/e44f122e3fe28c89fc2015f5e430cbd5 to your computer and use it in GitHub Desktop.
Compiling 27 files with 0.8.15
Solc 0.8.15 finished in 4.95s
Compiler run successful (with warnings)
warning[2072]: Warning: Unused local variable.
--> test/UmbraBatchSend.t.sol:162:5:
|
162 | uint256 totalToll = toll * sendEth.length + toll * sendToken.length;
| ^^^^^^^^^^^^^^^^^
Running 6 tests for test/gas/UniswapWithdrawHook.fork.1.gas.t.sol:UniswapWithdrawHookGasTest
[PASS] testFuzz_HookTest_withdrawTokenAndCall(uint256,uint256,uint256,uint256) (runs: 256, μ: 2951702, ~: 2937143)
[PASS] testFuzz_HookTest_withdrawTokenAndCallOnBehalf(uint256,uint256,uint256,uint256) (runs: 256, μ: 3074605, ~: 3061131)
[PASS] test_SwapAllForEth_withdrawTokenAndCall() (gas: 399175)
Logs:
Bound Result: 10000000100000000000
Bound Result: 10000000001000000000
Bound Result: 2
Bound Result: 1
[PASS] test_SwapAllForEth_withdrawTokenAndCallOnBehalf() (gas: 420643)
Logs:
Bound Result: 10000000100000000000
Bound Result: 10000000001000000000
Bound Result: 2
Bound Result: 2
[PASS] test_SwapHalfForEth_withdrawTokenAndCall() (gas: 399107)
Logs:
Bound Result: 10000000100000000000
Bound Result: 5000000001000000000
Bound Result: 2
Bound Result: 1
[PASS] test_SwapHalfForEth_withdrawTokenAndCallOnBehalf() (gas: 420665)
Logs:
Bound Result: 10000000100000000000
Bound Result: 5000000001000000000
Bound Result: 2
Bound Result: 2
Test result: ok. 6 passed; 0 failed; finished in 11.70s
Running 37 tests for test/gas/UmbraBatchSend.gas.t.sol:BatchSendWithoutTollAndWithTokenBalanceGasTest
[PASS] testPostSetupState() (gas: 11857)
[PASS] test_BatchSendEth_MaxBalance_To100Addrs() (gas: 15898270)
[PASS] test_BatchSendEth_MaxBalance_To10Addrs() (gas: 1650142)
[PASS] test_BatchSendEth_MaxBalance_To1Addr() (gas: 225508)
[PASS] test_BatchSendEth_MaxBalance_To25Addrs() (gas: 4024600)
[PASS] test_BatchSendEth_MaxBalance_To2Addrs() (gas: 383799)
[PASS] test_BatchSendEth_MaxBalance_To5Addrs() (gas: 858719)
[PASS] test_BatchSendEth_To100Addrs() (gas: 15895780)
[PASS] test_BatchSendEth_To10Addrs() (gas: 1647739)
[PASS] test_BatchSendEth_To1Addr() (gas: 223087)
[PASS] test_BatchSendEth_To25Addrs() (gas: 4022197)
[PASS] test_BatchSendEth_To2Addrs() (gas: 381376)
[PASS] test_BatchSendEth_To5Addrs() (gas: 856208)
[PASS] test_BatchSendTokens_MaxBalance_To100Addrs() (gas: 16892932)
[PASS] test_BatchSendTokens_MaxBalance_To10Addrs() (gas: 1825728)
[PASS] test_BatchSendTokens_MaxBalance_To1Addr() (gas: 319301)
[PASS] test_BatchSendTokens_MaxBalance_To25Addrs() (gas: 4336616)
[PASS] test_BatchSendTokens_MaxBalance_To2Addrs() (gas: 486639)
[PASS] test_BatchSendTokens_MaxBalance_To5Addrs() (gas: 988772)
[PASS] test_BatchSendTokens_To100Addrs() (gas: 16895448)
[PASS] test_BatchSendTokens_To10Addrs() (gas: 1828205)
[PASS] test_BatchSendTokens_To1Addr() (gas: 321754)
[PASS] test_BatchSendTokens_To25Addrs() (gas: 4339071)
[PASS] test_BatchSendTokens_To2Addrs() (gas: 489071)
[PASS] test_BatchSendTokens_To5Addrs() (gas: 991226)
[PASS] test_BatchSend_MaxBalance_To100Addrs() (gas: 30473518)
[PASS] test_BatchSend_MaxBalance_To10Addrs() (gas: 3213177)
[PASS] test_BatchSend_MaxBalance_To1Addr() (gas: 487790)
[PASS] test_BatchSend_MaxBalance_To25Addrs() (gas: 7755672)
[PASS] test_BatchSend_MaxBalance_To2Addrs() (gas: 790645)
[PASS] test_BatchSend_MaxBalance_To5Addrs() (gas: 1699060)
[PASS] test_BatchSend_To100Addrs() (gas: 30473544)
[PASS] test_BatchSend_To10Addrs() (gas: 3213181)
[PASS] test_BatchSend_To1Addr() (gas: 30473590)
[PASS] test_BatchSend_To25Addrs() (gas: 7755699)
[PASS] test_BatchSend_To2Addrs() (gas: 790692)
[PASS] test_BatchSend_To5Addrs() (gas: 1699087)
Test result: ok. 37 passed; 0 failed; finished in 37.66s
Running 37 tests for test/gas/UmbraBatchSend.gas.t.sol:BatchSendWithTollGasTest
[PASS] testPostSetupState() (gas: 11857)
[PASS] test_BatchSendEth_MaxBalance_To100Addrs() (gas: 15898270)
[PASS] test_BatchSendEth_MaxBalance_To10Addrs() (gas: 1650142)
[PASS] test_BatchSendEth_MaxBalance_To1Addr() (gas: 225508)
[PASS] test_BatchSendEth_MaxBalance_To25Addrs() (gas: 4024600)
[PASS] test_BatchSendEth_MaxBalance_To2Addrs() (gas: 383799)
[PASS] test_BatchSendEth_MaxBalance_To5Addrs() (gas: 858719)
[PASS] test_BatchSendEth_To100Addrs() (gas: 15895780)
[PASS] test_BatchSendEth_To10Addrs() (gas: 1647739)
[PASS] test_BatchSendEth_To1Addr() (gas: 223087)
[PASS] test_BatchSendEth_To25Addrs() (gas: 4022197)
[PASS] test_BatchSendEth_To2Addrs() (gas: 381376)
[PASS] test_BatchSendEth_To5Addrs() (gas: 856208)
[PASS] test_BatchSendTokens_MaxBalance_To100Addrs() (gas: 17586732)
[PASS] test_BatchSendTokens_MaxBalance_To10Addrs() (gas: 1916528)
[PASS] test_BatchSendTokens_MaxBalance_To1Addr() (gas: 349801)
[PASS] test_BatchSendTokens_MaxBalance_To25Addrs() (gas: 4527916)
[PASS] test_BatchSendTokens_MaxBalance_To2Addrs() (gas: 523839)
[PASS] test_BatchSendTokens_MaxBalance_To5Addrs() (gas: 1046072)
[PASS] test_BatchSendTokens_To100Addrs() (gas: 17589248)
[PASS] test_BatchSendTokens_To10Addrs() (gas: 1919005)
[PASS] test_BatchSendTokens_To1Addr() (gas: 352254)
[PASS] test_BatchSendTokens_To25Addrs() (gas: 4530371)
[PASS] test_BatchSendTokens_To2Addrs() (gas: 526271)
[PASS] test_BatchSendTokens_To5Addrs() (gas: 1048526)
[PASS] test_BatchSend_MaxBalance_To100Addrs() (gas: 31160618)
[PASS] test_BatchSend_MaxBalance_To10Addrs() (gas: 3297277)
[PASS] test_BatchSend_MaxBalance_To1Addr() (gas: 511590)
[PASS] test_BatchSend_MaxBalance_To25Addrs() (gas: 7940272)
[PASS] test_BatchSend_MaxBalance_To2Addrs() (gas: 821145)
[PASS] test_BatchSend_MaxBalance_To5Addrs() (gas: 1749660)
[PASS] test_BatchSend_To100Addrs() (gas: 31160644)
[PASS] test_BatchSend_To10Addrs() (gas: 3297281)
[PASS] test_BatchSend_To1Addr() (gas: 31160690)
[PASS] test_BatchSend_To25Addrs() (gas: 7940299)
[PASS] test_BatchSend_To2Addrs() (gas: 821192)
[PASS] test_BatchSend_To5Addrs() (gas: 1749687)
Test result: ok. 37 passed; 0 failed; finished in 37.65s
Running 37 tests for test/gas/UmbraBatchSend.gas.t.sol:BatchSendWithTollAndWithTokenBalanceGasTest
[PASS] testPostSetupState() (gas: 11857)
[PASS] test_BatchSendEth_MaxBalance_To100Addrs() (gas: 15898270)
[PASS] test_BatchSendEth_MaxBalance_To10Addrs() (gas: 1650142)
[PASS] test_BatchSendEth_MaxBalance_To1Addr() (gas: 225508)
[PASS] test_BatchSendEth_MaxBalance_To25Addrs() (gas: 4024600)
[PASS] test_BatchSendEth_MaxBalance_To2Addrs() (gas: 383799)
[PASS] test_BatchSendEth_MaxBalance_To5Addrs() (gas: 858719)
[PASS] test_BatchSendEth_To100Addrs() (gas: 15895780)
[PASS] test_BatchSendEth_To10Addrs() (gas: 1647739)
[PASS] test_BatchSendEth_To1Addr() (gas: 223087)
[PASS] test_BatchSendEth_To25Addrs() (gas: 4022197)
[PASS] test_BatchSendEth_To2Addrs() (gas: 381376)
[PASS] test_BatchSendEth_To5Addrs() (gas: 856208)
[PASS] test_BatchSendTokens_MaxBalance_To100Addrs() (gas: 17569632)
[PASS] test_BatchSendTokens_MaxBalance_To10Addrs() (gas: 1899428)
[PASS] test_BatchSendTokens_MaxBalance_To1Addr() (gas: 332701)
[PASS] test_BatchSendTokens_MaxBalance_To25Addrs() (gas: 4510816)
[PASS] test_BatchSendTokens_MaxBalance_To2Addrs() (gas: 506739)
[PASS] test_BatchSendTokens_MaxBalance_To5Addrs() (gas: 1028972)
[PASS] test_BatchSendTokens_To100Addrs() (gas: 17572148)
[PASS] test_BatchSendTokens_To10Addrs() (gas: 1901905)
[PASS] test_BatchSendTokens_To1Addr() (gas: 335154)
[PASS] test_BatchSendTokens_To25Addrs() (gas: 4513271)
[PASS] test_BatchSendTokens_To2Addrs() (gas: 509171)
[PASS] test_BatchSendTokens_To5Addrs() (gas: 1031426)
[PASS] test_BatchSend_MaxBalance_To100Addrs() (gas: 31143518)
[PASS] test_BatchSend_MaxBalance_To10Addrs() (gas: 3280177)
[PASS] test_BatchSend_MaxBalance_To1Addr() (gas: 494490)
[PASS] test_BatchSend_MaxBalance_To25Addrs() (gas: 7923172)
[PASS] test_BatchSend_MaxBalance_To2Addrs() (gas: 804045)
[PASS] test_BatchSend_MaxBalance_To5Addrs() (gas: 1732560)
[PASS] test_BatchSend_To100Addrs() (gas: 31143544)
[PASS] test_BatchSend_To10Addrs() (gas: 3280181)
[PASS] test_BatchSend_To1Addr() (gas: 31143590)
[PASS] test_BatchSend_To25Addrs() (gas: 7923199)
[PASS] test_BatchSend_To2Addrs() (gas: 804092)
[PASS] test_BatchSend_To5Addrs() (gas: 1732587)
Test result: ok. 37 passed; 0 failed; finished in 37.65s
Running 37 tests for test/gas/UmbraBatchSend.gas.t.sol:BatchSendWithoutTollGasTest
[PASS] testPostSetupState() (gas: 11857)
[PASS] test_BatchSendEth_MaxBalance_To100Addrs() (gas: 15898270)
[PASS] test_BatchSendEth_MaxBalance_To10Addrs() (gas: 1650142)
[PASS] test_BatchSendEth_MaxBalance_To1Addr() (gas: 225508)
[PASS] test_BatchSendEth_MaxBalance_To25Addrs() (gas: 4024600)
[PASS] test_BatchSendEth_MaxBalance_To2Addrs() (gas: 383799)
[PASS] test_BatchSendEth_MaxBalance_To5Addrs() (gas: 858719)
[PASS] test_BatchSendEth_To100Addrs() (gas: 15895780)
[PASS] test_BatchSendEth_To10Addrs() (gas: 1647739)
[PASS] test_BatchSendEth_To1Addr() (gas: 223087)
[PASS] test_BatchSendEth_To25Addrs() (gas: 4022197)
[PASS] test_BatchSendEth_To2Addrs() (gas: 381376)
[PASS] test_BatchSendEth_To5Addrs() (gas: 856208)
[PASS] test_BatchSendTokens_MaxBalance_To100Addrs() (gas: 16910032)
[PASS] test_BatchSendTokens_MaxBalance_To10Addrs() (gas: 1842828)
[PASS] test_BatchSendTokens_MaxBalance_To1Addr() (gas: 336401)
[PASS] test_BatchSendTokens_MaxBalance_To25Addrs() (gas: 4353716)
[PASS] test_BatchSendTokens_MaxBalance_To2Addrs() (gas: 503739)
[PASS] test_BatchSendTokens_MaxBalance_To5Addrs() (gas: 1005872)
[PASS] test_BatchSendTokens_To100Addrs() (gas: 16912548)
[PASS] test_BatchSendTokens_To10Addrs() (gas: 1845305)
[PASS] test_BatchSendTokens_To1Addr() (gas: 338854)
[PASS] test_BatchSendTokens_To25Addrs() (gas: 4356171)
[PASS] test_BatchSendTokens_To2Addrs() (gas: 506171)
[PASS] test_BatchSendTokens_To5Addrs() (gas: 1008326)
[PASS] test_BatchSend_MaxBalance_To100Addrs() (gas: 30490618)
[PASS] test_BatchSend_MaxBalance_To10Addrs() (gas: 3230277)
[PASS] test_BatchSend_MaxBalance_To1Addr() (gas: 504890)
[PASS] test_BatchSend_MaxBalance_To25Addrs() (gas: 7772772)
[PASS] test_BatchSend_MaxBalance_To2Addrs() (gas: 807745)
[PASS] test_BatchSend_MaxBalance_To5Addrs() (gas: 1716160)
[PASS] test_BatchSend_To100Addrs() (gas: 30490644)
[PASS] test_BatchSend_To10Addrs() (gas: 3230281)
[PASS] test_BatchSend_To1Addr() (gas: 30490690)
[PASS] test_BatchSend_To25Addrs() (gas: 7772799)
[PASS] test_BatchSend_To2Addrs() (gas: 807792)
[PASS] test_BatchSend_To5Addrs() (gas: 1716187)
Test result: ok. 37 passed; 0 failed; finished in 37.65s
╭─────────────────┬─────────────────┬───────┬────────┬───────┬─────────╮
│ Dai contract ┆ ┆ ┆ ┆ ┆ │
╞═════════════════╪═════════════════╪═══════╪════════╪═══════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 0 ┆ 0 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ allowance ┆ 2677 ┆ 2677 ┆ 2677 ┆ 2677 ┆ 6 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ approve ┆ 22414 ┆ 22834 ┆ 22414 ┆ 24514 ┆ 30 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ balanceOf ┆ 602 ┆ 824 ┆ 602 ┆ 2602 ┆ 162 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ transfer ┆ 2780 ┆ 17462 ┆ 20300 ┆ 25374 ┆ 60 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ transferFrom ┆ 3818 ┆ 13059 ┆ 14179 ┆ 25180 ┆ 48 │
╰─────────────────┴─────────────────┴───────┴────────┴───────┴─────────╯
╭───────────────────────┬─────────────────┬───────┬────────┬───────┬─────────╮
│ Quoter contract ┆ ┆ ┆ ┆ ┆ │
╞═══════════════════════╪═════════════════╪═══════╪════════╪═══════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 0 ┆ 0 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ quoteExactInput ┆ 46678 ┆ 53028 ┆ 46678 ┆ 72078 ┆ 24 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ uniswapV3SwapCallback ┆ 2313 ┆ 2313 ┆ 2313 ┆ 2313 ┆ 24 │
╰───────────────────────┴─────────────────┴───────┴────────┴───────┴─────────╯
╭───────────────────────┬─────────────────┬────────┬────────┬────────┬─────────╮
│ SwapRouter02 contract ┆ ┆ ┆ ┆ ┆ │
╞═══════════════════════╪═════════════════╪════════╪════════╪════════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 0 ┆ 0 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ exactInput ┆ 56847 ┆ 64272 ┆ 56847 ┆ 86547 ┆ 24 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ fallback ┆ 83 ┆ 83 ┆ 83 ┆ 83 ┆ 24 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ multicall ┆ 120710 ┆ 128135 ┆ 120710 ┆ 150410 ┆ 24 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ uniswapV3SwapCallback ┆ 7895 ┆ 9095 ┆ 7895 ┆ 12695 ┆ 24 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ unwrapWETH9WithFee ┆ 64579 ┆ 64579 ┆ 64579 ┆ 64579 ┆ 24 │
╰───────────────────────┴─────────────────┴────────┴────────┴────────┴─────────╯
╭──────────────────────────────┬─────────────────┬────────┬────────┬────────┬─────────╮
│ Umbra contract ┆ ┆ ┆ ┆ ┆ │
╞══════════════════════════════╪═════════════════╪════════╪════════╪════════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 0 ┆ 0 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ sendEth ┆ 37476 ┆ 37547 ┆ 37476 ┆ 39476 ┆ 2684 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ sendToken ┆ 24180 ┆ 30676 ┆ 30224 ┆ 56124 ┆ 2708 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ toll ┆ 321 ┆ 1334 ┆ 2321 ┆ 2321 ┆ 300 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ withdrawTokenAndCall ┆ 166153 ┆ 173493 ┆ 166153 ┆ 195513 ┆ 12 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ withdrawTokenAndCallOnBehalf ┆ 174962 ┆ 183262 ┆ 174962 ┆ 208162 ┆ 12 │
╰──────────────────────────────┴─────────────────┴────────┴────────┴────────┴─────────╯
╭────────────────────────┬─────────────────┬───────┬────────┬───────┬─────────╮
│ UniswapV3Pool contract ┆ ┆ ┆ ┆ ┆ │
╞════════════════════════╪═════════════════╪═══════╪════════╪═══════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 0 ┆ 0 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ swap ┆ 42922 ┆ 53756 ┆ 51441 ┆ 81141 ┆ 48 │
╰────────────────────────┴─────────────────┴───────┴────────┴───────┴─────────╯
╭─────────────────┬─────────────────┬───────┬────────┬───────┬─────────╮
│ WETH9 contract ┆ ┆ ┆ ┆ ┆ │
╞═════════════════╪═════════════════╪═══════╪════════╪═══════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 0 ┆ 0 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ balanceOf ┆ 534 ┆ 534 ┆ 534 ┆ 534 ┆ 24 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ transfer ┆ 23162 ┆ 25612 ┆ 25162 ┆ 29962 ┆ 48 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ withdraw ┆ 7379 ┆ 7379 ┆ 7379 ┆ 7379 ┆ 24 │
╰─────────────────┴─────────────────┴───────┴────────┴───────┴─────────╯
╭───────────────────────────────────────────────────────────────────┬─────────────────┬───────┬────────┬───────┬─────────╮
│ lib/solmate/src/test/utils/mocks/MockERC20.sol:MockERC20 contract ┆ ┆ ┆ ┆ ┆ │
╞═══════════════════════════════════════════════════════════════════╪═════════════════╪═══════╪════════╪═══════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 652040 ┆ 4383 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ allowance ┆ 2781 ┆ 2781 ┆ 2781 ┆ 2781 ┆ 148 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ approve ┆ 22445 ┆ 23495 ┆ 23495 ┆ 24545 ┆ 296 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ balanceOf ┆ 542 ┆ 542 ┆ 542 ┆ 542 ┆ 148 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ mint ┆ 24791 ┆ 42448 ┆ 46691 ┆ 46691 ┆ 382 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ transferFrom ┆ 2699 ┆ 4774 ┆ 3373 ┆ 32073 ┆ 2780 │
╰───────────────────────────────────────────────────────────────────┴─────────────────┴───────┴────────┴───────┴─────────╯
╭────────────────────────────────────────────────┬─────────────────┬─────────┬────────┬─────────┬─────────╮
│ src/UmbraBatchSend.sol:UmbraBatchSend contract ┆ ┆ ┆ ┆ ┆ │
╞════════════════════════════════════════════════╪═════════════════╪═════════╪════════╪═════════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 880871 ┆ 4554 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ approveToken ┆ 27748 ┆ 27748 ┆ 27748 ┆ 27748 ┆ 148 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ batchSend ┆ 121844 ┆ 2637844 ┆ 850168 ┆ 8477748 ┆ 48 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ batchSendEth ┆ 51742 ┆ 1088443 ┆ 346861 ┆ 4546639 ┆ 48 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ batchSendTokens ┆ 84100 ┆ 890580 ┆ 297225 ┆ 3935670 ┆ 48 │
╰────────────────────────────────────────────────┴─────────────────┴─────────┴────────┴─────────┴─────────╯
╭──────────────────────────────────────────────────────────┬─────────────────┬────────┬────────┬────────┬─────────╮
│ src/UniswapWithdrawHook.sol:UniswapWithdrawHook contract ┆ ┆ ┆ ┆ ┆ │
╞══════════════════════════════════════════════════════════╪═════════════════╪════════╪════════╪════════╪═════════╡
│ Deployment Cost ┆ Deployment Size ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 638011 ┆ 3333 ┆ ┆ ┆ ┆ │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ Function Name ┆ min ┆ avg ┆ median ┆ max ┆ # calls │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ approveToken ┆ 30143 ┆ 30143 ┆ 30143 ┆ 30143 ┆ 6 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ tokensWithdrawn ┆ 141574 ┆ 148522 ┆ 141574 ┆ 169367 ┆ 24 │
╰──────────────────────────────────────────────────────────┴─────────────────┴────────┴────────┴────────┴─────────╯
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment