Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
1f54d3a
Start contract changes for two step withdrawals v2
clabby Nov 1, 2022
f4475a7
Fix maurelian's nits
clabby Nov 3, 2022
796f292
Refactor Kelvin's SDK changes; SDK/integration test time
clabby Nov 3, 2022
1748e87
Merge branch 'develop' into @clabby/two-step-withdrawals
clabby Nov 3, 2022
6ee790e
Merge w/ `develop`
clabby Nov 3, 2022
f1ce43a
Add tests for changed output proposal *after* proving the withdrawal …
clabby Nov 3, 2022
0db5502
Gas snapshot / comments
clabby Nov 3, 2022
308650a
Regenerate bindings; Fix E2E Withdrawal test; Add extra indexed param…
clabby Nov 4, 2022
e707009
Start fixing indexer integration tests
clabby Nov 7, 2022
daec5d3
Merge branch 'develop' into @clabby/two-step-withdrawals
clabby Nov 7, 2022
48cb79b
Fix conflicts; Start updating mark's new `op-e2e` withdrawal action t…
clabby Nov 7, 2022
f0bb0da
Remove proposal timestamp >= withdrawal timestamp check
clabby Nov 7, 2022
5f96817
Fix mark's `op-e2e` test + add docs to `proveMessage` in SDK
clabby Nov 7, 2022
4c8bd7b
Update changeset
clabby Nov 7, 2022
8ca627a
Lint contracts
clabby Nov 7, 2022
6e05ce4
Merge branch 'develop' into @clabby/two-step-withdrawals
clabby Nov 8, 2022
e743920
Merge with `develop`
clabby Nov 8, 2022
80ffbe7
Re-order mapping declarations so that `finalizedWithdrawals` retains …
clabby Nov 8, 2022
c4ddb56
Merge branch 'develop' into @clabby/two-step-withdrawals
clabby Nov 8, 2022
66ed146
Merge with `develop`
clabby Nov 8, 2022
5d0d8ed
Start updating devnet tests
clabby Nov 8, 2022
a7fff59
Fix devnet tests
clabby Nov 9, 2022
930ef27
Update ERC20 binding
clabby Nov 9, 2022
80f925b
Clean up SDK
clabby Nov 10, 2022
39e3dac
Merge branch 'develop' into @clabby/two-step-withdrawals
clabby Nov 10, 2022
f0d0e8e
Merge with `develop`
clabby Nov 10, 2022
e9223c4
Remove `integration-tests-bedrock` package
clabby Nov 10, 2022
95cb8e0
Add check for equality between locally computed withdrawal hash vs. o…
clabby Nov 10, 2022
609751f
Add Kelvin's check + complimentary test
clabby Nov 10, 2022
d200b02
Fix finalization period in `TestCrossLayerUser`
clabby Nov 10, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions packages/contracts-bedrock/.changeset/three-islands-appear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': minor
---

