Skip to content

Berlin vs. Istanbul gas cost changes #67

@cgewecke

Description

@cgewecke

A gas reporter diff showing Berlin (hardhat@2.2.0-rc.2) gas cost increases/decreases vs. Istanbul (hardhat@2.0.6)

Deployments

Gas Diff Diff % Block % usd avg
AaveGovernanceAdapter 407,847 0 0% 3.3 % 73.14
AaveGovernanceV2Adapter 745,996 0 0% 6 % 133.79
AaveLendingPoolCoreMock 135,139 0 0% 1.1 % 24.24
AaveLendingPoolMock 109,072 failed +1,300 +1% 0.9 % 19.56
AaveMigrationWrapAdapter 293,209 failed +10 0% 2.4 % 52.59
AaveWrapAdapter 352,593 failed +3,500 +1% 2.8 % 63.24
AddressArrayUtilsMock 614,996 0 0% 4.9 % 110.30
AirdropModule 2,141,317 failed +3,400 0% 17.2 % 384.03
AmmAdapterMock 1,558,955 failed +7,800 +1% 12.5 % 279.59
AmmModule 2,499,186 failed +3,400 0% 20.1 % 448.21
AssetLimitHook 934,582 failed +10,400 +1% 7.5 % 167.61
BalancerV1ExchangeAdapter 364,538 0 0% 2.9 % 65.38
BasicIssuanceModule 1,600,553 failed +3,406 0% 12.9 % 287.05
ClaimAdapterMock 853,556 failed +3,900 0% 6.9 % 153.08
ClaimModule 2,031,250 failed +1,300 0% 16.3 % 364.29
Compound 1,491,687 0 0% 12 % 267.52
CompoundBravoGovernanceAdapter 678,516 0 0% 5.4 % 121.69
CompoundLeverageModule 5,511,240 failed +24,788 0% 44.3 % 988.40
CompoundLikeGovernanceAdapter 677,247 passed -8 0% 5.4 % 121.46
CompoundMock 859,563 0 0% 6.9 % 154.16
CompoundPriceOracleMock 126,049 0 0% 1 % 22.61
CompoundWrapAdapter 336,982 failed +24 0% 2.7 % 60.44
ContractCallerMock 287,157 0 0% 2.3 % 51.50
Controller 2,359,150 failed +2,600 0% 18.9 % 423.10
CTokenOracle 394,346 failed +1,312 0% 3.2 % 70.72
CurveStakingAdapter 266,218 0 0% 2.1 % 47.74
CustomOracleNavIssuanceModule 4,458,635 failed +3,412 0% 35.8 % 799.63
CustomSetValuerMock 131,863 0 0% 1.1 % 23.65
DebtIssuanceMock 162,499 0 0% 1.3 % 29.14
DebtIssuanceModule 3,209,097 failed +3,400 0% 25.8 % 575.53
DebtModuleMock 1,134,426 failed +2,600 0% 9.1 % 203.45
ExplicitERC20Mock 417,546 0 0% 3.4 % 74.88
GaugeControllerMock 142,333 0 0% 1.1 % 25.53
GeneralIndexModule 4,404,099 failed +4,700 0% 35.4 % 789.84
GodModeMock 276,333 failed +1,300 0% 2.2 % 49.56
GovernanceAdapterMock 410,829 failed +1,300 0% 3.3 % 73.68
GovernanceModule 1,278,191 failed +3,398 0% 10.3 % 229.23
IntegrationRegistry 993,326 failed +2,600 0% 8 % 178.15
InvokeMock 610,129 0 0% 4.9 % 109.42
IssuanceModule 1,784,058 failed +3,400 0% 14.3 % 319.96
KyberExchangeAdapter 469,504 failed +1,300 0% 3.8 % 84.20
KyberNetworkProxyMock 678,297 failed +2,600 0% 5.4 % 121.65
ManagerIssuanceHookMock 143,371 0 0% 1.2 % 25.71
ModuleBaseMock 1,389,252 failed +1,309 0% 11.2 % 249.15
ModuleIssuanceHookMock 917,198 0 0% 7.4 % 164.49
NAVIssuanceCaller 242,417 failed +1,312 +1% 1.9 % 43.48
NAVIssuanceHookMock 193,057 0 0% 1.6 % 34.62
NavIssuanceModule 4,431,016 failed +3,391 0% 35.6 % 794.67
OneInchExchangeAdapter 390,352 failed +2,595 +1% 3.1 % 70.01
OneInchExchangeMock 431,789 failed +6,790 +2% 3.5 % 77.44
OracleAdapterMock 171,628 failed +3,400 +2% 1.4 % 30.78
OracleMock 118,287 failed +2,100 +2% 1 % 21.21
PositionMock 1,324,675 0 0% 10.6 % 237.57
PreciseUnitMathMock 592,057 0 0% 4.8 % 106.18
PriceOracle 1,504,261 failed +9,335 +1% 12.1 % 269.78
ProtocolViewer 1,365,005 0 0% 11 % 244.80
ResourceIdentifierMock 175,831 0 0% 1.4 % 31.53
SetToken 3,364,810 failed +17,453 +1% 27 % 603.46
SetTokenCreator 4,049,511 failed +1,300 0% 32.5 % 726.25
SetValuer 630,483 failed +1,300 0% 5.1 % 113.07
SingleIndexModule 3,683,558 failed +8,624 0% 29.6 % 660.62
SnapshotGovernanceAdapter 293,370 failed +1,301 0% 2.4 % 52.61
StakingAdapterMock 511,077 failed +3,400 +1% 4.1 % 91.66
StakingModule 2,788,295 failed +1,300 0% 22.4 % 500.06
StandardTokenMock 742,902 failed +5,100 +1% 6 % 133.23
StandardTokenWithFeeMock 788,454 failed +8,783 +1% 6.3 % 141.40
StreamingFeeModule 1,268,166 failed +3,400 0% 10.2 % 227.44
SynthetixExchangeAdapter 412,359 0 0% 3.3 % 73.95
SynthetixExchangerMock 427,334 failed +16,500 +4% 3.4 % 76.64
SynthMock 771,175 failed +7,200 +1% 6.2 % 138.30
TradeAdapterMock 470,384 0 0% 3.8 % 84.36
TradeModule 1,773,515 failed +3,400 0% 14.2 % 318.07
Uint256ArrayUtilsMock 203,635 0 0% 1.6 % 36.52
UniswapPairPriceAdapter 1,800,887 failed +32,500 +2% 14.5 % 322.98
UniswapV2ExchangeAdapter 334,610 0 0% 2.7 % 60.01
UniswapV2ExchangeAdapterV2 512,747 0 0% 4.1 % 91.96
UniswapYieldHook 933,469 failed +9,417 +1% 7.5 % 167.41
UniswapYieldStrategy 3,264,956 failed +25,288 +1% 26.2 % 585.55
WrapAdapterMock 1,119,027 failed +3,900 0% 9 % 200.69
WrapModule 1,944,457 failed +4,700 0% 15.6 % 348.72
ZeroExApiAdapter 799,129 0 0% 6.4 % 143.32
ZeroExMock 720,946 failed +5,867 +1% 5.8 % 129.30

