diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/.env b/sepolia/2025-11-07-upgrade-fault-proofs/.env new file mode 100644 index 00000000..99aa2ef2 --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/.env @@ -0,0 +1,19 @@ +OP_COMMIT=d09c836f818c73ae139f60b717654c4e53712743 +BASE_CONTRACTS_COMMIT=51788f920e368e72c63cef24a5e1ea0f6562d9a5 + +ABSOLUTE_PRESTATE=0x03caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b + +RECORD_STATE_DIFF=true + +# Sepolia Config +SYSTEM_CONFIG=0xf272670eb55e895584501d564AfEB048bEd26194 +OP_CONTRACT_MANAGER=0xc69e4c24db479191676611a25d977203c3bdca62 +PROXY_ADMIN=0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3 +L1_PROXY_ADMIN_OWNER=0x0fe884546476dDd290eC46318785046ef68a0BA9 +CHALLENGER=0x8b8c52B04A38f10515C52670fcb23f3C4C44474F + +OWNER_SAFE=0x0fe884546476dDd290eC46318785046ef68a0BA9 +CB_SIGNER_SAFE_ADDR=0x646132A1667ca7aD00d36616AFBA1A28116C770A +CB_NESTED_SAFE_ADDR=0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f +CB_SC_SAFE_ADDR=0x6AF0674791925f767060Dd52f7fB20984E8639d8 +OP_SIGNER_SAFE_ADDR=0x6AF0674791925f767060Dd52f7fB20984E8639d8 diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/FACILITATORS.md b/sepolia/2025-11-07-upgrade-fault-proofs/FACILITATORS.md new file mode 100644 index 00000000..5c0c8f2e --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/FACILITATORS.md @@ -0,0 +1,48 @@ +#### Execute the transaction + +1. IMPORTANT: Ensure op-challenger has been updated before executing. +1. Collect outputs from all participating signers. +1. Concatenate all signatures and export it as the `SIGNATURES` + environment variable, i.e. `export +SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. +1. Run the `make execute` or `make approve` command as described below to execute the transaction. + +For example, if the quorum is 3 and you get the following outputs: + +```shell +Data: 0xDEADBEEF +Signer: 0xC0FFEE01 +Signature: AAAA +``` + +```shell +Data: 0xDEADBEEF +Signer: 0xC0FFEE02 +Signature: BBBB +``` + +```shell +Data: 0xDEADBEEF +Signer: 0xC0FFEE03 +Signature: CCCC +``` + +Coinbase facilitator: + +```bash +SIGNATURES=AAAABBBBCCCC make approve-cb +``` + +```bash +SIGNATURES=AAAABBBBCCCC make approve-cb-sc +``` + +```bash +SIGNATURES=AAAABBBBCCCC make approve-op +``` + +Once the signatures have been submitted approving the transaction for all nested Safes run: + +```bash +make execute +``` \ No newline at end of file diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/Makefile b/sepolia/2025-11-07-upgrade-fault-proofs/Makefile new file mode 100644 index 00000000..bc267ba2 --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/Makefile @@ -0,0 +1,80 @@ +include ../../Makefile +include ../../Multisig.mk + +include ../.env +include .env + +ifndef LEDGER_ACCOUNT +override LEDGER_ACCOUNT = 1 +endif + +# Sepolia Commands + +# OWNER_SAFE/ +# ├── CB_SIGNER_SAFE_ADDR/ +# │ ├── CB_NESTED_SAFE_ADDR/ +# │ │ └── Signers +# │ └── CB_SC_SAFE_ADDR/ +# │ └── Signers +# └── OP_SIGNER_SAFE_ADDR/ +# └── Signers + +RPC_URL = $(L1_RPC_URL) +SCRIPT_NAME = UpgradeWithOpSmartContractManager + +.PHONY: gen-validation-cb +gen-validation-cb: checkout-signer-tool run-script-cb + +.PHONY: run-script-cb +run-script-cb: + cd $(SIGNER_TOOL_PATH); \ + npm ci; \ + bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ + --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ + $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-signer.json; + + +.PHONY: gen-validation-cb-sc +gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc + +.PHONY: run-script-cb-sc +run-script-cb-sc: + cd $(SIGNER_TOOL_PATH); \ + npm ci; \ + bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ + --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ + $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-sc-signer.json; + +.PHONY: gen-validation-op +gen-validation-op: checkout-signer-tool run-script-op + +.PHONY: run-script-op +run-script-op: + cd $(SIGNER_TOOL_PATH); \ + npm ci; \ + bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ + --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ + $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --out ../validations/op-signer.json; + + +# CB +.PHONY: approve-cb +approve-cb: + $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) + +.PHONY: approve-cb-sc +approve-cb-sc: + $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) + +.PHONY: approve-cb-coordinator +approve-cb-coordinator: + $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) + +.PHONY: approve-op +approve-op: + $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) + +# Execute +.PHONY: execute +execute: + $(call MULTISIG_EXECUTE,0x) diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/README.md b/sepolia/2025-11-07-upgrade-fault-proofs/README.md new file mode 100644 index 00000000..aa7e2b6d --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/README.md @@ -0,0 +1,55 @@ +# U17 Jovian Upgrade + +Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590) + +## Description + +The Jovian hardfork is a proposed network upgrade for OP Stack chains, which brings several improvements to the way rollup fees are calculated as well as performing a maintenance update to the fault proof virtual machine. [More Details](https://docs.optimism.io/notices/upgrade-17). + +This script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts. + +## Procedure + +## Install dependencies + +### 1. Update foundry + +```bash +foundryup +``` + +### 2. Install Node.js if needed + +First, check if you have node installed + +```bash +node --version +``` + +If you see a version output from the above command, you can move on. Otherwise, install node + +```bash +brew install node +``` + +## Approving the Update transaction + +### 1. Update repo: + +```bash +cd contract-deployments +git pull +``` + +### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). + +```bash +make sign-task +``` + +### 3. Open the UI at [http://localhost:3000](http://localhost:3000) + +Be sure to select the correct task user from the list of available users to sign. +After completion, the signer tool can be closed by using Ctrl + c + +### 4. Send signature to facilitator diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/foundry.toml b/sepolia/2025-11-07-upgrade-fault-proofs/foundry.toml new file mode 100644 index 00000000..7a443d45 --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/foundry.toml @@ -0,0 +1,20 @@ +[profile.default] +src = 'src' +out = 'out' +libs = ['lib'] +broadcast = 'records' +fs_permissions = [{ access = "read-write", path = "./" }] +optimizer = true +optimizer_runs = 200 +via-ir = false +remappings = [ + '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', + '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', + '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', + '@rari-capital/solmate/=lib/solmate/', + '@base-contracts/=lib/base-contracts', + 'solady/=lib/solady/src/', + '@lib-keccak/=lib/lib-keccak/contracts/lib', +] + +# See more config options https://github.com/foundry-rs/foundry/tree/master/config diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/approve-latest.json b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/approve-latest.json new file mode 100644 index 00000000..b1488c37 --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/approve-latest.json @@ -0,0 +1,89 @@ +{ + "transactions": [ + { + "hash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", + "0", + "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000", + "1", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0x8b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b" + ], + "transaction": { + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "gas": "0x1ea78", + "value": "0x0", + "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000418b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc5306d", + "logs": [ + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", + "0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a", + "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" + ], + "data": "0x", + "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", + "blockNumber": "0x935533", + "blockTimestamp": "0x691c7e98", + "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", + "transactionIndex": "0x41", + "logIndex": "0xfc", + "removed": false + }, + { + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0x8524b53b3070cc94d521fe0eb3d64e85c60073f292a454fcef114c9b84a1ade20000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", + "blockNumber": "0x935533", + "blockTimestamp": "0x691c7e98", + "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", + "transactionIndex": "0x41", + "logIndex": "0xfd", + "removed": false + } + ], + "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000008000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", + "type": "0x2", + "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", + "transactionIndex": "0x41", + "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", + "blockNumber": "0x935533", + "gasUsed": "0x16318", + "effectiveGasPrice": "0xf4249", + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763475097893, + "chain": 11155111, + "commit": "58a1ca7" +} \ No newline at end of file diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474377488.json b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474377488.json new file mode 100644 index 00000000..edb3edbe --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474377488.json @@ -0,0 +1,90 @@ +{ + "transactions": [ + { + "hash": "0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", + "0", + "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000", + "1", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0xf641599e973958913085e9236ca194875b6a45a02d3c45cd51894c2a5e048c454d88be3cdd4ce9a82eee38437a3e649087e59f88caaa69a889f55eee2d947c0d1baff25c1af81289ba784fe0e05e639a3b01fadf008de619129c758305ec16e822460001cae6e33f41c6f922c6985e6d51f846a90cd7eb99c4fd3b2435555af6271c9ff3a435971f59c0d9abfcf236185bdae0248e4a139647a1d65f2f3b5678a2de79fc1b917f9f68799382b5af13803be962aba6927c56699077f36c086656cbf71c" + ], + "transaction": { + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", + "gas": "0x23275", + "value": "0x0", + "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f641599e973958913085e9236ca194875b6a45a02d3c45cd51894c2a5e048c454d88be3cdd4ce9a82eee38437a3e649087e59f88caaa69a889f55eee2d947c0d1baff25c1af81289ba784fe0e05e639a3b01fadf008de619129c758305ec16e822460001cae6e33f41c6f922c6985e6d51f846a90cd7eb99c4fd3b2435555af6271c9ff3a435971f59c0d9abfcf236185bdae0248e4a139647a1d65f2f3b5678a2de79fc1b917f9f68799382b5af13803be962aba6927c56699077f36c086656cbf71c0000000000000000000000000000000000000000000000000000000000", + "nonce": "0x4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x471351", + "logs": [ + { + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "topics": [ + "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", + "0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7", + "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" + ], + "data": "0x", + "blockHash": "0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33", + "blockNumber": "0x9354fe", + "blockTimestamp": "0x691c7bc8", + "transactionHash": "0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15", + "transactionIndex": "0x21", + "logIndex": "0x2b", + "removed": false + }, + { + "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", + "0x98bda964a74c0878b7662d4dab0bb7da306b5ca7be0cfd01092e398311ee0366" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33", + "blockNumber": "0x9354fe", + "blockTimestamp": "0x691c7bc8", + "transactionHash": "0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15", + "transactionIndex": "0x21", + "logIndex": "0x2c", + "removed": false + } + ], + "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000400000000000400000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000020000404000000000000010080000000000000000000000000000000800000000000000000000000000000000004000020000020000000020000000000000040000000000000000000000000100000000000000000", + "type": "0x2", + "transactionHash": "0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15", + "transactionIndex": "0x21", + "blockHash": "0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33", + "blockNumber": "0x9354fe", + "gasUsed": "0x19736", + "effectiveGasPrice": "0x10d3d9", + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763474377488, + "chain": 11155111, + "commit": "58a1ca7" +} \ No newline at end of file diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474533668.json b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474533668.json new file mode 100644 index 00000000..ea32fd2a --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474533668.json @@ -0,0 +1,89 @@ +{ + "transactions": [ + { + "hash": "0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", + "0", + "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000", + "1", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0xf2ed8e2c126afc94ae9276822b2e243c14dde081c14059e73ebe55689003b4f97d367ed90bb986179507d74ccf563082bd5fbf00e5ed23edb330073413910ec31c" + ], + "transaction": { + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "gas": "0x1dc22", + "value": "0x0", + "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041f2ed8e2c126afc94ae9276822b2e243c14dde081c14059e73ebe55689003b4f97d367ed90bb986179507d74ccf563082bd5fbf00e5ed23edb330073413910ec31c00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x172446b", + "logs": [ + { + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "topics": [ + "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", + "0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7", + "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" + ], + "data": "0x", + "blockHash": "0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c", + "blockNumber": "0x935509", + "blockTimestamp": "0x691c7c64", + "transactionHash": "0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa", + "transactionIndex": "0x58", + "logIndex": "0xd2", + "removed": false + }, + { + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0xe77a5b3c54f98875399dd031cbde2dd375517ed53f566c4a811b8bcf6eac50f30000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c", + "blockNumber": "0x935509", + "blockTimestamp": "0x691c7c64", + "transactionHash": "0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa", + "transactionIndex": "0x58", + "logIndex": "0xd3", + "removed": false + } + ], + "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000400000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010080000000000000000000000000000000000000000000000000000000000000000004000020000000000000020000000000000014020000000000000000000000100000000008000000", + "type": "0x2", + "transactionHash": "0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa", + "transactionIndex": "0x58", + "blockHash": "0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c", + "blockNumber": "0x935509", + "gasUsed": "0x158b7", + "effectiveGasPrice": "0x10d2bc", + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763474533668, + "chain": 11155111, + "commit": "58a1ca7" +} \ No newline at end of file diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474617427.json b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474617427.json new file mode 100644 index 00000000..ba1d2c80 --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474617427.json @@ -0,0 +1,89 @@ +{ + "transactions": [ + { + "hash": "0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", + "0", + "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000", + "1", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" + ], + "transaction": { + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "gas": "0x21d8a", + "value": "0x0", + "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x61bf34", + "logs": [ + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", + "0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a", + "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" + ], + "data": "0x", + "blockHash": "0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604", + "blockNumber": "0x93550f", + "blockTimestamp": "0x691c7cb8", + "transactionHash": "0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0", + "transactionIndex": "0x4c", + "logIndex": "0x2e", + "removed": false + }, + { + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f70000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604", + "blockNumber": "0x93550f", + "blockTimestamp": "0x691c7cb8", + "transactionHash": "0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0", + "transactionIndex": "0x4c", + "logIndex": "0x2f", + "removed": false + } + ], + "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000008010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000200000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000", + "type": "0x2", + "transactionHash": "0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0", + "transactionIndex": "0x4c", + "blockHash": "0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604", + "blockNumber": "0x93550f", + "gasUsed": "0x17249", + "effectiveGasPrice": "0x119144", + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763474617427, + "chain": 11155111, + "commit": "58a1ca7" +} \ No newline at end of file diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475097893.json b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475097893.json new file mode 100644 index 00000000..b1488c37 --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475097893.json @@ -0,0 +1,89 @@ +{ + "transactions": [ + { + "hash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", + "0", + "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000", + "1", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0x8b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b" + ], + "transaction": { + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "gas": "0x1ea78", + "value": "0x0", + "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000418b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc5306d", + "logs": [ + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", + "0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a", + "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" + ], + "data": "0x", + "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", + "blockNumber": "0x935533", + "blockTimestamp": "0x691c7e98", + "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", + "transactionIndex": "0x41", + "logIndex": "0xfc", + "removed": false + }, + { + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0x8524b53b3070cc94d521fe0eb3d64e85c60073f292a454fcef114c9b84a1ade20000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", + "blockNumber": "0x935533", + "blockTimestamp": "0x691c7e98", + "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", + "transactionIndex": "0x41", + "logIndex": "0xfd", + "removed": false + } + ], + "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000008000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", + "type": "0x2", + "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", + "transactionIndex": "0x41", + "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", + "blockNumber": "0x935533", + "gasUsed": "0x16318", + "effectiveGasPrice": "0xf4249", + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763475097893, + "chain": 11155111, + "commit": "58a1ca7" +} \ No newline at end of file diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475193401.json b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475193401.json new file mode 100644 index 00000000..99c6f65c --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475193401.json @@ -0,0 +1,239 @@ +{ + "transactions": [ + { + "hash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", + "0", + "0x858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000", + "1", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" + ], + "transaction": { + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "gas": "0xe1f3ef", + "value": "0x0", + "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "contractName": null, + "address": "0xa1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", + "initCode": "0x6102006040523480156200001257600080fd5b50604051620065483803806200654883398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c85620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613aad0152600081816105a90152818161182601528181611922015281816134f401526139b4015260008181610948015281816127fe0152613a840152600081816105460152818161247e01528181613006015261431b015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee50152818161312901528181614192015281816145bf0152818161469e0152818161475101528181614f7f0152615170015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda015281816140aa01526141b301526000818161083a01526142360152615c856000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154f5565b610c46565b005b34801561038857600080fd5b5061037a610397366004615550565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de91906155a9565b34801561042157600080fd5b506104456104303660046155d1565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be366004615550565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ee565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155d1565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615685565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615698565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155d1565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa3660046156bf565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ee565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615698565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615698565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155d1565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc366004615700565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615698565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155d1565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615729565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615698565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ee565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de939291906157b5565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615698565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c65615572565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157f0565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615864565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615874565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f24615572565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615874565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff1661114091906158a0565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615874565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615874565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b906158b8565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae615572565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615874565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b83600281111561162457611624615572565b02179055600281111561163957611639615572565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158d2565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff16600281111561171857611718615572565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff16600281111561175557611755615572565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd615572565b1480611aef57506001600d5460ff166002811115611aed57611aed615572565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f615572565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158e9565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158e9565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158e9565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff909116906155a9565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d615572565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615874565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615874565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158d2565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f91906158a0565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd838361591c565b9050670de0b6b3a76400006000612214827f0000000000000000000000000000000000000000000000000000000000000000615930565b9050600061223261222d670de0b6b3a764000086615930565b613b40565b905060006122408484613d92565b9050600061224e8383613de1565b9050600061225b82613e0f565b9050600061227a82612275670de0b6b3a76400008f615930565b613ff7565b905060006122888b83613de1565b9050612294818d615930565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561233657612336615572565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614028565b60008054600160801b900460ff16600281111561243557612435615572565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614584565b93509350935093506000612478858585856148dd565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061594f565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c5919061596c565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000000061497c565b60095461265391906158a0565b61265e9060016158a0565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612737919061596c565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061293285614a11565b91945092509050600181600181111561294d5761294d615572565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845161299083856158a0565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158d2565b8152602001858c60200151612a4a91906158a0565b9052614a11565b509150915060405180604001604052808383612a6d91906158a0565b8152602001848b60200151612a8291906158a0565b815250888581518110612a9757612a97615874565b6020908102919091010152612aad6001856158a0565b9350612ab981836158a0565b612ac390846158a0565b92505050612a0b565b50845250919392505050565b60606000806000612ae885614a11565b919450925090506000816001811115612b0357612b03615572565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b4482846158a0565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614eaf565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc59084906158a0565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c21615572565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615874565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000000060026158a0565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8103612f1d57612f1d86888588614f44565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061594f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e7919061596c565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615985565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159b1565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158d2565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136799190615a0a565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a361461370c576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c9003605401351161376a576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b9091529182208054919290916139ab9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a0d57600080fd5b505af1158015613a21573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b249190615a2e565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b9657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dcf57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dff5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e3d57919050565b680755bf798b4a1bf1e58212613e5b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a76400008361400f86613b40565b6140199190615a54565b6140239190615b10565b613e0f565b60008054600160801b900460ff16600281111561404757614047615572565b146140655760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061407a5761407a615874565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140d07f000000000000000000000000000000000000000000000000000000000000000060016158a0565b61414a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614184576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915614260576141d77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158d2565b6001901b6141ed846001600160801b03166150d3565b6001600160801b03166142009190615b5a565b156142345761422b61421c60016001600160801b038716615b6e565b865463ffffffff166000615159565b60030154614256565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050614281565b6003850154915061427e61421c6001600160801b0386166001615b8e565b90505b600882901b60088a8a604051614298929190615864565b6040518091039020901b146142d9576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142e48c615222565b905060006142f3836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290614360908f908f908f908f908a90600401615bf9565b6020604051808303816000875af115801561437f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a3919061596c565b60048501549114915060009060029061442c906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144a6896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144b09190615c33565b6144ba9190615c56565b60ff1615905081151581036144fb576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614545576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008060008060008590506000600282815481106145a4576145a4615874565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614659906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614693576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614738906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1692508211156147ad57825463ffffffff166147777f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8303614781578391505b6002818154811061479457614794615874565b9060005260206000209060050201935080945050614697565b600481810154908401546001600160801b0391821691166000816001600160801b03166147f26147e6856001600160801b031660011c90565b6001600160801b031690565b6001600160801b0316149050801561488b576000614818836001600160801b03166150d3565b6001600160801b0316111561486857600061484861484060016001600160801b038616615b6e565b896001615159565b6003810154600490910154909c506001600160801b03169a5061486e9050565b6008549a505b600386015460048701549099506001600160801b031697506148cf565b60006148a46148406001600160801b0385166001615b8e565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149385760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b828260405160200161495d9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149f0847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a54576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a79576000600160009450945094505050614ea8565b60b78111614b8f576000614a8e6080836158d2565b905080876000015111614acd576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b4557507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b7c576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614ea8915050565b60bf8111614ced576000614ba460b7836158d2565b905080876000015111614be3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c45576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c8d576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c9781846158a0565b895111614cd0576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cdb8360016158a0565b9750955060009450614ea89350505050565b60f78111614d52576000614d0260c0836158d2565b905080876000015111614d41576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614ea8915050565b6000614d5f60f7836158d2565b905080876000015111614d9e576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614e00576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e48576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e5281846158a0565b895111614e8b576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e968360016158a0565b9750955060019450614ea89350505050565b9193909250565b60608167ffffffffffffffff811115614eca57614eca6157da565b6040519080825280601f01601f191660200182016040528015614ef4576020820181803683370190505b5090508115614f3d576000614f0984866158a0565b90506020820160005b84811015614f2a578281015182820152602001614f12565b84811115614f39576000858301525b5050505b9392505050565b6000614f5a6001600160801b0384166001615b8e565b90506000614f6a82866001615159565b9050600086901a83806150345750614fa360027f0000000000000000000000000000000000000000000000000000000000000000615b5a565b6004830154600290615025906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61502f9190615c56565b60ff16145b1561508c5760ff81166001148061504e575060ff81166002145b615087576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b6150ca565b60ff8116156150ca576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b50505050505050565b600080615147837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615199576151946001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000615251565b6151ab565b6151ab856001600160801b0316615390565b9050600284815481106151c0576151c0615874565b906000526020600020906005020191505b60048201546001600160801b0382811691161461521a57815460028054909163ffffffff1690811061520557615205615874565b906000526020600020906005020191506151d1565b509392505050565b600080600080600061523386614584565b9350935093509350615247848484846148dd565b9695505050505050565b6000816152ce846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152e45763b34b5c226000526004601cfd5b6152ed83615390565b90508161536a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612853576128506153808360016158a0565b6001600160801b0383169061541c565b6000811960018301168161540b827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b600080615490847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154be57600080fd5b50813567ffffffffffffffff8111156154d657600080fd5b6020830191508360208285010111156154ee57600080fd5b9250929050565b600080600083850360a081121561550b57600080fd5b608081121561551957600080fd5b50839250608084013567ffffffffffffffff81111561553757600080fd5b615543868287016154ac565b9497909650939450505050565b6000806040838503121561556357600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b600381106155a657634e487b7160e01b600052602160045260246000fd5b50565b602081016155b683615588565b91905290565b6001600160a01b03811681146155a657600080fd5b6000602082840312156155e357600080fd5b8135614f3d816155bc565b60008060006060848603121561560357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561564057602081850181015186830182015201615624565b81811115615652576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612850602083018461561a565b6000602082840312156156aa57600080fd5b5035919050565b80151581146155a657600080fd5b600080600080608085870312156156d557600080fd5b84359350602085013592506040850135915060608501356156f5816156b1565b939692955090935050565b60006020828403121561571257600080fd5b81356001600160801b0381168114614f3d57600080fd5b6000806000806000806080878903121561574257600080fd5b863595506020870135615754816156b1565b9450604087013567ffffffffffffffff8082111561577157600080fd5b61577d8a838b016154ac565b9096509450606089013591508082111561579657600080fd5b506157a389828a016154ac565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de606083018461561a565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561580257600080fd5b6040516080810181811067ffffffffffffffff8211171561583357634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156158b3576158b361588a565b500190565b600060001982036158cb576158cb61588a565b5060010190565b6000828210156158e4576158e461588a565b500390565b6000602082840312156158fb57600080fd5b8151614f3d816156b1565b634e487b7160e01b600052601260045260246000fd5b60008261592b5761592b615906565b500490565b600081600019048311821515161561594a5761594a61588a565b500290565b60006020828403121561596157600080fd5b8151614f3d816155bc565b60006020828403121561597e57600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159a8576159a861588a565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159d8576159d861588a565b02949350505050565b600067ffffffffffffffff83811690831681811015615a0257615a0261588a565b039392505050565b60008060408385031215615a1d57600080fd5b505080516020909101519092909150565b600060208284031215615a4057600080fd5b815163ffffffff81168114614f3d57600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a9557615a9561588a565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ad057615ad061588a565b60008712925087820587128484161615615aec57615aec61588a565b87850587128184161615615b0257615b0261588a565b505050929093029392505050565b600082615b1f57615b1f615906565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b5557615b5561588a565b500590565b600082615b6957615b69615906565b500690565b60006001600160801b0383811690831681811015615a0257615a0261588a565b60006001600160801b038083168185168083038211156159a8576159a861588a565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615c0d606083018789615bb0565b8281036020840152615c20818688615bb0565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c4d57615c4d61588a565b90039392505050565b600060ff831680615c6957615c69615906565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb90800000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f" + }, + { + "transactionType": "CREATE2", + "contractName": null, + "address": "0xed839a2aa262eccc513308fe7b8f39088ff8e992", + "initCode": "0x6101c06040523480156200001257600080fd5b50604051620062933803806200629383398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003aa61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a53620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139e40152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c68015260008181610593015281816117aa015281816118a6015281816122830152612b6f0152600081816108cc01528181612c3f0152613a6601526000818161053001528181611d950152818161341501526136e6015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e2b0152612e6d015260008181610acf01528181611b4e01528181611c7401528181611eb80152818161328c0152818161388a01528181613ea50152818161457e0152818161469a01528181614779015261482c015260008181610b7601528181611c1701528181611d6901528181612f1901528181612f9f015281816131a401526132ad0152600081816107f101526133300152615a536000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f3660046152c3565b610bca565b005b34801561037257600080fd5b5061036461038136600461531e565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615377565b34801561040b57600080fd5b5061042f61041a36600461539f565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a836600461531e565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c53660046153bc565b61161f565b3480156105d657600080fd5b5061046a6105e536600461539f565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c89190615453565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615466565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461539f565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b61036461076136600461548d565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e3660046153bc565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615466565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615466565b612cfb565b34801561094457600080fd5b5061046a61095336600461539f565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154ce565b612e95565b34801561099157600080fd5b506109a56109a0366004615466565b613056565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461539f565b6130ca565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154f7565b613122565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615466565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e3660046153bc565b61367e565b348015610b4f57600080fd5b50610b58613a64565b6040516103c893929190615583565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615466565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be9615340565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c85368690038601866155be565b613ac1565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd6929190615632565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613b1d92505050565b613b8a565b90506000610d8582600881518110610d7857610d78615642565b6020026020010151613d40565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea8615340565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb615642565b906000526020600020906005020190506000610ef684612cfb565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613df4565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061566e565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f757600086828154811061110257611102615642565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f615642565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615686565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613df4565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613df4565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561143257611432615340565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d3615642565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a8615340565b0217905560028111156115bd576115bd615340565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff16826156a0565b95945050505050565b606061161a60546020613e36565b611681612332565b60006002600d5460ff16600281111561169c5761169c615340565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d9615340565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b0615340565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e3615642565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261566e565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b8103611cac57611cac86888588613e6a565b34611cb683612e95565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cfb565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1591906156b7565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156d4565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156ed565b9050611f44565b611edc60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615719565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c8152602001908152602001600020600160028054905061224691906156a0565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b615340565b148061236d57506001600d5460ff16600281111561236b5761236b615340565b145b1561237457565b6000600d5460ff16600281111561238d5761238d615340565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124469190615772565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d9190615772565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190615772565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615377565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061578f565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a36146128c7576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c90036054013511612925576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b6690849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612bc857600080fd5b505af1158015612bdc573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdf91906157b3565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612d1c57612d1c615340565b14612d3a5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d4f57612d4f615642565b600091825260208220600590910201805490925063ffffffff90811614612db557815460028054909163ffffffff16908110612d8d57612d8d615642565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612de090600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612df49067ffffffffffffffff16426156a0565b612e0a612dd3846001600160801b031660401c90565b67ffffffffffffffff16612e1e919061566e565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e6b5780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612f12836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f71576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f8c83836157ef565b9050670de0b6b3a76400006000612fc3827f0000000000000000000000000000000000000000000000000000000000000000615803565b90506000612fe1612fdc670de0b6b3a764000086615803565b613ff9565b90506000612fef848461424b565b90506000612ffd838361429a565b9050600061300a826142c8565b9050600061302982613024670de0b6b3a76400008f615803565b6144b0565b905060006130378b8361429a565b9050613043818d615803565b9f9e505050505050505050505050505050565b6002818154811061306657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130e5576130e5615340565b0361310657506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561314157613141615340565b1461315f5760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061317457613174615642565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131ca7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b613244826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461327e576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561335a576132d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006156a0565b6001901b6132e7846001600160801b03166144e1565b6001600160801b03166132fa9190615822565b1561332e5761332561331660016001600160801b038716615836565b865463ffffffff166000614567565b60030154613350565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061337b565b600385015491506133786133166001600160801b0386166001615856565b90505b600882901b60088a8a604051613392929190615632565b6040518091039020901b146133d3576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133de8c614630565b905060006133ed836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061345a908f908f908f908f908a906004016158c1565b6020604051808303816000875af1158015613479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061349d91906156d4565b600485015491149150600090600290613526906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135a0896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135aa91906158fb565b6135b4919061591e565b60ff1615905081151581036135f5576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561363f576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff16600281111561369d5761369d615340565b146136bb5760405163067fe19560e41b815260040160405180910390fd5b6000806000806136ca8661465f565b935093509350935060006136e0858585856149b8565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613742573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376691906156b7565b905060018903613833576001600160a01b0381166352f0f3ad8a846137973660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015613809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061382d91906156d4565b50611406565b60028903613852576001600160a01b0381166352f0f3ad8a8489613797565b60038903613871576001600160a01b0381166352f0f3ad8a8487613797565b600489036139a65760006138ae6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a57565b6009546138bb919061566e565b6138c690600161566e565b90503660011981013560f01c90036054013581106138f3573660011981013560f01c9003605401356138f5565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561397b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399f91906156d4565b5050611406565b60058903613a32576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137ea565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a9f61166b565b9050909192565b600081831015613ab65781613ab8565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613b00949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b6c576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b9a85614aec565b919450925090506001816001811115613bb557613bb5615340565b14613bec576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bf8838561566e565b14613c2f576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c465790505093506000835b8651811015613d3457600080613cb96040518060400160405280858c60000151613c9d91906156a0565b8152602001858c60200151613cb2919061566e565b9052614aec565b509150915060405180604001604052808383613cd5919061566e565b8152602001848b60200151613cea919061566e565b815250888581518110613cff57613cff615642565b6020908102919091010152613d1560018561566e565b9350613d21818361566e565b613d2b908461566e565b92505050613c73565b50845250919392505050565b60606000806000613d5085614aec565b919450925090506000816001811115613d6b57613d6b615340565b14613da2576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613dac828461566e565b855114613de5576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f8a565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e2d90849061566e565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e806001600160801b0384166001615856565b90506000613e9082866001614567565b9050600086901a8380613f5a5750613ec960027f0000000000000000000000000000000000000000000000000000000000000000615822565b6004830154600290613f4b906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f55919061591e565b60ff16145b15613fb25760ff811660011480613f74575060ff81166002145b613fad576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b613ff0565b60ff811615613ff0576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361404f57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261428857637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142b85763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142f657919050565b680755bf798b4a1bf1e582126143145763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613ab8670de0b6b3a7640000836144c886613ff9565b6144d29190615940565b6144dc91906159fc565b6142c8565b600080614555837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145a7576145a26001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061501f565b6145b9565b6145b9856001600160801b031661515e565b9050600284815481106145ce576145ce615642565b906000526020600020906005020191505b60048201546001600160801b0382811691161461462857815460028054909163ffffffff1690811061461357614613615642565b906000526020600020906005020191506145df565b509392505050565b60008060008060006146418661465f565b9350935093509350614655848484846149b8565b9695505050505050565b600080600080600085905060006002828154811061467f5761467f615642565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614734906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161476e576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614813906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561488857825463ffffffff166148527f0000000000000000000000000000000000000000000000000000000000000000600161566e565b830361485c578391505b6002818154811061486f5761486f615642565b9060005260206000209060050201935080945050614772565b600481810154908401546001600160801b0391821691166000816001600160801b03166148cd6148c1856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149665760006148f3836001600160801b03166144e1565b6001600160801b0316111561494357600061492361491b60016001600160801b038616615836565b896001614567565b6003810154600490910154909c506001600160801b03169a506149499050565b6008549a505b600386015460048701549099506001600160801b031697506149aa565b600061497f61491b6001600160801b0385166001615856565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615614a135760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a389291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614acb847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b2f576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b54576000600160009450945094505050614f83565b60b78111614c6a576000614b696080836156a0565b905080876000015111614ba8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614c2057507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c57576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f83915050565b60bf8111614dc8576000614c7f60b7836156a0565b905080876000015111614cbe576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614d20576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d68576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d72818461566e565b895111614dab576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614db683600161566e565b9750955060009450614f839350505050565b60f78111614e2d576000614ddd60c0836156a0565b905080876000015111614e1c576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f83915050565b6000614e3a60f7836156a0565b905080876000015111614e79576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614edb576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f23576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f2d818461566e565b895111614f66576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f7183600161566e565b9750955060019450614f839350505050565b9193909250565b60608167ffffffffffffffff811115614fa557614fa56155a8565b6040519080825280601f01601f191660200182016040528015614fcf576020820181803683370190505b5090508115615018576000614fe4848661566e565b90506020820160005b84811015615005578281015182820152602001614fed565b84811115615014576000858301525b5050505b9392505050565b60008161509c846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116150b25763b34b5c226000526004601cfd5b6150bb8361515e565b905081615138826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613abb57613ab861514e83600161566e565b6001600160801b038316906151ea565b600081196001830116816151d9827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061525e847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261528c57600080fd5b50813567ffffffffffffffff8111156152a457600080fd5b6020830191508360208285010111156152bc57600080fd5b9250929050565b600080600083850360a08112156152d957600080fd5b60808112156152e757600080fd5b50839250608084013567ffffffffffffffff81111561530557600080fd5b6153118682870161527a565b9497909650939450505050565b6000806040838503121561533157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061537457634e487b7160e01b600052602160045260246000fd5b50565b6020810161538483615356565b91905290565b6001600160a01b038116811461537457600080fd5b6000602082840312156153b157600080fd5b81356150188161538a565b6000806000606084860312156153d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561540e576020818501810151868301820152016153f2565b81811115615420576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613ab860208301846153e8565b60006020828403121561547857600080fd5b5035919050565b801515811461537457600080fd5b600080600080608085870312156154a357600080fd5b84359350602085013592506040850135915060608501356154c38161547f565b939692955090935050565b6000602082840312156154e057600080fd5b81356001600160801b038116811461501857600080fd5b6000806000806000806080878903121561551057600080fd5b8635955060208701356155228161547f565b9450604087013567ffffffffffffffff8082111561553f57600080fd5b61554b8a838b0161527a565b9096509450606089013591508082111561556457600080fd5b5061557189828a0161527a565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155d057600080fd5b6040516080810181811067ffffffffffffffff8211171561560157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561568157615681615658565b500190565b6000600019820361569957615699615658565b5060010190565b6000828210156156b2576156b2615658565b500390565b6000602082840312156156c957600080fd5b81516150188161538a565b6000602082840312156156e657600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561571057615710615658565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561574057615740615658565b02949350505050565b600067ffffffffffffffff8381169083168181101561576a5761576a615658565b039392505050565b60006020828403121561578457600080fd5b81516150188161547f565b600080604083850312156157a257600080fd5b505080516020909101519092909150565b6000602082840312156157c557600080fd5b815163ffffffff8116811461501857600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157fe576157fe6157d9565b500490565b600081600019048311821515161561581d5761581d615658565b500290565b600082615831576158316157d9565b500690565b60006001600160801b038381169083168181101561576a5761576a615658565b60006001600160801b0380831681851680830382111561571057615710615658565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158d5606083018789615878565b82810360208401526158e8818688615878565b9150508260408301529695505050505050565b600060ff821660ff84168082101561591557615915615658565b90039392505050565b600060ff831680615931576159316157d9565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561598157615981615658565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156159bc576159bc615658565b600087129250878205871284841616156159d8576159d8615658565b878505871281841616156159ee576159ee615658565b505050929093029392505050565b600082615a0b57615a0b6157d9565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a4157615a41615658565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb908000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1fd25cd", + "logs": [ + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" + ], + "data": "0x000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x18e", + "removed": false + }, + { + "address": "0xf272670eb55e895584501d564afeb048bed26194", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed" + ], + "data": "0x", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x18f", + "removed": false + }, + { + "address": "0x49f53e41452c74589e85ca1677426ba426459e85", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202" + ], + "data": "0x", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x190", + "removed": false + }, + { + "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb" + ], + "data": "0x", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x191", + "removed": false + }, + { + "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50" + ], + "data": "0x", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x192", + "removed": false + }, + { + "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", + "topics": [ + "0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c", + "0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a" + ], + "data": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x193", + "removed": false + }, + { + "address": "0x21efd066e581fa55ef105170cc04d74386a09190", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9" + ], + "data": "0x", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x194", + "removed": false + }, + { + "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "topics": [ + "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", + "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x195", + "removed": false + }, + { + "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "topics": [ + "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", + "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x196", + "removed": false + }, + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030", + "0x0000000000000000000000000000000000000000000000000000000000014a34", + "0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194", + "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9" + ], + "data": "0x", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x197", + "removed": false + }, + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a0000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "blockTimestamp": "0x691c7ef8", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "logIndex": "0x198", + "removed": false + } + ], + "logsBloom": "0x000000004006000000000008000000004008000000000000000000800440030000000002000000000400010400000000800000000000000000000100000481000004810004000000000000001000020000000400008400400000000011000000000000000201000000000080200008000000000000200000000000000000082000202800000008000000000000000000080400000020000000000000000000000000000004200001000000000a0004020000000000018080040200800000000004000020000000000000000000020400000000000800200001010420400060000000002000000000000000000000000000000000000000000000000000000100", + "type": "0x2", + "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", + "transactionIndex": "0x89", + "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", + "blockNumber": "0x935539", + "gasUsed": "0x9a7f69", + "effectiveGasPrice": "0xf4249", + "from": "0x7f10098bd53519c739ca8a404afe127647d94774", + "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763475193401, + "chain": 11155111, + "commit": "58a1ca7" +} \ No newline at end of file diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/script/UpgradeWithOpSmartContractManager.sol b/sepolia/2025-11-07-upgrade-fault-proofs/script/UpgradeWithOpSmartContractManager.sol new file mode 100644 index 00000000..d910bb9c --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/script/UpgradeWithOpSmartContractManager.sol @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.15; + +import {Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; +import { + IOPContractsManager, + IOPContractsManagerStandardValidator, + ISystemConfig, + IProxyAdmin +} from "@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol"; +import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; +import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; +import {Vm} from "forge-std/Vm.sol"; +import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; + +/// @notice This script deploys new versions of OP contracts using the OP Contract Manager. +contract UpgradeWithOpSmartContractManager is MultisigScript { + ISystemConfig internal immutable _SYSTEM_CONFIG; + IOPContractsManager internal immutable OP_CONTRACT_MANAGER; + address public immutable OWNER_SAFE; + IProxyAdmin public immutable PROXY_ADMIN; + Claim immutable CANNON_ABSOLUTE_PRESTATE; + + address internal immutable L1_PROXY_ADMIN_OWNER; + address internal immutable CHALLENGER; + + constructor() { + OWNER_SAFE = vm.envAddress("OWNER_SAFE"); + PROXY_ADMIN = IProxyAdmin(vm.envAddress("PROXY_ADMIN")); + _SYSTEM_CONFIG = ISystemConfig(vm.envAddress("SYSTEM_CONFIG")); + OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress("OP_CONTRACT_MANAGER")); + CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); + L1_PROXY_ADMIN_OWNER = vm.envAddress("L1_PROXY_ADMIN_OWNER"); + CHALLENGER = vm.envAddress("CHALLENGER"); + } + + function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { + IOPContractsManagerStandardValidator.ValidationInput memory input = + IOPContractsManagerStandardValidator.ValidationInput( + PROXY_ADMIN, _SYSTEM_CONFIG, Claim.unwrap(CANNON_ABSOLUTE_PRESTATE), _SYSTEM_CONFIG.l2ChainId() + ); + + IOPContractsManagerStandardValidator.ValidationOverrides memory overrides = + IOPContractsManagerStandardValidator.ValidationOverrides(L1_PROXY_ADMIN_OWNER, CHALLENGER); + + OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides); + } + + function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { + IOPContractsManager.OpChainConfig memory baseConfig = + IOPContractsManager.OpChainConfig(_SYSTEM_CONFIG, PROXY_ADMIN, CANNON_ABSOLUTE_PRESTATE); + + IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1); + opChainConfigs[0] = baseConfig; + + IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); + + calls[0] = IMulticall3.Call3Value({ + target: address(OP_CONTRACT_MANAGER), + allowFailure: false, + callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)), + value: 0 + }); + + return calls; + } + + function _ownerSafe() internal view override returns (address) { + return OWNER_SAFE; + } + + function _useDelegateCall() internal pure override returns (bool) { + return true; + } +} diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-sc-signer.json b/sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-sc-signer.json new file mode 100644 index 00000000..c73498dc --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-sc-signer.json @@ -0,0 +1,206 @@ +{ + "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", + "ledgerId": 1, + "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", + "expectedDomainAndMessageHashes": { + "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", + "messageHash": "0x738cb5c63b889ddbbab5ae7e0c4cdc182dae7f4ff1716678cd31e4b2b9620925" + }, + "stateOverrides": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "overrides": [ + { + "key": "0xdc3041261ef345875deee5bbf656467f61ae2f0260ba59b96dff236b329efe6e", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." + } + ] + } + ], + "stateChanges": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000001a", + "after": "0x000000000000000000000000000000000000000000000000000000000000001b", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x132b6656c4b15beb5c2e41642af758bc0a8f119e85c129268964c2082734d0fa", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "L1ERC721Bridge Proxy", + "address": "0x21efd066e581fa55ef105170cc04d74386a09190", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", + "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", + "description": "Update address of L1ERC721Bridge to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "Optimism Portal Proxy", + "address": "0x49f53e41452c74589e85ca1677426ba426459e85", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", + "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", + "description": "Update address of Optimism Portal to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x0000000000000000000000000000000000000000000000000000000000000009", + "after": "0x000000000000000000000000000000000000000000000000000000000000000a", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x97386419018d8c4d4f497136fc297808ef32cc774fab08b062e9d2cebcc7b0e8", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000000e", + "after": "0x000000000000000000000000000000000000000000000000000000000000000f", + "description": "Increments the nonce", + "allowDifference": false + } + ] + }, + { + "name": "AddressManager", + "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", + "changes": [ + { + "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", + "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", + "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", + "description": "Update address of L1CrossDomainMessenger to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "OptimismMintableERC20Factory Proxy", + "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", + "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", + "description": "Update address of OptimismMintableERC20Factory to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "DisputeGameFactory Proxy", + "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", + "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", + "description": "Update address of DisputeGameFactory to new implementation", + "allowDifference": false + }, + { + "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", + "before": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", + "after": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", + "description": "Update address of PermissionedDisputeGame to new implementation", + "allowDifference": false + }, + { + "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", + "before": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", + "after": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", + "description": "Update address of FaultDisputeGame to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "System Config Proxy - Sepolia", + "address": "0xf272670eb55e895584501d564afeb048bed26194", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", + "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", + "description": "Update address of SystemConfig to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "L1StandardBridge Proxy", + "address": "0xfd0bf71f60660e2f608ed56e1659c450eb113120", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", + "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", + "description": "Update address of L1StandardBridge to new implementation", + "allowDifference": false + } + ] + } + ], + "balanceChanges": [] +} diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-signer.json b/sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-signer.json new file mode 100644 index 00000000..de4a5761 --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-signer.json @@ -0,0 +1,211 @@ +{ + "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", + "ledgerId": 1, + "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", + "expectedDomainAndMessageHashes": { + "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", + "messageHash": "0xf499c3a3e9535241bfe7ff1a97239b3b2042e314614c6c1869b56a56d878ec3d" + }, + "stateOverrides": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + }, + { + "name": "CB Signer Safe - Sepolia", + "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + }, + { + "key": "0x779df92d36af0820632e0ba83514bd3cb1ef99f5b9e496659c11d24ab3d95b54", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + } + ], + "stateChanges": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000001a", + "after": "0x000000000000000000000000000000000000000000000000000000000000001b", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x132b6656c4b15beb5c2e41642af758bc0a8f119e85c129268964c2082734d0fa", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "L1ERC721Bridge Proxy", + "address": "0x21efd066e581fa55ef105170cc04d74386a09190", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", + "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", + "description": "Update address of L1ERC721Bridge to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "Optimism Portal Proxy", + "address": "0x49f53e41452c74589e85ca1677426ba426459e85", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", + "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", + "description": "Update address of Optimism Portal to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "CB Signer Safe - Sepolia", + "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000000b", + "after": "0x000000000000000000000000000000000000000000000000000000000000000c", + "description": "Increments the nonce", + "allowDifference": false + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x0000000000000000000000000000000000000000000000000000000000000009", + "after": "0x000000000000000000000000000000000000000000000000000000000000000a", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x2f5145ced07ce269c6c4db5520937e13f39750363e1135f1fc5ed25c961f8a1b", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "AddressManager", + "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", + "changes": [ + { + "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", + "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", + "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", + "description": "Update address of L1CrossDomainMessenger to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "OptimismMintableERC20Factory Proxy", + "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", + "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", + "description": "Update address of OptimismMintableERC20Factory to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "DisputeGameFactory Proxy", + "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", + "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", + "description": "Update address of DisputeGameFactory to new implementation", + "allowDifference": false + }, + { + "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", + "before": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", + "after": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", + "description": "Update address of PermissionedDisputeGame to new implementation", + "allowDifference": false + }, + { + "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", + "before": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", + "after": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", + "description": "Update address of FaultDisputeGame to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "System Config Proxy - Sepolia", + "address": "0xf272670eb55e895584501d564afeb048bed26194", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", + "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", + "description": "Update address of SystemConfig to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "L1StandardBridge Proxy", + "address": "0xfd0bf71f60660e2f608ed56e1659c450eb113120", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", + "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", + "description": "Update address of L1StandardBridge to new implementation", + "allowDifference": false + } + ] + } + ], + "balanceChanges": [] +} diff --git a/sepolia/2025-11-07-upgrade-fault-proofs/validations/op-signer.json b/sepolia/2025-11-07-upgrade-fault-proofs/validations/op-signer.json new file mode 100644 index 00000000..f458eef4 --- /dev/null +++ b/sepolia/2025-11-07-upgrade-fault-proofs/validations/op-signer.json @@ -0,0 +1,175 @@ +{ + "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", + "ledgerId": 1, + "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", + "expectedDomainAndMessageHashes": { + "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", + "messageHash": "0xfb472420ca18b7ebe56d16c2efb3b593e9e5ac9df5385fa2e1eef648c21bc488" + }, + "stateOverrides": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "overrides": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Override the threshold to 1 so the transaction simulation can occur." + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "overrides": [ + { + "key": "0x33bc665064f9988222f9f4721074db03e0b9e5f3abdfba193c69be36e0eb02b5", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." + } + ] + } + ], + "stateChanges": [ + { + "name": "Proxy Admin Owner - Sepolia", + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000001a", + "after": "0x000000000000000000000000000000000000000000000000000000000000001b", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0xd838681ca403c84d3748b96661bee5375d8a7d01999bc2ab6f1395c0c80e9500", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Increment approvedHashes", + "allowDifference": false + } + ] + }, + { + "name": "L1ERC721Bridge Proxy", + "address": "0x21efd066e581fa55ef105170cc04d74386a09190", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", + "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", + "description": "Update address of L1ERC721Bridge to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "Optimism Portal Proxy", + "address": "0x49f53e41452c74589e85ca1677426ba426459e85", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", + "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", + "description": "Update address of Optimism Portal to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000000f", + "after": "0x0000000000000000000000000000000000000000000000000000000000000010", + "description": "Increments the nonce", + "allowDifference": false + } + ] + }, + { + "name": "AddressManager", + "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", + "changes": [ + { + "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", + "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", + "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", + "description": "Update address of L1CrossDomainMessenger to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "OptimismMintableERC20Factory Proxy", + "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", + "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", + "description": "Update address of OptimismMintableERC20Factory to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "DisputeGameFactory Proxy", + "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", + "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", + "description": "Update address of DisputeGameFactory to new implementation", + "allowDifference": false + }, + { + "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", + "before": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", + "after": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", + "description": "Update address of PermissionedDisputeGame to new implementation", + "allowDifference": false + }, + { + "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", + "before": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", + "after": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", + "description": "Update address of FaultDisputeGame to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "System Config Proxy - Sepolia", + "address": "0xf272670eb55e895584501d564afeb048bed26194", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", + "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", + "description": "Update address of SystemConfig to new implementation", + "allowDifference": false + } + ] + }, + { + "name": "L1StandardBridge Proxy", + "address": "0xfd0bf71f60660e2f608ed56e1659c450eb113120", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", + "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", + "description": "Update address of L1StandardBridge to new implementation", + "allowDifference": false + } + ] + } + ], + "balanceChanges": [] +}