Adds an implementation of the Two Step Withdrawals (V2) proposal.
108 changes: 56 additions & 52 deletions packages/contracts-bedrock/.gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
AddressAliasHelper_Test:test_fuzz_roundtrip(address) (runs: 256, μ: 466, ~: 466)
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_0() (gas: 261379)
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_1() (gas: 75539)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 348118)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 112296)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 348140)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 112271)
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_0() (gas: 261371)
GasBenchMark_L1CrossDomainMessenger:test_L1MessengerSendMessage_benchmark_1() (gas: 75511)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_0() (gas: 348110)
GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 112268)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 348132)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 112243)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40569)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 68693)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75010)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35823)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75002)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35795)
CrossDomainMessenger_Test:testFuzz_baseGas(uint32) (runs: 256, μ: 20263, ~: 20263)
CrossDomainMessenger_Test:test_baseGas() (gas: 20100)
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner() (gas: 61896)
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner() (gas: 61888)
CrossDomainOwnable_Test:test_onlyOwner() (gas: 34945)
CrossDomainOwnable_Test:test_revertOnlyOwner() (gas: 10619)
CrossDomainOwnable2_Test:test_onlyOwner() (gas: 77856)
Expand All @@ -20,9 +20,9 @@ CrossDomainOwnable2_Test:test_revertNotSetOnlyOwner2() (gas: 14598)
CrossDomainOwnable2_Test:test_revertOnlyOwner() (gas: 61778)
DeployerWhitelist_Test:test_owner() (gas: 7591)
DeployerWhitelist_Test:test_storageSlots() (gas: 33427)
Encoding_Test:test_decodeVersionedNonce_differential(uint240,uint16) (runs: 256, μ: 13329, ~: 13345)
Encoding_Test:test_encodeCrossDomainMessage_differential(uint240,uint8,address,address,uint256,uint256,bytes) (runs: 256, μ: 87650, ~: 91649)
Encoding_Test:test_encodeDepositTransaction_differential(address,address,uint256,uint256,uint64,bool,bytes,uint256) (runs: 256, μ: 106526, ~: 101730)
Encoding_Test:test_decodeVersionedNonce_differential(uint240,uint16) (runs: 256, μ: 13351, ~: 13367)
Encoding_Test:test_encodeCrossDomainMessage_differential(uint240,uint8,address,address,uint256,uint256,bytes) (runs: 256, μ: 87476, ~: 91604)
Encoding_Test:test_encodeDepositTransaction_differential(address,address,uint256,uint256,uint64,bool,bytes,uint256) (runs: 256, μ: 106528, ~: 101730)
Encoding_Test:test_nonceVersioning(uint240,uint16) (runs: 256, μ: 652, ~: 652)
GasPriceOracle_Test:test_baseFee() (gas: 8392)
GasPriceOracle_Test:test_gasPrice() (gas: 8381)
Expand All @@ -39,9 +39,9 @@ GasPriceOracle_Test:test_setScalar() (gas: 36820)
GasPriceOracle_Test:test_storageLayout() (gas: 86777)
Hashing_Test:test_hashCrossDomainMessage_differential(uint256,address,address,uint256,uint256,bytes) (runs: 256, μ: 23905, ~: 23788)
Hashing_Test:test_hashDepositSource() (gas: 628)
Hashing_Test:test_hashDepositTransaction_differential(address,address,uint256,uint256,uint64,bytes,uint256) (runs: 256, μ: 66710, ~: 66432)
Hashing_Test:test_hashOutputRootProof_differential(bytes32,bytes32,bytes32,bytes32) (runs: 256, μ: 72062, ~: 93483)
Hashing_Test:test_hashWithdrawal_differential(uint256,address,address,uint256,uint256,bytes) (runs: 256, μ: 23654, ~: 23478)
Hashing_Test:test_hashDepositTransaction_differential(address,address,uint256,uint256,uint64,bytes,uint256) (runs: 256, μ: 66644, ~: 66366)
Hashing_Test:test_hashOutputRootProof_differential(bytes32,bytes32,bytes32,bytes32) (runs: 256, μ: 72084, ~: 93505)
Hashing_Test:test_hashWithdrawal_differential(uint256,address,address,uint256,uint256,bytes) (runs: 256, μ: 23676, ~: 23500)
L1BlockTest:test_basefee() (gas: 7575)
L1BlockTest:test_hash() (gas: 7552)
L1BlockTest:test_number() (gas: 7629)
Expand All @@ -56,23 +56,23 @@ L1CrossDomainMessenger_Test:testCannot_L1MessengerPause() (gas: 24537)
L1CrossDomainMessenger_Test:testCannot_L1MessengerUnpause() (gas: 24562)
L1CrossDomainMessenger_Test:test_L1MessengerMessageVersion() (gas: 24716)
L1CrossDomainMessenger_Test:test_L1MessengerPause() (gas: 48043)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageFirstStuckSecondSucceeds() (gas: 197319)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 190927)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageSucceeds() (gas: 73707)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageToSystemContract() (gas: 65814)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageFirstStuckSecondSucceeds() (gas: 197342)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 190950)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageSucceeds() (gas: 73730)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageToSystemContract() (gas: 65837)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageV0Fails() (gas: 33258)
L1CrossDomainMessenger_Test:test_L1MessengerRelayShouldRevertIfPaused() (gas: 60526)
L1CrossDomainMessenger_Test:test_L1MessengerReplayMessageWithValue() (gas: 38193)
L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 299533)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1490458)
L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 299525)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1490442)
L1CrossDomainMessenger_Test:test_L1MessengerUnpause() (gas: 41003)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 24283)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 84093)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_success() (gas: 575615)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 573505)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 84116)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_success() (gas: 575779)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 573669)
L1StandardBridge_DepositERC20_TestFail:test_depositERC20_revert_notEoa() (gas: 22343)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo() (gas: 324725)
L1StandardBridge_DepositETH_Test:test_depositETH_success() (gas: 367572)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo() (gas: 324717)
L1StandardBridge_DepositETH_Test:test_depositETH_success() (gas: 367564)
L1StandardBridge_DepositETH_TestFail:test_DepositETH_revert_notEoa() (gas: 40759)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_revert_incorrectValue() (gas: 34218)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_revert_sendToMessenger() (gas: 34301)
Expand All @@ -83,7 +83,7 @@ L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_r
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal() (gas: 58670)
L1StandardBridge_Getter_Test:test_getters_success() (gas: 29470)
L1StandardBridge_Initialize_Test:test_initialize_success() (gas: 22061)
L1StandardBridge_Receive_Test:test_receive_success() (gas: 514293)
L1StandardBridge_Receive_Test:test_receive_success() (gas: 514457)
L2CrossDomainMessenger_Test:testCannot_L2MessengerPause() (gas: 10860)
L2CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 167833)
L2CrossDomainMessenger_Test:test_L2MessengerMessageVersion() (gas: 8411)
Expand Down Expand Up @@ -158,33 +158,37 @@ OptimismMintableTokenFactory_Test:test_bridge() (gas: 7697)
OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 1109835)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenSameTwice() (gas: 2205767)
OptimismMintableTokenFactory_Test:test_createStandardL2TokenShouldRevertIfRemoteIsZero() (gas: 9420)
OptimismPortalUpgradeable_Test:test_cannotInitImpl() (gas: 10835)
OptimismPortalUpgradeable_Test:test_cannotInitProxy() (gas: 15811)
OptimismPortalUpgradeable_Test:test_initValuesOnProxy() (gas: 15989)
OptimismPortalUpgradeable_Test:test_cannotInitImpl() (gas: 10813)
OptimismPortalUpgradeable_Test:test_cannotInitProxy() (gas: 15789)
OptimismPortalUpgradeable_Test:test_initValuesOnProxy() (gas: 16012)
OptimismPortalUpgradeable_Test:test_upgrading() (gas: 180632)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_differential(address,address,uint256,uint256,bytes) (runs: 256, μ: 234653, ~: 235021)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnInsufficientGas() (gas: 135146)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnInvalidOutputRootProof() (gas: 83661)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnRecentWithdrawal() (gas: 52898)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnReentrancy() (gas: 180409)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnReplay() (gas: 232157)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnSelfCall() (gas: 52937)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOninvalidWithdrawalProof() (gas: 132466)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_succeeds() (gas: 164519)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails() (gas: 267168)
OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 17319)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_differential(address,address,uint256,uint256,bytes) (runs: 256, μ: 219598, ~: 219440)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsIfOutputChanges() (gas: 219909)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsIfWithdrawalNotProven() (gas: 39639)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsIfWithdrawalProofNotOldEnough() (gas: 185637)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnInsufficientGas() (gas: 186705)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnRecentWithdrawal() (gas: 166583)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnReentrancy() (gas: 224186)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_revertsOnReplay() (gas: 224855)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_succeeds() (gas: 219888)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails() (gas: 322584)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_revertsOnInvalidOutputRootProof() (gas: 81345)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_revertsOnSelfCall() (gas: 50787)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_revertsOninvalidWithdrawalProof() (gas: 130170)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_success() (gas: 171109)
OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 17342)
OptimismPortal_Test:test_OptimismPortalContractCreationReverts() (gas: 14245)
OptimismPortal_Test:test_OptimismPortalReceiveEth() (gas: 127534)
OptimismPortal_Test:test_depositTransaction_NoValueContract() (gas: 76714)
OptimismPortal_Test:test_depositTransaction_NoValueEOA() (gas: 77015)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract() (gas: 76696)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA() (gas: 77040)
OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation() (gas: 83740)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation() (gas: 75927)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract() (gas: 83379)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA() (gas: 84039)
OptimismPortal_Test:test_isBlockFinalized() (gas: 114183)
OptimismPortal_Test:test_simple_isBlockFinalized() (gas: 24262)
OptimismPortal_Test:test_OptimismPortalReceiveEth() (gas: 127526)
OptimismPortal_Test:test_depositTransaction_NoValueContract() (gas: 76706)
OptimismPortal_Test:test_depositTransaction_NoValueEOA() (gas: 77007)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForContract() (gas: 76688)
OptimismPortal_Test:test_depositTransaction_createWithZeroValueForEOA() (gas: 77032)
OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreation() (gas: 83732)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation() (gas: 75919)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract() (gas: 83371)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA() (gas: 84031)
OptimismPortal_Test:test_isBlockFinalized() (gas: 113975)
OptimismPortal_Test:test_simple_isBlockFinalized() (gas: 24180)
Proxy_Test:test_clashingFunctionSignatures() (gas: 101427)
Proxy_Test:test_implementationKey() (gas: 20942)
Proxy_Test:test_implementationProxyCallIfNotAdmin() (gas: 30021)
Expand Down
Loading