Methods

Gas Diff Diff % Calls usd avg
AaveLendingPoolCoreMock
       setReserveATokenAddress 44,263 failed +1,300 +3% 3 7.94
AddressArrayUtilsMock
       setStorageArray 112,637 failed +5,200 +5% 3 20.20
       testRemoveStorage 24,320 passed -4,250 -15% 2 4.36
AirdropModule
       absorb 193,749 failed +6,418 +3% 12 34.75
       addAirdrop 71,613 failed +9,000 +14% 1 12.84
       batchAbsorb 271,938 passed -33,867 -11% 24 48.77
       initialize 209,861 failed +13,729 +7% 61 37.64
       removeAirdrop 42,383 0 0% 1 7.60
       updateAirdropFee 239,748 passed -17,500 -7% 2 43.00
       updateAnyoneAbsorb 28,638 failed +5,800 +25% 1 5.14
       updateFeeRecipient 44,182 failed +5,800 +15% 1 7.92
AmmAdapterMock
       approve 46,506 failed +2,100 +5% 25 8.34
       mintTo 68,451 failed +2,600 +4% 25 12.28
       setMintLessThanMinimum 43,414 failed +1,300 +3% 4 7.79
AmmModule
       addLiquidity 291,846 passed -78,012 -21% 4 52.34
       addLiquiditySingleAsset 244,262 passed -47,612 -16% 4 43.81
       initialize 74,593 failed +3,915 +6% 29 13.38
       removeLiquidity 255,403 passed -59,100 -19% 4 45.80
       removeLiquiditySingleAsset 155,640 passed -39,900 -20% 4 27.91
AssetLimitHook
       addAssetLimit 73,667 failed +3,112 +4% 2 13.21
       editAssetLimit 29,381 failed +500 +2% 1 5.27
       removeAssetLimit 23,241 passed -1,700 -7% 2 4.17
BasicIssuanceModule
       initialize 82,627 failed +5,153 +7% 284 14.82
       issue 245,577 failed +2,390 +1% 355 44.04
       redeem 205,293 passed -20,233 -9% 18 36.82
ClaimAdapterMock
       mint 144,186 failed +5,517 +4% 18 25.86
       setRewards 43,641 failed +2,100 +5% 46 7.83
ClaimModule
       addClaim 113,654 failed +10,051 +10% 21 20.38
       batchAddClaim 202,033 failed +5,861 +3% 9 36.23
       batchClaim 211,528 failed +14,133 +7% 15 37.94
       batchRemoveClaim 52,330 passed -9,200 -15% 2 9.39
       claim 130,278 failed +17,935 +16% 9 23.36
       initialize 235,141 failed +12,397 +6% 68 42.17
       removeClaim 45,401 failed +1,624 +4% 4 8.14
       updateAnyoneClaim 44,665 failed +6,850 +18% 2 8.01
CompoundLeverageModule
       addBorrowAssets 193,012 failed +17,500 +10% 7 34.62
       addCollateralAssets 160,895 failed +16,400 +11% 7 28.86
       addCompoundMarket 46,875 failed +1,900 +4% 3 8.41
       componentIssueHook 272,940 failed +26,900 +11% 1 48.95
       componentRedeemHook 174,525 passed -2,900 -2% 1 31.30
       delever 548,851 passed -58,424 -10% 14 98.43
       deleverToZeroBorrowBalance 485,170 passed -105,700 -18% 12 87.01
       initialize 592,065 failed +2,492 0% 31 106.18
       lever 668,567 passed -51,528 -7% 40 119.90
       moduleIssueHook 183,369 failed +31,300 +21% 2 32.89
       moduleRedeemHook 335,551 failed +7,500 +2% 2 60.18
       registerToModule 67,735 failed +9,300 +16% 1 12.15
       removeBorrowAssets 201,806 failed +2,580 +1% 5 36.19
       removeCollateralAssets 132,040 failed +10,080 +8% 5 23.68
       removeCompoundMarket 14,639 passed -100 -1% 2 2.63
       sync 282,410 failed +5,367 +2% 6 50.65
       updateAllowedSetToken 45,761 failed +2,454 +6% 43 8.21
       updateAnySetAllowed 46,997 failed +2,600 +6% 4 8.43
CompoundMock
       initializeModuleOnSet 60,559 failed +1,600 +3% 1 10.86
       testInvokeBorrow 248,100 failed +15,880 +7% 5 44.50
       testInvokeEnterMarkets 127,227 failed +15,500 +14% 8 22.82
       testInvokeExitMarket 71,217 failed +9,800 +16% 1 12.77
       testInvokeMintCEther 143,714 failed +7,600 +6% 1 25.77
       testInvokeMintCToken 167,177 passed -700 0% 1 29.98
       testInvokeRedeem 158,165 failed +2,000 +1% 1 28.37
       testInvokeRedeemUnderlying 158,758 failed +2,000 +1% 1 28.47
       testInvokeRepayBorrowCEther 136,187 failed +3,500 +3% 1 24.42
       testInvokeRepayBorrowCToken 159,070 passed -2,800 -2% 1 28.53
CompoundPriceOracleMock
       setUnderlyingPrice 38,966 failed +1,478 +4% 27 6.99
ContractCallerMock
       invoke 342,752 passed -47,225 -12% 2 61.47
Controller
       addFactory 93,839 failed +5,800 +7% 24 16.83
       addFee 52,148 failed +5,173 +11% 231 9.35
       addModule 78,978 failed +3,998 +5% 252 14.16
       addResource 113,866 failed +6,050 +6% 18 20.42
       addSet 94,229 failed +5,800 +7% 12 16.90
       editFee 20,718 failed +3,100 +18% 6 3.72
       editFeeRecipient 30,226 passed -200 -1% 4 5.42
       initialize 176,783 failed +7,812 +5% 330 31.70
       removeFactory 22,020 passed -1,300 -6% 6 3.95
       removeModule 25,094 passed -1,849 -7% 26 4.50
       removeResource 25,120 passed -1,719 -6% 8 4.51
       removeSet 22,258 passed -1,358 -6% 13 3.99
CustomOracleNavIssuanceModule
       addReserveAsset 90,348 failed +7,712 +9% 3 16.20
       editFeeRecipient 42,808 failed +7,200 +20% 3 7.68
       editManagerFee 47,259 failed +8,250 +21% 4 8.48
       editPremium 47,479 failed +7,900 +20% 3 8.52
       initialize 373,792 failed +26,719 +8% 117 67.04
       issue 307,272 passed -9,817 -3% 23 55.11
       issueWithEther 320,872 passed -13,738 -4% 16 57.55
       redeem 308,471 passed -13,943 -4% 23 55.32
       redeemIntoEther 336,458 passed -32,830 -9% 13 60.34
       removeReserveAsset 30,613 failed +956 +3% 3 5.49
CustomSetValuerMock
       setValuation 44,151 failed +2,100 +5% 8 7.92
DebtIssuanceMock
       initialize 76,490 failed +3,565 +5% 31 13.72
DebtIssuanceModule
       initialize 168,150 failed +12,714 +8% 62 30.16
       issue 333,210 passed -21,051 -6% 39 59.76
       redeem 342,073 passed -36,585 -10% 21 61.35
       registerToIssuanceModule 108,942 failed +9,212 +9% 6 19.54
       unregisterFromIssuanceModule 29,371 failed +56 0% 2 5.27
       updateFeeRecipient 45,922 failed +5,112 +13% 3 8.24
       updateIssueFee 47,649 failed +7,112 +18% 3 8.55
       updateRedeemFee 47,658 failed +7,112 +18% 3 8.55
DebtModuleMock
       addDebt 158,544 passed -4,800 -3% 27 28.43
       initialize 148,694 failed +8,912 +6% 33 26.67
ERC20
       approve 45,760 failed +1,933 +4% 386 8.21
       transfer 75,013 failed +485 +1% 138 13.45
ExplicitERC20Mock
       transferFrom 52,210 passed -1,871 -3% 3 9.36
GaugeControllerMock
       addGaugeType 44,039 failed +1,297 +3% 4 7.90
GeneralIndexModule
       initialize 224,977 failed +9,040 +4% 5 40.35
       raiseAssetTargets 81,266 failed +8,250 +11% 4 14.57
       setCoolOffPeriods 114,147 failed +13,600 +14% 3 20.47
       setExchanges 89,592 failed +9,550 +12% 6 16.07
       setTradeMaximums 84,620 failed +10,216 +14% 6 15.18
       startRebalance 170,047 failed +17,452 +11% 21 30.50
       trade 365,998 passed -33,832 -8% 59 65.64
       tradeRemainingWETH 286,619 passed -58,663 -17% 9 51.40
       updateAnyoneTrade 62,511 failed +7,900 +14% 2 11.21
       updateRaiseTargetPercentage 62,450 failed +8,700 +16% 9 11.20
       updateTraderStatus 77,660 failed +8,612 +12% 8 13.93
GodModeMock
       initialize 60,493 failed +1,600 +3% 1 10.85
       transferTokens 60,829 failed +7,488 +14% 1 10.91
GovernanceAdapterMock
       delegate 95,917 failed +4,500 +5% 2 17.20
GovernanceModule
       delegate 133,202 failed +13,210 +11% 12 23.89
       initialize 87,686 failed +5,524 +7% 38 15.73
       propose 431,508 failed +36,317 +9% 11 77.39
       register 108,980 failed +13,631 +14% 9 19.54
       revoke 82,559 failed +11,499 +16% 9 14.81
       vote 166,648 failed +24,082 +17% 12 29.89
IntegrationRegistry
       addIntegration 58,512 failed +5,801 +11% 51 10.49
       batchAddIntegration 97,677 failed +2,911 +3% 18 17.52
       batchEditIntegration 57,765 failed +200 0% 5 10.36
       editIntegration 41,187 failed +3,700 +10% 3 7.39
       removeIntegration 18,055 passed -197 -1% 4 3.24
InvokeMock
       initializeModuleOnSet 73,334 failed +3,172 +5% 4 13.15
       testInvokeApprove 63,353 failed +10,598 +20% 7 11.36
       testInvokeTransfer 50,203 failed +4,438 +10% 2 9.00
       testInvokeUnwrapWETH 45,557 failed +6,988 +18% 2 8.17
       testInvokeWrapWETH 76,719 failed +10,388 +16% 2 13.76
       testStrictInvokeTransfer 82,250 failed +6,412 +8% 1 14.75
IssuanceModule
       initialize 95,259 failed +6,495 +7% 22 17.08
       issue 308,528 passed -5,394 -2% 18 55.33
       redeem 255,344 passed -20,871 -8% 7 45.79
KyberNetworkProxyMock
       addToken 90,763 failed +6,800 +8% 2 16.28
ModuleBaseMock
       initializeModuleOnSet 70,820 failed +2,860 +4% 20 12.70
       testPayProtocolFeeFromSetToken 69,732 failed +7,200 +12% 1 12.51
       testTransferFrom 51,830 passed -1,867 -3% 3 9.30
ModuleIssuanceHookMock
       addExternalPosition 113,984 failed +348 0% 8 20.44
       initialize 61,351 failed +1,700 +3% 21 11.00
NAVIssuanceCaller
       issue 316,730 passed -7,188 -2% 1 56.80
       redeem 258,032 passed -18,588 -7% 1 46.28
NavIssuanceModule
       addReserveAsset 90,342 failed +7,700 +9% 3 16.20
       editFeeRecipient 42,808 failed +7,200 +20% 3 7.68
       editManagerFee 47,259 failed +8,250 +21% 4 8.48
       editPremium 47,479 failed +7,900 +20% 3 8.52
       initialize 390,163 failed +26,782 +7% 26 69.97
       issue 305,673 passed -11,246 -4% 29 54.82
       issueWithEther 318,604 passed -15,037 -5% 16 57.14
       redeem 305,841 passed -15,833 -5% 24 54.85
       redeemIntoEther 334,191 passed -34,130 -9% 13 59.93
       removeReserveAsset 30,604 failed +952 +3% 3 5.49
OneInchExchangeMock
       addSetTokenAddress 43,850 failed +1,300 +3% 22 7.86
PositionMock
       initialize 60,633 failed +1,600 +3% 1 10.87
       testCalculateAndEditDefaultPosition 55,029 failed +7,800 +17% 2 9.87
       testEditDefaultPosition 62,889 failed +4,814 +8% 8 11.28
       testEditExternalPosition 120,702 failed +384 0% 18 21.65
PriceOracle
       addAdapter 61,082 failed +2,020 +3% 5 10.95
       addPair 49,367 failed +1,900 +4% 3 8.85
       editMasterQuoteAsset 30,103 failed +500 +2% 3 5.40
       editPair 32,244 passed -200 -1% 3 5.78
       removeAdapter 18,746 passed -2,250 -11% 3 3.36
       removePair 16,835 passed -200 -1% 3 3.02
SetToken
       addComponent 67,527 failed +8,166 +14% 31 12.11
       addExternalPositionModule 73,390 failed +8,127 +12% 65 13.16
       addModule 55,396 failed +5,800 +12% 72 9.93
       approve 46,175 failed +2,100 +5% 3 8.28
       burn 47,833 failed +5,550 +13% 2 8.58
       editDefaultPositionUnit 35,901 failed +7,991 +29% 33 6.44
       editExternalPositionData 60,227 failed +7,800 +15% 6 10.80
       editExternalPositionUnit 60,727 failed +9,819 +19% 61 10.89
       editPositionMultiplier 57,076 failed +12,800 +29% 27 10.24
       initializeModule 63,984 failed +1,123 +2% 313 11.48
       invoke 64,584 passed -40,249 -38% 5 11.58
       lock 75,737 failed +7,100 +10% 28 13.58
       mint 145,059 failed +8,895 +7% 21 26.02
       removeComponent 37,035 passed -1,500 -4% 3 6.64
       removeExternalPositionModule 26,023 failed +2,050 +9% 5 4.67
       removeModule 55,030 passed -5,521 -9% 43 9.87
       removePendingModule 17,629 failed +1,100 +7% 3 3.16
       setManager 30,635 passed -200 -1% 3 5.49
       transfer 51,938 failed +500 +1% 2 9.31
       unlock 20,810 failed +1,100 +6% 3 3.73
SetTokenCreator
       create 3,207,738 failed +23,319 +1% 592 575.29
SingleIndexModule
       initialize 209,431 failed +9,000 +4% 17 37.56
       raiseAssetTargets 75,175 failed +2,500 +3% 1 13.48
       setCoolOffPeriods 119,543 failed +14,421 +14% 9 21.44
       setExchanges 104,201 failed +13,234 +15% 11 18.69
       setTradeMaximums 119,786 failed +14,421 +14% 9 21.48
       startRebalance 192,996 failed +17,886 +10% 29 34.61
       trade 335,431 passed -39,758 -11% 37 60.16
       tradeRemainingWETH 216,591 passed -61,400 -22% 2 38.84
       updateAnyoneTrade 44,659 failed +5,100 +13% 4 8.01
       updateTraderStatus 79,980 failed +9,909 +14% 11 14.34
StakingAdapterMock
       setUnstakeFee 43,530 failed +2,100 +5% 2 7.81
       stake 99,263 failed +2,300 +2% 1 17.80
StakingModule
       componentIssueHook 160,466 passed -9,200 -5% 1 28.78
       componentRedeemHook 157,398 failed +6,400 +4% 1 28.23
       initialize 73,692 failed +3,820 +5% 41 13.22
       stake 314,521 passed -24,848 -7% 48 56.41
       unstake 124,858 passed -14,435 -10% 13 22.39
StandardTokenMock
       approve 43,984 failed +1,784 +4% 803 7.89
       transfer 51,470 failed +471 +1% 146 9.23
StandardTokenWithFeeMock
       approve 46,308 failed +2,100 +5% 3 8.31
       transfer 53,901 failed +1,100 +2% 2 9.67
StreamingFeeModule
       accrueFee 120,567 failed +2,085 +2% 20 21.62
       initialize 179,353 failed +13,382 +8% 37 32.17
       updateFeeRecipient 45,589 failed +5,800 +15% 3 8.18
       updateStreamingFee 125,062 passed -3,343 -3% 7 22.43
TradeModule
       initialize 89,904 failed +5,800 +7% 8 16.12
       trade 302,796 passed -35,429 -10% 35 54.30
UniswapPairPriceAdapter
       addPool 181,344 failed +15,698 +9% 6 32.52
       removePool 36,149 passed -2,953 -8% 2 6.48
UniswapYieldHook
       addAssetLimit 73,667 failed +3,100 +4% 2 13.21
       editAssetLimit 29,381 failed +500 +2% 1 5.27
       removeAssetLimit 23,241 passed -1,700 -7% 2 4.17
UniswapYieldStrategy
       engage 638,838 passed -114,038 -15% 4 114.57
       initialize 175,372 failed +10,700 +6% 12 31.45
       reap 710,697 passed -184,068 -21% 1 127.46
       rebalance 282,080 passed -10,470 -4% 2 50.59
       rebalanceSome 283,218 passed -10,470 -4% 2 50.79
WrapModule
       initialize 77,077 failed +4,226 +6% 8 13.82
       unwrap 264,543 passed -32,352 -11% 6 47.44
       unwrapWithEther 241,406 passed -36,800 -13% 5 43.29
       wrap 279,536 passed -46,202 -14% 20 50.13
       wrapWithEther 215,568 passed -47,500 -18% 16 38.66
ZeroExMock
       addSetTokenAddress 43,986 failed +1,300 +3% 1 7.89

Build Configuration

Option Settings
solc: version 0.6.10
solc: optimized true
solc: runs 200
gas: block limit 12,450,000
gas: price 83 gwei/gas
gas: currency/eth rate 2160.76 usd/eth

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions