From a7ef2eb782f793b70416deadb3219317f863ce9c Mon Sep 17 00:00:00 2001 From: josojo Date: Tue, 12 Dec 2023 13:12:53 +0100 Subject: [PATCH] second deployment --- .../sepolia_1702382814/deploy_output.json | 26 + .../deploy_parameters copy 2.json | 28 + .../sepolia_1702382814/deploy_parameters.json | 29 + .../deploy_parameters_with_validation.json | 28 + .../deploy_parameters_without_validation.json | 28 + deployments/sepolia_1702382814/genesis.json | 96 ++ deployments/sepolia_1702382814/sepolia.json | 1105 +++++++++++++++++ 7 files changed, 1340 insertions(+) create mode 100644 deployments/sepolia_1702382814/deploy_output.json create mode 100644 deployments/sepolia_1702382814/deploy_parameters copy 2.json create mode 100644 deployments/sepolia_1702382814/deploy_parameters.json create mode 100644 deployments/sepolia_1702382814/deploy_parameters_with_validation.json create mode 100644 deployments/sepolia_1702382814/deploy_parameters_without_validation.json create mode 100644 deployments/sepolia_1702382814/genesis.json create mode 100644 deployments/sepolia_1702382814/sepolia.json diff --git a/deployments/sepolia_1702382814/deploy_output.json b/deployments/sepolia_1702382814/deploy_output.json new file mode 100644 index 00000000..88074806 --- /dev/null +++ b/deployments/sepolia_1702382814/deploy_output.json @@ -0,0 +1,26 @@ +{ + "polygonZkEVMAddress": "0xF91704851048f44a552734f5F33203AaEc7F4A54", + "polygonZkEVMBridgeAddress": "0x2aF36b5C73759987acc25080d6A26F1aB78cA5Ec", + "polygonZkEVMGlobalExitRootAddress": "0xe638ab307B7ffF5136f3edbAF96b8fD462530639", + "forkingManager": "0x4D0AFB88a996dbCb077291744187C78a1dFCa6c0", + "maticTokenAddress": "0xD75CbeDF9DA785ba7AA4DF14a4089bD5D38e5445", + "createChildrenImplementationAddress": "0xC24610b0d03B24c302a93062527f28aF2781a7A5", + "bridgeImplementationAddress": "0x9e0031a653EF7356b636C711463De7480682F4dA", + "verifierAddress": "0x0347D2f1825AB016d910B15dDFc06f8BB2b05f26", + "zkEVMDeployerContract": "0xC8801D0ae5aC1Cf7F9e82Fc82B963A0C17E1B235", + "deployerAddress": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "timelockContractAddress": "0x0ca5a1E4bd726bd36215C2BE706F75F069a347Ed", + "deploymentBlockNumber": 4872270, + "genesisRoot": "0x94388c833d23f5fb96789708d9ddeb7f8aaadb2c12630051a5dc618cec4ff520", + "trustedSequencer": "0x740a98F8f4fAe0986FB3264Fe4aaCf94ac1EE96f", + "trustedSequencerURL": "http://16.171.217.104:8123", + "chainID": 10101035, + "networkName": "backstoplayer", + "admin": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "trustedAggregator": "0x5669C63E3B461cf50696AD0378fE2E66b982D4A7", + "proxyAdminAddress": "0x8017a49dF9e2BDD3a51606410346d73689490Df0", + "forkID": 6, + "salt": "0x0000000000000000000000000000000000000000000000000000000000000003", + "version": "0.0.1", + "minter": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361" +} \ No newline at end of file diff --git a/deployments/sepolia_1702382814/deploy_parameters copy 2.json b/deployments/sepolia_1702382814/deploy_parameters copy 2.json new file mode 100644 index 00000000..be43ecbb --- /dev/null +++ b/deployments/sepolia_1702382814/deploy_parameters copy 2.json @@ -0,0 +1,28 @@ +{ + "realVerifier": true, + "trustedSequencerURL": "http://16.171.217.104:8123", + "networkName": "backstoplayer", + "version": "0.0.1", + "trustedSequencer": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "chainID": 10101012, + "trustedAggregator": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "trustedAggregatorTimeout": 604799, + "pendingStateTimeout": 604799, + "forkID": 5, + "admin": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "zkEVMOwner": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "timelockAddress": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "minDelayTimelock": 3600, + "salt": "0x0000000000000000000000000000000000000000000000000000000000000001", + "initialZkEVMDeployerOwner": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "maticTokenAddress": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + "zkEVMDeployerAddress": "0x21D7DaEB169745882A323b31eF999617fCbd2794", + "deployerPvtKey": "", + "maxFeePerGas": "48", + "maxPriorityFeePerGas": "1", + "multiplierGas": "1", + "createChildrenImplementationAddress": "0x2a68e9b32aA0F670d41852b9d21A1ec36A708852", + "hardAssetManagerAddress": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "arbitrationFee": "1000000000000000000", + "proxyAdminAddress": "0x980cA13a051c812ee4d1809be6ffBaFF5d095E78" +} \ No newline at end of file diff --git a/deployments/sepolia_1702382814/deploy_parameters.json b/deployments/sepolia_1702382814/deploy_parameters.json new file mode 100644 index 00000000..75712eae --- /dev/null +++ b/deployments/sepolia_1702382814/deploy_parameters.json @@ -0,0 +1,29 @@ +{ + "realVerifier": true, + "trustedSequencerURL": "http://16.171.217.104:8123", + "networkName": "backstoplayer", + "version": "0.0.1", + "forkPreparationTime": 60, + "trustedSequencer": "0x740a98F8f4fAe0986FB3264Fe4aaCf94ac1EE96f", + "chainID": 10101035, + "trustedAggregator": "0x5669C63E3B461cf50696AD0378fE2E66b982D4A7", + "trustedAggregatorTimeout": 604799, + "pendingStateTimeout": 604799, + "forkID": 6, + "admin": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "zkEVMOwner": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "timelockAddress": "0x617b3a3528F9cDd6630fd3301B9c8911F7Bf063D", + "minDelayTimelock": 60, + "salt": "0x0000000000000000000000000000000000000000000000000000000000000003", + "initialZkEVMDeployerOwner": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "maticTokenAddress": "0xD75CbeDF9DA785ba7AA4DF14a4089bD5D38e5445", + "zkEVMDeployerAddress": "0xC8801D0ae5aC1Cf7F9e82Fc82B963A0C17E1B235", + "deployerPvtKey": "", + "maxFeePerGas": "150", + "maxPriorityFeePerGas": "10", + "multiplierGas": "2", + "createChildrenImplementationAddress": "0xC24610b0d03B24c302a93062527f28aF2781a7A5", + "hardAssetManagerAddress": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "arbitrationFee": "1000000000000000000", + "proxyAdminAddress": "0x8017a49dF9e2BDD3a51606410346d73689490Df0" +} \ No newline at end of file diff --git a/deployments/sepolia_1702382814/deploy_parameters_with_validation.json b/deployments/sepolia_1702382814/deploy_parameters_with_validation.json new file mode 100644 index 00000000..e8034027 --- /dev/null +++ b/deployments/sepolia_1702382814/deploy_parameters_with_validation.json @@ -0,0 +1,28 @@ +{ + "realVerifier": true, + "trustedSequencerURL": "http://16.171.217.104:8123", + "networkName": "backstoplayer", + "version": "0.0.1", + "trustedSequencer": "0x740a98F8f4fAe0986FB3264Fe4aaCf94ac1EE96f", + "chainID": 10101012, + "trustedAggregator": "0x5669C63E3B461cf50696AD0378fE2E66b982D4A7", + "trustedAggregatorTimeout": 604799, + "pendingStateTimeout": 604799, + "forkID": 5, + "admin": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "zkEVMOwner": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "timelockAddress": "0x617b3a3528F9cDd6630fd3301B9c8911F7Bf063D", + "minDelayTimelock": 3600, + "salt": "0x0000000000000000000000000000000000000000000000000000000000000001", + "initialZkEVMDeployerOwner": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "maticTokenAddress": "0x1D87F62F93894d2A0541E9Ce839cC56534cfC74C", + "zkEVMDeployerAddress": "0x1739DeE64421B222A2A69808950d7871A40DA7DC", + "deployerPvtKey": "", + "maxFeePerGas": "48", + "maxPriorityFeePerGas": "1", + "multiplierGas": "1", + "createChildrenImplementationAddress": "0xDD1c21da5B82A2f5A739D59844B5DeEF403B0492", + "hardAssetManagerAddress": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "arbitrationFee": "1000000000000000000", + "proxyAdminAddress": "0x1E40E6E69FB1C773dfdE44530c89FD2E9d092D87" +} \ No newline at end of file diff --git a/deployments/sepolia_1702382814/deploy_parameters_without_validation.json b/deployments/sepolia_1702382814/deploy_parameters_without_validation.json new file mode 100644 index 00000000..20f6ee0b --- /dev/null +++ b/deployments/sepolia_1702382814/deploy_parameters_without_validation.json @@ -0,0 +1,28 @@ +{ + "realVerifier": false, + "trustedSequencerURL": "http://16.171.204.163:8123", + "networkName": "backstoplayer", + "version": "0.0.1", + "trustedSequencer": "0x740a98F8f4fAe0986FB3264Fe4aaCf94ac1EE96f", + "chainID": 10101015, + "trustedAggregator": "0x5669C63E3B461cf50696AD0378fE2E66b982D4A7", + "trustedAggregatorTimeout": 604799, + "pendingStateTimeout": 604799, + "forkID": 5, + "admin": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "zkEVMOwner": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "timelockAddress": "0x617b3a3528F9cDd6630fd3301B9c8911F7Bf063D", + "minDelayTimelock": 3600, + "salt": "0x0000000000000000000000000000000000000000000000000000000000000001", + "initialZkEVMDeployerOwner": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "maticTokenAddress": "0x1D87F62F93894d2A0541E9Ce839cC56534cfC74C", + "zkEVMDeployerAddress": "0x1739DeE64421B222A2A69808950d7871A40DA7DC", + "deployerPvtKey": "", + "maxFeePerGas": "48", + "maxPriorityFeePerGas": "1", + "multiplierGas": "1", + "createChildrenImplementationAddress": "0xDD1c21da5B82A2f5A739D59844B5DeEF403B0492", + "hardAssetManagerAddress": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361", + "arbitrationFee": "1000000000000000000", + "proxyAdminAddress": "0x1E40E6E69FB1C773dfdE44530c89FD2E9d092D87" +} \ No newline at end of file diff --git a/deployments/sepolia_1702382814/genesis.json b/deployments/sepolia_1702382814/genesis.json new file mode 100644 index 00000000..298304a5 --- /dev/null +++ b/deployments/sepolia_1702382814/genesis.json @@ -0,0 +1,96 @@ +{ + "root": "0x94388c833d23f5fb96789708d9ddeb7f8aaadb2c12630051a5dc618cec4ff520", + "genesis": [ + { + "contractName": "PolygonZkEVMDeployer", + "balance": "0", + "nonce": "6", + "address": "0xAaDD48980C22aD32Cc3F08D91778b9d8Dc730FAD", + "bytecode": "0x60806040526004361061006e575f3560e01c8063715018a61161004c578063715018a6146100d55780638da5cb5b146100e9578063e11ae6cb14610105578063f2fde38b14610118575f80fd5b80632b79805a146100725780634a94d487146100875780636d07dbf81461009a575b5f80fd5b610085610080366004610739565b610137565b005b6100856100953660046107c6565b61019b565b3480156100a5575f80fd5b506100b96100b4366004610819565b6101dc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100e0575f80fd5b506100856101ee565b3480156100f4575f80fd5b505f546001600160a01b03166100b9565b610085610113366004610839565b610201565b348015610123575f80fd5b50610085610132366004610885565b61025a565b61013f6102d8565b5f61014b858585610331565b90506101578183610433565b506040516001600160a01b03821681527fba82f25fed02cd2a23d9f5d11c2ef588d22af5437cbf23bfe61d87257c480e4c9060200160405180910390a15050505050565b6101a36102d8565b6101ae838383610476565b506040517f25adb19089b6a549831a273acdf7908cff8b7ee5f551f8d1d37996cf01c5df5b905f90a1505050565b5f6101e783836104a4565b9392505050565b6101f66102d8565b6101ff5f6104b0565b565b6102096102d8565b5f610215848484610331565b6040516001600160a01b03821681529091507fba82f25fed02cd2a23d9f5d11c2ef588d22af5437cbf23bfe61d87257c480e4c9060200160405180910390a150505050565b6102626102d8565b6001600160a01b0381166102cc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6102d5816104b0565b50565b5f546001600160a01b031633146101ff5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c3565b5f834710156103825760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016102c3565b81515f036103d25760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016102c3565b8282516020840186f590506001600160a01b0381166101e75760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016102c3565b60606101e783835f6040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506104ff565b606061049c84848460405180606001604052806029815260200161090e602991396104ff565b949350505050565b5f6101e78383306105d6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060824710156105605760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102c3565b5f80866001600160a01b0316858760405161057b91906108c0565b5f6040518083038185875af1925050503d805f81146105b5576040519150601f19603f3d011682016040523d82523d5f602084013e6105ba565b606091505b50915091506105cb878383876105ff565b979650505050505050565b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6060831561066d5782515f03610666576001600160a01b0385163b6106665760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102c3565b508161049c565b61049c83838151156106825781518083602001fd5b8060405162461bcd60e51b81526004016102c391906108db565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126106bf575f80fd5b813567ffffffffffffffff808211156106da576106da61069c565b604051601f8301601f19908116603f011681019082821181831017156107025761070261069c565b8160405283815286602085880101111561071a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f806080858703121561074c575f80fd5b8435935060208501359250604085013567ffffffffffffffff80821115610771575f80fd5b61077d888389016106b0565b93506060870135915080821115610792575f80fd5b5061079f878288016106b0565b91505092959194509250565b80356001600160a01b03811681146107c1575f80fd5b919050565b5f805f606084860312156107d8575f80fd5b6107e1846107ab565b9250602084013567ffffffffffffffff8111156107fc575f80fd5b610808868287016106b0565b925050604084013590509250925092565b5f806040838503121561082a575f80fd5b50508035926020909101359150565b5f805f6060848603121561084b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561086f575f80fd5b61087b868287016106b0565b9150509250925092565b5f60208284031215610895575f80fd5b6101e7826107ab565b5f5b838110156108b85781810151838201526020016108a0565b50505f910152565b5f82516108d181846020870161089e565b9190910192915050565b602081525f82518060208401526108f981604085016020870161089e565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220d9f25135403c0a30b107f9856b200d3cdceefeeaf337823e7f8260b7784054f464736f6c63430008140033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x00000000000000000000000025f2d1651b631be5334e2e5ebf29842b64aca361" + } + }, + { + "contractName": "ProxyAdmin", + "balance": "0", + "nonce": "1", + "address": "0x749B000b2efFa4AB539Fa6681efd9cbD6F0664Bb", + "bytecode": "0x608060405260043610610079575f3560e01c80639623609d1161004c5780639623609d1461010957806399a88ec41461011c578063f2fde38b1461013b578063f3b7dead1461015a575f80fd5b8063204e1c7a1461007d578063715018a6146100b85780637eff275e146100ce5780638da5cb5b146100ed575b5f80fd5b348015610088575f80fd5b5061009c610097366004610479565b610179565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c3575f80fd5b506100cc610204565b005b3480156100d9575f80fd5b506100cc6100e836600461049b565b610217565b3480156100f8575f80fd5b505f546001600160a01b031661009c565b6100cc6101173660046104e6565b61027a565b348015610127575f80fd5b506100cc61013636600461049b565b6102e5565b348015610146575f80fd5b506100cc610155366004610479565b61031b565b348015610165575f80fd5b5061009c610174366004610479565b610399565b5f805f836001600160a01b031660405161019d90635c60da1b60e01b815260040190565b5f60405180830381855afa9150503d805f81146101d5576040519150601f19603f3d011682016040523d82523d5f602084013e6101da565b606091505b5091509150816101e8575f80fd5b808060200190518101906101fc91906105b5565b949350505050565b61020c6103bd565b6102155f610416565b565b61021f6103bd565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b5f604051808303815f87803b158015610260575f80fd5b505af1158015610272573d5f803e3d5ffd5b505050505050565b6102826103bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102b290869086906004016105d0565b5f604051808303818588803b1580156102c9575f80fd5b505af11580156102db573d5f803e3d5ffd5b5050505050505050565b6102ed6103bd565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe690602401610249565b6103236103bd565b6001600160a01b03811661038d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61039681610416565b50565b5f805f836001600160a01b031660405161019d906303e1469160e61b815260040190565b5f546001600160a01b031633146102155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610384565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610396575f80fd5b5f60208284031215610489575f80fd5b813561049481610465565b9392505050565b5f80604083850312156104ac575f80fd5b82356104b781610465565b915060208301356104c781610465565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f606084860312156104f8575f80fd5b833561050381610465565b9250602084013561051381610465565b9150604084013567ffffffffffffffff8082111561052f575f80fd5b818601915086601f830112610542575f80fd5b813581811115610554576105546104d2565b604051601f8201601f19908116603f0116810190838211818310171561057c5761057c6104d2565b81604052828152896020848701011115610594575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f602082840312156105c5575f80fd5b815161049481610465565b60018060a01b03831681525f602060408184015283518060408501525f5b8181101561060a578581018301518582016060015282016105ee565b505f606082860101526060601f19601f83011685010192505050939250505056fea264697066735822122057cb1496d39d816338e2e73c1a7ee61d3aa8ce32a8fa25c45228077b9e62493764736f6c63430008140033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000ad2e7ff907ef6284ad2282e36815b026ebd806dd" + } + }, + { + "contractName": "PolygonZkEVMBridge implementation", + "balance": "0", + "nonce": "1", + "address": "0x81a5D04E612dBC7635f97891cb1bA94B42187b82", + "bytecode": "0x6080604052600436106200027b575f3560e01c80637002ce42116200014e578063be5831c711620000c2578063e9913e7c1162000082578063e9913e7c1462000822578063ea8ef6be1462000844578063ee25560b146200086a578063f4b0eb6a1462000899578063f83866f414620008bf578063fb57083414620008e3575f80fd5b8063be5831c7146200078a578063cd58657914620007af578063d02103ca14620007c6578063dbc1697614620007e7578063e7403efb14620007fe575f80fd5b8063955bd57d116200010e578063955bd57d14620006c55780639e34070f14620006f9578063a4396d69146200071d578063aaa13cc21462000741578063bab161bf1462000765575f80fd5b80637002ce4214620005fb57806379e2cf9714620006335780637b44b368146200064a57806381b1c1741462000669578063892076f514620006a1575f80fd5b80632dfdf0b511620001f25780633ae0504711620001b25780633ae05047146200050e5780633c351e1014620005255780633e1970431462000546578063485cc955146200056a5780634892e8e8146200058e5780635509e60914620005d7575f80fd5b80632dfdf0b514620004215780632f3954c91462000438578063316c859e146200045c578063318aee3d146200048057806334ac9cf214620004ed575f80fd5b8063230b9da3116200023e578063230b9da3146200035c578063240ff378146200037d57806326144ab914620003945780632cffd02e14620003d95780632d2c9d9414620003fd575f80fd5b80630d46caee146200027f57806315064c9614620002a55780631c13c0f414620002d55780632072f6c5146200030857806322e95f2c146200031f575b5f80fd5b3480156200028b575f80fd5b50620002a36200029d36600462003775565b62000907565b005b348015620002b1575f80fd5b50606854620002c09060ff1681565b60405190151581526020015b60405180910390f35b348015620002e1575f80fd5b50620002f9620002f3366004620037a2565b62000a68565b604051908152602001620002cc565b34801562000314575f80fd5b50620002a362000a7f565b3480156200032b575f80fd5b50620003436200033d366004620037ce565b62000ab7565b6040516001600160a01b039091168152602001620002cc565b34801562000368575f80fd5b5060695462000343906001600160a01b031681565b620002a36200038e3660046200385e565b62000b07565b348015620003a0575f80fd5b50620003b8620003b2366004620038dd565b62000b5e565b604080516001600160a01b03938416815292909116602083015201620002cc565b348015620003e5575f80fd5b50620002a3620003f73660046200390d565b62000bd3565b34801562000409575f80fd5b50620002a36200041b3660046200390d565b62000c36565b3480156200042d575f80fd5b50620002f960535481565b34801562000444575f80fd5b50620002a362000456366004620039eb565b62000c8c565b34801562000468575f80fd5b50620002a36200047a36600462003a2f565b62000e63565b3480156200048c575f80fd5b50620004c86200049e366004620038dd565b606f6020525f908152604090205463ffffffff81169064010000000090046001600160a01b031682565b6040805163ffffffff90931683526001600160a01b03909116602083015201620002cc565b348015620004f9575f80fd5b5060705462000343906001600160a01b031681565b3480156200051a575f80fd5b50620002f962000f44565b34801562000531575f80fd5b50606b5462000343906001600160a01b031681565b34801562000552575f80fd5b50620002f96200056436600462003ac6565b62001029565b34801562000576575f80fd5b50620002a36200058836600462003b4b565b620010b5565b3480156200059a575f80fd5b50606a6020525f8051602062005d978339815191525460015f525f8051602062005db7833981519152546001600160a01b039182169116620003b8565b348015620005e3575f80fd5b50620002a3620005f536600462003bab565b62001116565b34801562000607575f80fd5b506200034362000619366004620037a2565b606a6020525f90815260409020546001600160a01b031681565b3480156200063f575f80fd5b50620002a36200123e565b34801562000656575f80fd5b506071546001600160a01b031662000343565b34801562000675575f80fd5b506200034362000687366004620037a2565b606e6020525f90815260409020546001600160a01b031681565b348015620006ad575f80fd5b50620002a3620006bf36600462003c87565b62001262565b348015620006d1575f80fd5b50606c54600160a01b900463ffffffff165b60405163ffffffff9091168152602001620002cc565b34801562000705575f80fd5b50620002c062000717366004620037a2565b620013bd565b34801562000729575f80fd5b50620002a36200073b36600462003cc0565b6200148d565b3480156200074d575f80fd5b50620003436200075f36600462003d98565b62001600565b34801562000771575f80fd5b50606b54620006e390600160a81b900463ffffffff1681565b34801562000796575f80fd5b50606c54620006e390600160a01b900463ffffffff1681565b620002a3620007c036600462003e45565b62001715565b348015620007d2575f80fd5b50606c5462000343906001600160a01b031681565b348015620007f3575f80fd5b50620002a362001767565b3480156200080a575f80fd5b50620002a36200081c36600462003ee1565b6200179d565b3480156200082e575f80fd5b50606b54620002c090600160a01b900460ff1681565b34801562000850575f80fd5b506200085b62001937565b604051620002cc919062003f1a565b34801562000876575f80fd5b50620002f962000888366004620037a2565b606d6020525f908152604090205481565b348015620008a5575f80fd5b50606854620003439061010090046001600160a01b031681565b348015620008cb575f80fd5b50620002a3620008dd36600462003f52565b62001976565b348015620008ef575f80fd5b50620002c06200090136600462003fa5565b62001a5f565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b0316620009505760405162461bcd60e51b8152600401620009479062003fef565b60405180910390fd5b60015f52606a6020525f8051602062005db7833981519152546001600160a01b0316620009915760405162461bcd60e51b8152600401620009479062003fef565b6001600160a01b038281165f818152606f60209081526040808320606a83525f8051602062005d978339815191525460019094525f8051602062005db783398151915254915163d5f37c5d60e01b81526004810195909552602485018790525463ffffffff8116604486015290911c84166064840152908316608483015290911660a4820152730cc78e0e191c42bcaf571b73ab6d9deb6321eb829063d5f37c5d9060c4015f6040518083038186803b15801562000a4d575f80fd5b505af415801562000a60573d5f803e3d5ffd5b505050505050565b6033816020811062000a78575f80fd5b0154905081565b6070546001600160a01b0316331462000aab5760405163e2e8106b60e01b815260040160405180910390fd5b62000ab562001b47565b565b5f606e5f848460405160200162000ad092919062004019565b60408051601f198184030181529181528151602092830120835290820192909252015f20546001600160a01b031690505b92915050565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b03161562000b485760405162461bcd60e51b8152600401620009479062004043565b62000b57858585858562001ba3565b5050505050565b6068545f90819061010090046001600160a01b0316331462000bb55760405162461bcd60e51b815260206004820152600f60248201526e2737ba103337b935a6b0b730b3b2b960891b604482015260640162000947565b62000bbf6200123e565b62000bca8362001ce5565b91509150915091565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b03161562000c145760405162461bcd60e51b8152600401620009479062004043565b62000c298b8b8b8b8b8b8b8b8b8b8b62001e3c565b5050505050505050505050565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b03161562000c775760405162461bcd60e51b8152600401620009479062004043565b62000c298b8b8b8b8b8b8b8b8b8b8b6200202b565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b031662000ccc5760405162461bcd60e51b8152600401620009479062003fef565b60015f52606a6020525f8051602062005db7833981519152546001600160a01b031662000d0d5760405162461bcd60e51b8152600401620009479062003fef565b6071546001600160a01b0316331462000d5a5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640162000947565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b038281169116148062000daf575060015f52606a6020525f8051602062005db7833981519152546001600160a01b038281169116145b62000dea5760405162461bcd60e51b815260206004820152600a602482015269496e76616c696420746f60b01b604482015260640162000947565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303815f875af115801562000e37573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000e5d91906200407a565b50505050565b6069546001600160a01b0316331462000eac5760405162461bcd60e51b815260206004820152600a602482015269139bdd081c185c995b9d60b21b604482015260640162000947565b606b5463ffffffff600160a81b90910481169086160362000efe5760405162461bcd60e51b815260206004820152600b60248201526a3bb937b733902a37b5b2b760a91b604482015260640162000947565b62000a60858785858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792508a9150620021769050565b6053545f90819081805b602081101562001020578083901c60011660010362000fb1576033816020811062000f7d5762000f7d62004098565b0154604080516020810192909252810185905260600160405160208183030381529060405280519060200120935062000fde565b60408051602081018690529081018390526060016040516020818303038152906040528051906020012093505b604080516020810184905290810183905260600160405160208183030381529060405280519060200120915080806200101790620040c0565b91505062000f4e565b50919392505050565b6040516001600160f81b031960f889901b1660208201526001600160e01b031960e088811b821660218401526001600160601b0319606089811b821660258601529188901b909216603984015285901b16603d82015260518101839052607181018290525f90609101604051602081830303815290604052805190602001209050979650505050505050565b5f54610100900460ff16620010de5760405162461bcd60e51b81526004016200094790620040db565b60688054610100600160a81b0319166101006001600160a01b0394851602179055606980546001600160a01b03191691909216179055565b5f54610100900460ff166200113f5760405162461bcd60e51b81526004016200094790620040db565b86606b60156101000a81548163ffffffff021916908363ffffffff16021790555085606c5f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508460705f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555083606b5f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082606b60146101000a81548160ff02191690831515021790555081606c60146101000a81548163ffffffff021916908363ffffffff1602179055506200122b606c60149054906101000a900463ffffffff1682620023f7565b620012356200243e565b50505050505050565b605354606c54600160a01b900463ffffffff16101562000ab55762000ab562002471565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b0316620012a25760405162461bcd60e51b8152600401620009479062003fef565b60015f52606a6020525f8051602062005db7833981519152546001600160a01b0316620012e35760405162461bcd60e51b8152600401620009479062003fef565b5f8052606a6020525f8051602062005d9783398151915254730cc78e0e191c42bcaf571b73ab6d9deb6321eb8290630596dab190859085906001600160a01b03168562001331575f62001354565b60015f52606a6020525f8051602062005db7833981519152546001600160a01b03165b6001600160a01b0389165f908152606f60205260409081902090516001600160e01b031960e088901b1681526200139395949392919060040162004126565b5f6040518083038186803b158015620013aa575f80fd5b505af415801562001235573d5f803e3d5ffd5b5f816053541015620013d057505f919050565b600882901c5f908152606d6020526040902054600160ff84161b908116148015620013fe5750600192915050565b6069546001600160a01b0316156200148557606954604051639e34070f60e01b8152600481018590526001600160a01b0390911690639e34070f90602401602060405180830381865afa15801562001458573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200147e91906200407a565b9392505050565b505f92915050565b5f54610100900460ff1615808015620014ac57505f54600160ff909116105b80620014c75750303b158015620014c757505f5460ff166001145b6200152c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000947565b5f805460ff1916600117905580156200154e575f805461ff0019166101001790555b6200155a8b8b620010b5565b6200159289898989898888602080602002604051908101604052809291908260208002808284375f9201919091525062001116915050565b607180546001600160a01b0319166001600160a01b038616179055801562000c29575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050505050505050505050565b5f8088886040516020016200161792919062004019565b6040516020818303038152906040528051906020012090505f60ff60f81b3083604051806020016200164990620036da565b601f1982820381018352601f90910116604081905262001676908d908d908d908d908d9060200162004198565b60408051601f1981840301815290829052620016969291602001620041fc565b60405160208183030381529060405280519060200120604051602001620016ef94939291906001600160f81b031994909416845260609290921b6001600160601b03191660018401526015830152603582015260550190565b60408051808303601f1901815291905280516020909101209a9950505050505050505050565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b031615620017565760405162461bcd60e51b8152600401620009479062004043565b6200123587878787878787620024fd565b6070546001600160a01b03163314620017935760405163e2e8106b60e01b815260040160405180910390fd5b62000ab5620028b9565b60685461010090046001600160a01b03163314620017f05760405162461bcd60e51b815260206004820152600f60248201526e2737ba103337b935a6b0b730b3b2b960891b604482015260640162000947565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b0316620018305760405162461bcd60e51b8152600401620009479062003fef565b60015f52606a6020525f8051602062005db7833981519152546001600160a01b0316620018715760405162461bcd60e51b8152600401620009479062003fef565b606b54730cc78e0e191c42bcaf571b73ab6d9deb6321eb82906323f9096e906001600160a01b03168585620018c85760015f52606a6020525f8051602062005db7833981519152546001600160a01b0316620018ea565b5f8052606a6020525f8051602062005d97833981519152546001600160a01b03165b60405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201528415156064820152831515608482015260a40162001393565b62001941620036e8565b604080516104008101918290529060339060209082845b81548152602001906001019080831162001958575050505050905090565b6069546001600160a01b03163314620019bf5760405162461bcd60e51b815260206004820152600a602482015269139bdd081c185c995b9d60b21b604482015260640162000947565b5f8284604051602001620019d592919062004019565b60408051808303601f1901815282825280516020918201205f818152606e90925291902054632770a7eb60e21b83526001600160a01b038881166004850152602484018690529193501690639dc29fac906044015f604051808303815f87803b15801562001a41575f80fd5b505af115801562001a54573d5f803e3d5ffd5b505050505050505050565b5f84815b602081101562001b3957600163ffffffff8616821c8116900362001ad55785816020811062001a965762001a9662004098565b60200201358260405160200162001ab7929190918252602082015260400190565b60405160208183030381529060405280519060200120915062001b24565b8186826020811062001aeb5762001aeb62004098565b602002013560405160200162001b0b929190918252602082015260400190565b6040516020818303038152906040528051906020012091505b8062001b3081620040c0565b91505062001a63565b50821490505b949350505050565b60685460ff161562001b6c57604051630bc011ff60e21b815260040160405180910390fd5b6068805460ff191660011790556040517f2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497905f90a1565b60685460ff161562001bc857604051630bc011ff60e21b815260040160405180910390fd5b341562001be85760405163798ee6f160e01b815260040160405180910390fd5b606b5463ffffffff868116600160a81b90920416148062001c105750600263ffffffff861610155b1562001c2f576040516302caf51760e11b815260040160405180910390fd5b7f501781209a1f8899323b96b4ef08b168df93e0a90c673d1e4cce39366cb62f9b6001606b60159054906101000a900463ffffffff1633888834888860535460405162001c85999897969594939291906200422e565b60405180910390a162001cd462001cce6001606b60159054906101000a900463ffffffff1633898934898960405162001cc09291906200429c565b604051809103902062001029565b62002911565b821562000b575762000b5762002471565b5f8073ef9a3a9189077afb964cd566280ff36acb28bcb3635f569eba6040518163ffffffff1660e01b8152600401602060405180830381865af415801562001d2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001d559190620042ab565b5f8052606a6020525f8051602062005d9783398151915280546001600160a01b0319166001600160a01b038381169190911790915560405163d2b14eb960e01b8152908516600482015290925073ef9a3a9189077afb964cd566280ff36acb28bcb39063d2b14eb990602401602060405180830381865af415801562001ddd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001e039190620042ab565b60015f52606a6020525f8051602062005db783398151915280546001600160a01b0319166001600160a01b038316179055919391925050565b60685460ff161562001e6157604051630bc011ff60e21b815260040160405180910390fd5b62001e778b8b8b8b8b8b8b8b8b8b8b5f62002a07565b6001600160a01b03861615801562001e985750606b54600160a01b900460ff165b1562001f3457604080515f808252602082019092526001600160a01b03861690859060405162001ec99190620042c9565b5f6040518083038185875af1925050503d805f811462001f05576040519150601f19603f3d011682016040523d82523d5f602084013e62001f0a565b606091505b505090508062001f2d57604051630ce8f45160e31b815260040160405180910390fd5b5062001ff2565b6001600160a01b03861615801562001f565750606b54600160a01b900460ff16155b1562001f7b57606b5462001f75906001600160a01b0316858562002b7c565b62001ff2565b606b5463ffffffff600160a81b90910481169088160362001fac5762001f756001600160a01b038716858562002b7c565b62001ff2878784848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a9250899150620021769050565b7f25308c93ceeed162da955b3f7ce3e3f93606579e40fb92029faa9efe275459838a88888787604051620015eb959493929190620042e6565b60685460ff16156200205057604051630bc011ff60e21b815260040160405180910390fd5b620020678b8b8b8b8b8b8b8b8b8b8b600162002a07565b5f846001600160a01b031684888a86866040516024016200208c94939291906200431d565b60408051601f198184030181529181526020820180516001600160e01b0316630c035af960e11b17905251620020c39190620042c9565b5f6040518083038185875af1925050503d805f8114620020ff576040519150601f19603f3d011682016040523d82523d5f602084013e62002104565b606091505b505090508062002127576040516337e391c360e01b815260040160405180910390fd5b7f25308c93ceeed162da955b3f7ce3e3f93606579e40fb92029faa9efe275459838b8989888860405162002160959493929190620042e6565b60405180910390a1505050505050505050505050565b5f85856040516020016200218c92919062004019565b60408051601f1981840301815291815281516020928301205f818152606e9093529120549091506001600160a01b0316806200239c575f805f87806020019051810190620021db9190620043d4565b9250925092505f85848484604051620021f490620036da565b620022029392919062004472565b8190604051809103905ff590508015801562002220573d5f803e3d5ffd5b506040516340c10f1960e01b81526001600160a01b038a81166004830152602482018a9052919250908216906340c10f19906044015f604051808303815f87803b1580156200226d575f80fd5b505af115801562002280573d5f803e3d5ffd5b5050505080606e5f8881526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060405180604001604052808c63ffffffff1681526020018b6001600160a01b0316815250606f5f836001600160a01b03166001600160a01b031681526020019081526020015f205f820151815f015f6101000a81548163ffffffff021916908363ffffffff1602179055506020820151815f0160046101000a8154816001600160a01b0302191690836001600160a01b031602179055509050507f490e59a1701b938786ac72570a1efeac994a3dbe96e2e883e19e902ace6e6a398b8b838c6040516200238a9493929190620044ae565b60405180910390a15050505062001235565b6040516340c10f1960e01b81526001600160a01b038581166004830152602482018590528216906340c10f19906044015f604051808303815f87803b158015620023e4575f80fd5b505af115801562000c29573d5f803e3d5ffd5b5f54610100900460ff16620024205760405162461bcd60e51b81526004016200094790620040db565b63ffffffff821660535562002439603382602062003707565b505050565b5f54610100900460ff16620024675760405162461bcd60e51b81526004016200094790620040db565b62000ab562002be1565b605354606c805463ffffffff909216600160a01b0263ffffffff60a01b19831681179091556001600160a01b039081169116176333d6247d620024b362000f44565b6040518263ffffffff1660e01b8152600401620024d291815260200190565b5f604051808303815f87803b158015620024ea575f80fd5b505af115801562000e5d573d5f803e3d5ffd5b60685460ff16156200252257604051630bc011ff60e21b815260040160405180910390fd5b6200252c62002c10565b606b5463ffffffff888116600160a81b909204161480620025545750600263ffffffff881610155b1562002573576040516302caf51760e11b815260040160405180910390fd5b5f806060876001600160a01b038816158015620025995750606b54600160a01b900460ff165b15620025c957883414620025c05760405163b89240f560e01b815260040160405180910390fd5b5f925062002835565b3415620025e95760405163798ee6f160e01b815260040160405180910390fd5b6001600160a01b038089165f908152606f602090815260409182902082518084019093525463ffffffff81168352640100000000900490921691810182905290156200269f57604051632770a7eb60e21b8152336004820152602481018b90526001600160a01b038a1690639dc29fac906044015f604051808303815f87803b15801562002675575f80fd5b505af115801562002688573d5f803e3d5ffd5b5050505080602001519450805f0151935062002833565b8515620026b457620026b4898b898962002c6b565b6040516370a0823160e01b81523060048201525f906001600160a01b038b16906370a0823190602401602060405180830381865afa158015620026f9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200271f9190620044e7565b9050620027386001600160a01b038b1633308e62002fc2565b6040516370a0823160e01b81523060048201525f906001600160a01b038c16906370a0823190602401602060405180830381865afa1580156200277d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620027a39190620044e7565b9050620027b18282620044ff565b606b549094506001600160a01b03908116908c1603620027d4575f9650620027d8565b8a96505b606b54600160a81b900463ffffffff169550620027f58b62002ffc565b620028008c620030bf565b6200280b8d62003179565b6040516020016200281f9392919062004472565b604051602081830303815290604052945050505b505b7f501781209a1f8899323b96b4ef08b168df93e0a90c673d1e4cce39366cb62f9b5f84868e8e86886053546040516200287698979695949392919062004515565b60405180910390a16200289a62001cce5f85878f8f87898051906020012062001029565b8615620028ab57620028ab62002471565b505050506200123560018055565b60685460ff16620028dd57604051635386698160e01b815260040160405180910390fd5b6068805460ff191690556040517f1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3905f90a1565b80600162002922602060026200467a565b6200292e9190620044ff565b6053541062002950576040516377ae67b360e11b815260040160405180910390fd5b5f60535f81546200296190620040c0565b918290555090505f5b6020811015620029fc578082901c600116600103620029a25782603382602081106200299a576200299a62004098565b015550505050565b60338160208110620029b857620029b862004098565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092508080620029f390620040c0565b9150506200296a565b506200243962004687565b62002a188b63ffffffff1662003236565b606c546040805160208082018e90528183018d9052825180830384018152606083019384905280519101206312bd9b1960e11b90925260648101919091525f916001600160a01b03169063257b3632906084016020604051808303815f875af115801562002a88573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002aae9190620044e7565b9050805f0362002ad057604051622f6fad60e01b815260040160405180910390fd5b606b5463ffffffff888116600160a81b909204161462002b03576040516302caf51760e11b815260040160405180910390fd5b606b545f90600160a81b900463ffffffff1662002b2257508962002b25565b508a5b62002b4e62002b45848c8c8c8c8c8c8c60405162001cc09291906200429c565b8f8f8462001a5f565b62002b6c576040516338105f3b60e21b815260040160405180910390fd5b5050505050505050505050505050565b6040516001600160a01b0383166024820152604481018290526200243990849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152620032e3565b5f54610100900460ff1662002c0a5760405162461bcd60e51b81526004016200094790620040db565b60018055565b60026001540362002c645760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000947565b6002600155565b5f62002c7b60048284866200469b565b62002c8691620046c4565b9050632afa533160e01b6001600160e01b031982160162002e22575f80808080808062002cb7896004818d6200469b565b81019062002cc69190620046f5565b9650965096509650965096509650336001600160a01b0316876001600160a01b03161462002d075760405163912ecce760e01b815260040160405180910390fd5b6001600160a01b038616301462002d315760405163750643af60e01b815260040160405180910390fd5b8a851462002d52576040516303fffc4b60e01b815260040160405180910390fd5b604080516001600160a01b0389811660248301528881166044830152606482018890526084820187905260ff861660a483015260c4820185905260e48083018590528351808403909101815261010490920183526020820180516001600160e01b031663d505accf60e01b1790529151918e169162002dd29190620042c9565b5f604051808303815f865af19150503d805f811462002e0d576040519150601f19603f3d011682016040523d82523d5f602084013e62002e12565b606091505b5050505050505050505062000b57565b6001600160e01b031981166323f2ebc360e21b1462002e5457604051637141605d60e11b815260040160405180910390fd5b5f8080808080808062002e6b8a6004818e6200469b565b81019062002e7a91906200474b565b97509750975097509750975097509750336001600160a01b0316886001600160a01b03161462002ebd5760405163912ecce760e01b815260040160405180910390fd5b6001600160a01b038716301462002ee75760405163750643af60e01b815260040160405180910390fd5b604080516001600160a01b038a811660248301528981166044830152606482018990526084820188905286151560a483015260ff861660c483015260e482018590526101048083018590528351808403909101815261012490920183526020820180516001600160e01b03166323f2ebc360e21b1790529151918f169162002f709190620042c9565b5f604051808303815f865af19150503d805f811462002fab576040519150601f19603f3d011682016040523d82523d5f602084013e62002fb0565b606091505b50505050505050505050505050505050565b6040516001600160a01b038085166024830152831660448201526064810182905262000e5d9085906323b872dd60e01b9060840162002ba9565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b03861691620030449190620042c9565b5f60405180830381855afa9150503d805f81146200307e576040519150601f19603f3d011682016040523d82523d5f602084013e62003083565b606091505b509150915081620030b457604051806040016040528060078152602001664e4f5f4e414d4560c81b81525062001b3f565b62001b3f81620033bd565b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b03861691620031079190620042c9565b5f60405180830381855afa9150503d805f811462003141576040519150601f19603f3d011682016040523d82523d5f602084013e62003146565b606091505b509150915081620030b457604051806040016040528060098152602001681393d7d4d6535093d360ba1b81525062001b3f565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f91829182916001600160a01b03861691620031c09190620042c9565b5f60405180830381855afa9150503d805f8114620031fa576040519150601f19603f3d011682016040523d82523d5f602084013e620031ff565b606091505b509150915081801562003213575080516020145b6200322057601262001b3f565b8080602001905181019062001b3f9190620047d2565b6069546001600160a01b031615620032d557606954604051639e34070f60e01b8152600481018390526001600160a01b0390911690639e34070f90602401602060405180830381865afa15801562003290573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620032b691906200407a565b15620032d557604051630c8d9eab60e31b815260040160405180910390fd5b620032e08162003562565b50565b5f62003339826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620035ad9092919063ffffffff16565b905080515f14806200335c5750808060200190518101906200335c91906200407a565b620024395760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000947565b60606040825110620033df578180602001905181019062000b019190620047f0565b81516020036200352f575f5b6020811080156200341e57508281815181106200340c576200340c62004098565b01602001516001600160f81b03191615155b156200343957806200343081620040c0565b915050620033eb565b805f03620034715750506040805180820190915260128152714e4f545f56414c49445f454e434f44494e4760701b6020820152919050565b5f8167ffffffffffffffff8111156200348e576200348e62003b6a565b6040519080825280601f01601f191660200182016040528015620034b9576020820181803683370190505b5090505f5b828110156200352757848181518110620034dc57620034dc62004098565b602001015160f81c60f81b828281518110620034fc57620034fc62004098565b60200101906001600160f81b03191690815f1a905350806200351e81620040c0565b915050620034be565b509392505050565b50506040805180820190915260128152714e4f545f56414c49445f454e434f44494e4760701b602082015290565b919050565b600881901c5f818152606d602052604081208054600160ff861690811b9182189283905592909190818316900362000b5757604051630c8d9eab60e31b815260040160405180910390fd5b606062001b3f84845f85855f80866001600160a01b03168587604051620035d59190620042c9565b5f6040518083038185875af1925050503d805f811462003611576040519150601f19603f3d011682016040523d82523d5f602084013e62003616565b606091505b5091509150620036298783838762003634565b979650505050505050565b60608315620036a75782515f036200369f576001600160a01b0385163b6200369f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000947565b508162001b3f565b62001b3f8383815115620036be5781518083602001fd5b8060405162461bcd60e51b815260040162000947919062004826565b61155c806200483b83390190565b6040518061040001604052806020906020820280368337509192915050565b826020810192821562003738579160200282015b82811115620037385782518255916020019190600101906200371b565b50620037469291506200374a565b5090565b5b8082111562003746575f81556001016200374b565b6001600160a01b0381168114620032e0575f80fd5b5f806040838503121562003787575f80fd5b8235620037948162003760565b946020939093013593505050565b5f60208284031215620037b3575f80fd5b5035919050565b803563ffffffff811681146200355d575f80fd5b5f8060408385031215620037e0575f80fd5b620037eb83620037ba565b91506020830135620037fd8162003760565b809150509250929050565b8015158114620032e0575f80fd5b5f8083601f84011262003827575f80fd5b50813567ffffffffffffffff8111156200383f575f80fd5b60208301915083602082850101111562003857575f80fd5b9250929050565b5f805f805f6080868803121562003873575f80fd5b6200387e86620037ba565b94506020860135620038908162003760565b93506040860135620038a28162003808565b9250606086013567ffffffffffffffff811115620038be575f80fd5b620038cc8882890162003816565b969995985093965092949392505050565b5f60208284031215620038ee575f80fd5b81356200147e8162003760565b80610400810183101562000b01575f80fd5b5f805f805f805f805f805f6105208c8e03121562003929575f80fd5b620039358d8d620038fb565b9a50620039466104008d01620037ba565b99506104208c013598506104408c01359750620039676104608d01620037ba565b96506104808c01356200397a8162003760565b95506200398b6104a08d01620037ba565b94506104c08c01356200399e8162003760565b93506104e08c013592506105008c013567ffffffffffffffff811115620039c3575f80fd5b620039d18e828f0162003816565b915080935050809150509295989b509295989b9093969950565b5f805f60608486031215620039fe575f80fd5b833562003a0b8162003760565b925060208401359150604084013562003a248162003760565b809150509250925092565b5f805f805f8060a0878903121562003a45575f80fd5b863562003a528162003760565b955062003a6260208801620037ba565b945060408701359350606087013567ffffffffffffffff81111562003a85575f80fd5b62003a9389828a0162003816565b909450925050608087013562003aa98162003760565b809150509295509295509295565b60ff81168114620032e0575f80fd5b5f805f805f805f60e0888a03121562003add575f80fd5b873562003aea8162003ab7565b965062003afa60208901620037ba565b9550604088013562003b0c8162003760565b945062003b1c60608901620037ba565b9350608088013562003b2e8162003760565b9699959850939692959460a0840135945060c09093013592915050565b5f806040838503121562003b5d575f80fd5b8235620037eb8162003760565b634e487b7160e01b5f52604160045260245ffd5b604051610400810167ffffffffffffffff8111828210171562003ba55762003ba562003b6a565b60405290565b5f805f805f805f6104c080898b03121562003bc4575f80fd5b62003bcf89620037ba565b97506020808a013562003be28162003760565b975060408a013562003bf48162003760565b965060608a013562003c068162003760565b955060808a013562003c188162003808565b945062003c2860a08b01620037ba565b93508a60df8b011262003c39575f80fd5b62003c4362003b7e565b918a0191808c84111562003c55575f80fd5b60c08c015b8481101562003c73578035835291830191830162003c5a565b508094505050505092959891949750929550565b5f805f6060848603121562003c9a575f80fd5b833562003ca78162003760565b925060208401359150604084013562003a248162003808565b5f805f805f805f805f806105208b8d03121562003cdb575f80fd5b8a3562003ce88162003760565b995060208b013562003cfa8162003760565b985062003d0a60408c01620037ba565b975060608b013562003d1c8162003760565b965060808b013562003d2e8162003760565b955060a08b013562003d408162003760565b945060c08b013562003d528162003808565b935060e08b013562003d648162003760565b925062003d756101008c01620037ba565b915062003d878c6101208d01620038fb565b90509295989b9194979a5092959850565b5f805f805f805f60a0888a03121562003daf575f80fd5b62003dba88620037ba565b9650602088013562003dcc8162003760565b9550604088013567ffffffffffffffff8082111562003de9575f80fd5b62003df78b838c0162003816565b909750955060608a013591508082111562003e10575f80fd5b5062003e1f8a828b0162003816565b909450925050608088013562003e358162003ab7565b8091505092959891949750929550565b5f805f805f805f60c0888a03121562003e5c575f80fd5b62003e6788620037ba565b9650602088013562003e798162003760565b955060408801359450606088013562003e928162003760565b9350608088013562003ea48162003808565b925060a088013567ffffffffffffffff81111562003ec0575f80fd5b62003ece8a828b0162003816565b989b979a50959850939692959293505050565b5f805f6060848603121562003ef4575f80fd5b83359250602084013562003f088162003808565b9150604084013562003a248162003808565b610400810181835f5b602080821062003f34575062003f49565b82518452928301929091019060010162003f23565b50505092915050565b5f805f806080858703121562003f66575f80fd5b843562003f738162003760565b9350602085013562003f858162003760565b925062003f9560408601620037ba565b9396929550929360600135925050565b5f805f80610460858703121562003fba575f80fd5b8435935062003fcd8660208701620038fb565b925062003fde6104208601620037ba565b939692955092936104400135925050565b60208082526010908201526f6f6e6c794166746572466f726b696e6760801b604082015260600190565b60e09290921b6001600160e01b031916825260601b6001600160601b031916600482015260180190565b60208082526018908201527f4e6f206368616e67657320616674657220666f726b696e670000000000000000604082015260600190565b5f602082840312156200408b575f80fd5b81516200147e8162003808565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201620040d457620040d4620040ac565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b038681168252602080830187905285821660408401528482166060840152835463ffffffff81166080850152901c1660a082015260c081015b9695505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f620041ad60608301878962004170565b8281036020840152620041c281868862004170565b91505060ff831660408301529695505050505050565b5f5b83811015620041f4578181015183820152602001620041da565b50505f910152565b5f83516200420f818460208801620041d8565b83519083019062004225818360208801620041d8565b01949350505050565b60ff8a16815263ffffffff89811660208301526001600160a01b03898116604084015288821660608401528716608083015260a0820186905261010060c083018190525f9162004282848301878962004170565b925080851660e085015250509a9950505050505050505050565b818382375f9101908152919050565b5f60208284031215620042bc575f80fd5b81516200147e8162003760565b5f8251620042dc818460208701620041d8565b9190910192915050565b63ffffffff95861681529390941660208401526001600160a01b039182166040840152166060820152608081019190915260a00190565b6001600160a01b038516815263ffffffff841660208201526060604082018190525f9062004166908301848662004170565b5f82601f8301126200435f575f80fd5b815167ffffffffffffffff808211156200437d576200437d62003b6a565b604051601f8301601f19908116603f01168101908282118183101715620043a857620043a862003b6a565b81604052838152866020858801011115620043c1575f80fd5b62004166846020830160208901620041d8565b5f805f60608486031215620043e7575f80fd5b835167ffffffffffffffff80821115620043ff575f80fd5b6200440d878388016200434f565b9450602086015191508082111562004423575f80fd5b5062004432868287016200434f565b925050604084015162003a248162003ab7565b5f81518084526200445e816020860160208601620041d8565b601f01601f19169290920160200192915050565b606081525f62004486606083018662004445565b82810360208401526200449a818662004445565b91505060ff83166040830152949350505050565b63ffffffff851681526001600160a01b038481166020830152831660408201526080606082018190525f90620041669083018462004445565b5f60208284031215620044f8575f80fd5b5051919050565b8181038181111562000b015762000b01620040ac565b60ff8916815263ffffffff88811660208301526001600160a01b03888116604084015287821660608401528616608083015260a0820185905261010060c083018190525f91620045688483018762004445565b925080851660e085015250509998505050505050505050565b600181815b80851115620045c157815f1904821115620045a557620045a5620040ac565b80851615620045b357918102915b93841c939080029062004586565b509250929050565b5f82620045d95750600162000b01565b81620045e757505f62000b01565b81600181146200460057600281146200460b576200462b565b600191505062000b01565b60ff8411156200461f576200461f620040ac565b50506001821b62000b01565b5060208310610133831016604e8410600b841016171562004650575081810a62000b01565b6200465c838362004581565b805f1904821115620046725762004672620040ac565b029392505050565b5f6200147e8383620045c9565b634e487b7160e01b5f52600160045260245ffd5b5f8085851115620046aa575f80fd5b83861115620046b7575f80fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015620046ed5780818660040360031b1b83161692505b505092915050565b5f805f805f805f60e0888a0312156200470c575f80fd5b8735620047198162003760565b965060208801356200472b8162003760565b95506040880135945060608801359350608088013562003b2e8162003ab7565b5f805f805f805f80610100898b03121562004764575f80fd5b8835620047718162003760565b97506020890135620047838162003760565b965060408901359550606089013594506080890135620047a38162003808565b935060a0890135620047b58162003ab7565b979a969950949793969295929450505060c08201359160e0013590565b5f60208284031215620047e3575f80fd5b81516200147e8162003ab7565b5f6020828403121562004801575f80fd5b815167ffffffffffffffff81111562004818575f80fd5b62001b3f848285016200434f565b602081525f6200147e60208301846200444556fe61010060405234801562000011575f80fd5b506040516200155c3803806200155c833981016040819052620000349162000282565b828260036200004483826200038d565b5060046200005382826200038d565b50503360c0525060ff811660e05246608081905262000072906200007f565b60a0525062000455915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620000ab6200012c565b805160209182012060408051808201825260018152603160f81b90840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018390523060a082015260c001604051602081830303815290604052805190602001209050919050565b6060600380546200013d9062000301565b80601f01602080910402602001604051908101604052809291908181526020018280546200016b9062000301565b8015620001ba5780601f106200019057610100808354040283529160200191620001ba565b820191905f5260205f20905b8154815290600101906020018083116200019c57829003601f168201915b5050505050905090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001e8575f80fd5b81516001600160401b0380821115620002055762000205620001c4565b604051601f8301601f19908116603f01168101908282118183101715620002305762000230620001c4565b816040528381526020925086838588010111156200024c575f80fd5b5f91505b838210156200026f578582018301518183018401529082019062000250565b5f93810190920192909252949350505050565b5f805f6060848603121562000295575f80fd5b83516001600160401b0380821115620002ac575f80fd5b620002ba87838801620001d8565b94506020860151915080821115620002d0575f80fd5b50620002df86828701620001d8565b925050604084015160ff81168114620002f6575f80fd5b809150509250925092565b600181811c908216806200031657607f821691505b6020821081036200033557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000388575f81815260208120601f850160051c81016020861015620003635750805b601f850160051c820191505b8181101562000384578281556001016200036f565b5050505b505050565b81516001600160401b03811115620003a957620003a9620001c4565b620003c181620003ba845462000301565b846200033b565b602080601f831160018114620003f7575f8415620003df5750858301515b5f19600386901b1c1916600185901b17855562000384565b5f85815260208120601f198616915b82811015620004275788860151825594840194600190910190840162000406565b50858210156200044557878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e0516110be6200049e5f395f6101f101525f81816102b2015281816104d2015261054001525f61048401525f8181610317015261044e01526110be5ff3fe608060405234801561000f575f80fd5b5060043610610132575f3560e01c806370a08231116100b4578063a457c2d711610079578063a457c2d7146102ec578063a9059cbb146102ff578063cd0d009614610312578063d505accf14610339578063dd62ed3e1461034c578063ffa1ad741461035f575f80fd5b806370a082311461024b5780637ecebe001461027357806395d89b41146102925780639dc29fac1461029a578063a3c573eb146102ad575f80fd5b806330adf81f116100fa57806330adf81f146101c3578063313ce567146101ea5780633644e5151461021b578063395093511461022357806340c10f1914610236575f80fd5b806306fdde0314610136578063095ea7b31461015457806318160ddd1461017757806320606b701461018957806323b872dd146101b0575b5f80fd5b61013e61037f565b60405161014b9190610e3c565b60405180910390f35b610167610162366004610ea2565b61040f565b604051901515815260200161014b565b6002545b60405190815260200161014b565b61017b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b6101676101be366004610eca565b610428565b61017b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161014b565b61017b61044b565b610167610231366004610ea2565b6104a6565b610249610244366004610ea2565b6104c7565b005b61017b610259366004610f03565b6001600160a01b03165f9081526020819052604090205490565b61017b610281366004610f03565b60056020525f908152604090205481565b61013e610526565b6102496102a8366004610ea2565b610535565b6102d47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014b565b6101676102fa366004610ea2565b610587565b61016761030d366004610ea2565b610601565b61017b7f000000000000000000000000000000000000000000000000000000000000000081565b610249610347366004610f23565b61060e565b61017b61035a366004610f90565b610844565b61013e604051806040016040528060018152602001603160f81b81525081565b60606003805461038e90610fc1565b80601f01602080910402602001604051908101604052809291908181526020018280546103ba90610fc1565b80156104055780601f106103dc57610100808354040283529160200191610405565b820191905f5260205f20905b8154815290600101906020018083116103e857829003601f168201915b5050505050905090565b5f3361041c81858561086e565b60019150505b92915050565b5f33610435858285610992565b610440858585610a0a565b506001949350505050565b5f7f000000000000000000000000000000000000000000000000000000000000000046146104815761047c46610bac565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f3361041c8185856104b88383610844565b6104c2919061100d565b61086e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105185760405162461bcd60e51b815260040161050f90611020565b60405180910390fd5b6105228282610c57565b5050565b60606004805461038e90610fc1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057d5760405162461bcd60e51b815260040161050f90611020565b6105228282610d14565b5f33816105948286610844565b9050838110156105f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161050f565b610440828686840361086e565b5f3361041c818585610a0a565b8342111561066a5760405162461bcd60e51b8152602060048201526024808201527f546f6b656e577261707065643a3a7065726d69743a20457870697265642070656044820152631c9b5a5d60e21b606482015260840161050f565b6001600160a01b0387165f90815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a9190866106b683611070565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61071361044b565b60405161190160f01b602082015260228101919091526042810183905260620160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa15801561079b573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107d15750896001600160a01b0316816001600160a01b0316145b61082d5760405162461bcd60e51b815260206004820152602760248201527f546f6b656e577261707065643a3a7065726d69743a20496e76616c6964207369604482015266676e617475726560c81b606482015260840161050f565b6108388a8a8a61086e565b50505050505050505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166108d05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161050f565b6001600160a01b0382166109315760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161050f565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f61099d8484610844565b90505f198114610a0457818110156109f75760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161050f565b610a04848484840361086e565b50505050565b6001600160a01b038316610a6e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161050f565b6001600160a01b038216610ad05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161050f565b6001600160a01b0383165f9081526020819052604090205481811015610b475760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161050f565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a04565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f610bd661037f565b805160209182012060408051808201825260018152603160f81b90840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018390523060a082015260c001604051602081830303815290604052805190602001209050919050565b6001600160a01b038216610cad5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161050f565b8060025f828254610cbe919061100d565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216610d745760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161050f565b6001600160a01b0382165f9081526020819052604090205481811015610de75760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161050f565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610985565b5f6020808352835180828501525f5b81811015610e6757858101830151858201604001528201610e4b565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610e9d575f80fd5b919050565b5f8060408385031215610eb3575f80fd5b610ebc83610e87565b946020939093013593505050565b5f805f60608486031215610edc575f80fd5b610ee584610e87565b9250610ef360208501610e87565b9150604084013590509250925092565b5f60208284031215610f13575f80fd5b610f1c82610e87565b9392505050565b5f805f805f805f60e0888a031215610f39575f80fd5b610f4288610e87565b9650610f5060208901610e87565b95506040880135945060608801359350608088013560ff81168114610f73575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610fa1575f80fd5b610faa83610e87565b9150610fb860208401610e87565b90509250929050565b600181811c90821680610fd557607f821691505b602082108103610ff357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561042257610422610ff9565b60208082526030908201527f546f6b656e577261707065643a3a6f6e6c794272696467653a204e6f7420506f60408201526f6c79676f6e5a6b45564d42726964676560801b606082015260800190565b5f6001820161108157611081610ff9565b506001019056fea26469706673582212205b1620be4e66c60b8307fab315dedf9bf5da052b6ecc24c0d52bd3bdee4edb3564736f6c634300081400336021fa82de881996a3e5fd2d032f74dfe72746b8a66c5510d4ab1a3cb7891507f585789965ba69220d5ce3dc1b444eb22ff546f2650694fef8fafe9c26560af9a264697066735822122023531501e36924d204660b7bc2dbcf65bfed3459d02bc662cd6a8d3cdb2e14c664736f6c63430008140033" + }, + { + "contractName": "PolygonZkEVMBridge proxy", + "balance": "200000000000000000000000000", + "nonce": "1", + "address": "0x3Db7297D021a185aA657254d32b49752Aebd5FFa", + "bytecode": "0x60806040526004361061004d575f3560e01c80633659cfe6146100645780634f1ef286146100835780635c60da1b146100965780638f283970146100c6578063f851a440146100e55761005c565b3661005c5761005a6100f9565b005b61005a6100f9565b34801561006f575f80fd5b5061005a61007e366004610698565b610113565b61005a6100913660046106b1565b61014e565b3480156100a1575f80fd5b506100aa6101b4565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d1575f80fd5b5061005a6100e0366004610698565b6101e4565b3480156100f0575f80fd5b506100aa610204565b610101610224565b61011161010c6102b9565b6102c2565b565b61011b6102e0565b6001600160a01b03163303610146576101438160405180602001604052805f8152505f610312565b50565b6101436100f9565b6101566102e0565b6001600160a01b031633036101ac576101a78383838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525060019250610312915050565b505050565b6101a76100f9565b5f6101bd6102e0565b6001600160a01b031633036101d9576101d46102b9565b905090565b6101e16100f9565b90565b6101ec6102e0565b6001600160a01b03163303610146576101438161033c565b5f61020d6102e0565b6001600160a01b031633036101d9576101d46102e0565b61022c6102e0565b6001600160a01b031633036101115760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b5f6101d4610390565b365f80375f80365f845af43d5f803e8080156102dc573d5ff35b3d5ffd5b5f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61031b836103b7565b5f825111806103275750805b156101a75761033683836103f6565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103656102e0565b604080516001600160a01b03928316815291841660208301520160405180910390a161014381610422565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610303565b6103c0816104cb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061041b838360405180606001604052806027815260200161079d6027913961055f565b9392505050565b6001600160a01b0381166104875760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102b0565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b6105385760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102b0565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104aa565b60605f80856001600160a01b03168560405161057b919061074f565b5f60405180830381855af49150503d805f81146105b3576040519150601f19603f3d011682016040523d82523d5f602084013e6105b8565b606091505b50915091506105c9868383876105d3565b9695505050505050565b606083156106415782515f0361063a576001600160a01b0385163b61063a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b0565b508161064b565b61064b8383610653565b949350505050565b8151156106635781518083602001fd5b8060405162461bcd60e51b81526004016102b0919061076a565b80356001600160a01b0381168114610693575f80fd5b919050565b5f602082840312156106a8575f80fd5b61041b8261067d565b5f805f604084860312156106c3575f80fd5b6106cc8461067d565b9250602084013567ffffffffffffffff808211156106e8575f80fd5b818601915086601f8301126106fb575f80fd5b813581811115610709575f80fd5b87602082850101111561071a575f80fd5b6020830194508093505050509250925092565b5f5b8381101561074757818101518382015260200161072f565b50505f910152565b5f825161076081846020870161072d565b9190910192915050565b602081525f825180602084015261078881604085016020870161072d565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208efd68a95431b25ce54479d2f0b25d7cbe76f171db9854560bf9fb86f3ba409364736f6c63430008140033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000006b": "0x000000000000000000000101d75cbedf9da785ba7aa4df14a4089bd5d38e5445", + "0x000000000000000000000000000000000000000000000000000000000000006c": "0x000000000000000000000000a40d5f56745a118d0906a34e69aec8c0db1cb8fa", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x000000000000000000000000749b000b2effa4ab539fa6681efd9cbd6f0664bb", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x00000000000000000000000081a5d04e612dbc7635f97891cb1ba94b42187b82" + } + }, + { + "contractName": "PolygonZkEVMGlobalExitRootL2 implementation", + "balance": "0", + "nonce": "1", + "address": "0x22eCf6cd4E475C661f41bfe00c74d014E511f9c2", + "bytecode": "0x608060405234801561000f575f80fd5b506004361061004a575f3560e01c806301fd90441461004e578063257b36321461006a57806333d6247d14610089578063a3c573eb1461009e575b5f80fd5b61005760015481565b6040519081526020015b60405180910390f35b61005761007836600461012b565b5f6020819052908152604090205481565b61009c61009736600461012b565b6100dd565b005b6100c57f0000000000000000000000003db7297d021a185aa657254d32b49752aebd5ffa81565b6040516001600160a01b039091168152602001610061565b336001600160a01b037f0000000000000000000000003db7297d021a185aa657254d32b49752aebd5ffa16146101265760405163b49365dd60e01b815260040160405180910390fd5b600155565b5f6020828403121561013b575f80fd5b503591905056fea26469706673582212207223d19db13dc99383cb21bc9d05abc19ff527ea0ee32f0cfe0e8396d76a939b64736f6c63430008140033" + }, + { + "contractName": "PolygonZkEVMGlobalExitRootL2 proxy", + "balance": "0", + "nonce": "1", + "address": "0xa40d5f56745a118d0906a34e69aec8c0db1cb8fa", + "bytecode": "0x60806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c63430008090033", + "storage": { + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x000000000000000000000000749b000b2effa4ab539fa6681efd9cbd6f0664bb", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x00000000000000000000000022ecf6cd4e475c661f41bfe00c74d014e511f9c2" + } + }, + { + "contractName": "PolygonZkEVMTimelock", + "balance": "0", + "nonce": "1", + "address": "0xAd2E7ff907ef6284ad2282e36815B026EbD806dd", + "bytecode": "0x6080604052600436106101bd575f3560e01c806364d62353116100f2578063b1c5f42711610092578063d547741f11610062578063d547741f146105b3578063e38335e5146105d2578063f23a6e61146105e5578063f27a0c9214610610575f80fd5b8063b1c5f4271461051f578063bc197c811461053e578063c4d252f514610569578063d45c443514610588575f80fd5b80638f61f4f5116100cd5780638f61f4f51461048757806391d14854146104ba578063a217fddf146104d9578063b08e51c0146104ec575f80fd5b806364d623531461042a5780638065657f146104495780638f2a0bb014610468575f80fd5b8063248a9ca31161015d57806331d507501161013857806331d507501461038257806336568abe146103a15780633a6aae72146103c0578063584b153e1461040b575f80fd5b8063248a9ca3146103065780632ab0f529146103345780632f2ff15d14610363575f80fd5b80630d3cf6fc116101985780630d3cf6fc1461025e578063134008d31461029157806313bc9f20146102a4578063150b7a02146102c3575f80fd5b806301d5062a146101c857806301ffc9a7146101e957806307bd02651461021d575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e236600461148c565b610624565b005b3480156101f4575f80fd5b506102086102033660046114fa565b6106b7565b60405190151581526020015b60405180910390f35b348015610228575f80fd5b506102507fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610214565b348015610269575f80fd5b506102507f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e761029f366004611521565b6106e1565b3480156102af575f80fd5b506102086102be366004611587565b610793565b3480156102ce575f80fd5b506102ed6102dd36600461164d565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610214565b348015610311575f80fd5b50610250610320366004611587565b5f9081526020819052604090206001015490565b34801561033f575f80fd5b5061020861034e366004611587565b5f908152600160208190526040909120541490565b34801561036e575f80fd5b506101e761037d3660046116b0565b6107b8565b34801561038d575f80fd5b5061020861039c366004611587565b6107e1565b3480156103ac575f80fd5b506101e76103bb3660046116b0565b6107f9565b3480156103cb575f80fd5b506103f37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610214565b348015610416575f80fd5b50610208610425366004611587565b61087c565b348015610435575f80fd5b506101e7610444366004611587565b610891565b348015610454575f80fd5b50610250610463366004611521565b610935565b348015610473575f80fd5b506101e761048236600461171a565b610973565b348015610492575f80fd5b506102507fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b3480156104c5575f80fd5b506102086104d43660046116b0565b610ac3565b3480156104e4575f80fd5b506102505f81565b3480156104f7575f80fd5b506102507ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b34801561052a575f80fd5b506102506105393660046117c2565b610aeb565b348015610549575f80fd5b506102ed6105583660046118de565b63bc197c8160e01b95945050505050565b348015610574575f80fd5b506101e7610583366004611587565b610b2f565b348015610593575f80fd5b506102506105a2366004611587565b5f9081526001602052604090205490565b3480156105be575f80fd5b506101e76105cd3660046116b0565b610c03565b6101e76105e03660046117c2565b610c27565b3480156105f0575f80fd5b506102ed6105ff366004611980565b63f23a6e6160e01b95945050505050565b34801561061b575f80fd5b50610250610dab565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161064e81610e70565b5f61065d898989898989610935565b90506106698184610e7d565b5f817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516106a496959493929190611a07565b60405180910390a3505050505050505050565b5f6001600160e01b03198216630271189760e51b14806106db57506106db82610f70565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6361070c815f610ac3565b61071a5761071a8133610fa4565b5f610729888888888888610935565b90506107358185610ffd565b61074188888888611098565b5f817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a6040516107789493929190611a43565b60405180910390a361078981611167565b5050505050505050565b5f818152600160205260408120546001811180156107b15750428111155b9392505050565b5f828152602081905260409020600101546107d281610e70565b6107dc838361119f565b505050565b5f8181526001602052604081205481905b1192915050565b6001600160a01b038116331461086e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108788282611222565b5050565b5f8181526001602081905260408220546107f2565b3330146108f45760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610865565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b5f86868686868660405160200161095196959493929190611a07565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161099d81610e70565b8887146109bc5760405162461bcd60e51b815260040161086590611a74565b8885146109db5760405162461bcd60e51b815260040161086590611a74565b5f6109ec8b8b8b8b8b8b8b8b610aeb565b90506109f88184610e7d565b5f5b8a811015610ab55780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a3757610a37611ab7565b9050602002016020810190610a4c9190611acb565b8d8d86818110610a5e57610a5e611ab7565b905060200201358c8c87818110610a7757610a77611ab7565b9050602002810190610a899190611ae4565b8c8b604051610a9d96959493929190611a07565b60405180910390a3610aae81611b3a565b90506109fa565b505050505050505050505050565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b5f8888888888888888604051602001610b0b989796959493929190611bde565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610b5981610e70565b610b628261087c565b610bc85760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610865565b5f828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b5f82815260208190526040902060010154610c1d81610e70565b6107dc8383611222565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610c52815f610ac3565b610c6057610c608133610fa4565b878614610c7f5760405162461bcd60e51b815260040161086590611a74565b878414610c9e5760405162461bcd60e51b815260040161086590611a74565b5f610caf8a8a8a8a8a8a8a8a610aeb565b9050610cbb8185610ffd565b5f5b89811015610d95575f8b8b83818110610cd857610cd8611ab7565b9050602002016020810190610ced9190611acb565b90505f8a8a84818110610d0257610d02611ab7565b905060200201359050365f8a8a86818110610d1f57610d1f611ab7565b9050602002810190610d319190611ae4565b91509150610d4184848484611098565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610d789493929190611a43565b60405180910390a35050505080610d8e90611b3a565b9050610cbd565b50610d9f81611167565b50505050505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615801590610e5f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166315064c966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5f9190611c7d565b15610e6957505f90565b5060025490565b610e7a8133610fa4565b50565b610e86826107e1565b15610eeb5760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610865565b610ef3610dab565b811015610f515760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610865565b610f5b8142611c9c565b5f928352600160205260409092209190915550565b5f6001600160e01b03198216637965db0b60e01b14806106db57506301ffc9a760e01b6001600160e01b03198316146106db565b610fae8282610ac3565b61087857610fbb81611286565b610fc6836020611298565b604051602001610fd7929190611cd1565b60408051601f198184030181529082905262461bcd60e51b825261086591600401611d45565b61100682610793565b6110225760405162461bcd60e51b815260040161086590611d77565b80158061103d57505f81815260016020819052604090912054145b6108785760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610865565b5f846001600160a01b03168484846040516110b4929190611dc1565b5f6040518083038185875af1925050503d805f81146110ee576040519150601f19603f3d011682016040523d82523d5f602084013e6110f3565b606091505b50509050806111605760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610865565b5050505050565b61117081610793565b61118c5760405162461bcd60e51b815260040161086590611d77565b5f90815260016020819052604090912055565b6111a98282610ac3565b610878575f828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556111de3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61122c8282610ac3565b15610878575f828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106db6001600160a01b03831660145b60605f6112a6836002611dd0565b6112b1906002611c9c565b6001600160401b038111156112c8576112c861159e565b6040519080825280601f01601f1916602001820160405280156112f2576020820181803683370190505b509050600360fc1b815f8151811061130c5761130c611ab7565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061133a5761133a611ab7565b60200101906001600160f81b03191690815f1a9053505f61135c846002611dd0565b611367906001611c9c565b90505b60018111156113de576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061139b5761139b611ab7565b1a60f81b8282815181106113b1576113b1611ab7565b60200101906001600160f81b03191690815f1a90535060049490941c936113d781611de7565b905061136a565b5083156107b15760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610865565b80356001600160a01b0381168114611443575f80fd5b919050565b5f8083601f840112611458575f80fd5b5081356001600160401b0381111561146e575f80fd5b602083019150836020828501011115611485575f80fd5b9250929050565b5f805f805f805f60c0888a0312156114a2575f80fd5b6114ab8861142d565b96506020880135955060408801356001600160401b038111156114cc575f80fd5b6114d88a828b01611448565b989b979a50986060810135976080820135975060a09091013595509350505050565b5f6020828403121561150a575f80fd5b81356001600160e01b0319811681146107b1575f80fd5b5f805f805f8060a08789031215611536575f80fd5b61153f8761142d565b95506020870135945060408701356001600160401b03811115611560575f80fd5b61156c89828a01611448565b979a9699509760608101359660809091013595509350505050565b5f60208284031215611597575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115da576115da61159e565b604052919050565b5f82601f8301126115f1575f80fd5b81356001600160401b0381111561160a5761160a61159e565b61161d601f8201601f19166020016115b2565b818152846020838601011115611631575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611660575f80fd5b6116698561142d565b93506116776020860161142d565b92506040850135915060608501356001600160401b03811115611698575f80fd5b6116a4878288016115e2565b91505092959194509250565b5f80604083850312156116c1575f80fd5b823591506116d16020840161142d565b90509250929050565b5f8083601f8401126116ea575f80fd5b5081356001600160401b03811115611700575f80fd5b6020830191508360208260051b8501011115611485575f80fd5b5f805f805f805f805f60c08a8c031215611732575f80fd5b89356001600160401b0380821115611748575f80fd5b6117548d838e016116da565b909b50995060208c013591508082111561176c575f80fd5b6117788d838e016116da565b909950975060408c0135915080821115611790575f80fd5b5061179d8c828d016116da565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b5f805f805f805f8060a0898b0312156117d9575f80fd5b88356001600160401b03808211156117ef575f80fd5b6117fb8c838d016116da565b909a50985060208b0135915080821115611813575f80fd5b61181f8c838d016116da565b909850965060408b0135915080821115611837575f80fd5b506118448b828c016116da565b999c989b509699959896976060870135966080013595509350505050565b5f82601f830112611871575f80fd5b813560206001600160401b0382111561188c5761188c61159e565b8160051b61189b8282016115b2565b92835284810182019282810190878511156118b4575f80fd5b83870192505b848310156118d3578235825291830191908301906118ba565b979650505050505050565b5f805f805f60a086880312156118f2575f80fd5b6118fb8661142d565b94506119096020870161142d565b935060408601356001600160401b0380821115611924575f80fd5b61193089838a01611862565b94506060880135915080821115611945575f80fd5b61195189838a01611862565b93506080880135915080821115611966575f80fd5b50611973888289016115e2565b9150509295509295909350565b5f805f805f60a08688031215611994575f80fd5b61199d8661142d565b94506119ab6020870161142d565b9350604086013592506060860135915060808601356001600160401b038111156119d3575f80fd5b611973888289016115e2565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201525f611a2e60a0830186886119df565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201525f611a6a6060830184866119df565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611adb575f80fd5b6107b18261142d565b5f808335601e19843603018112611af9575f80fd5b8301803591506001600160401b03821115611b12575f80fd5b602001915036819003821315611485575f80fd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611b4b57611b4b611b26565b5060010190565b8183525f6020808501808196508560051b81019150845f5b87811015611bd15782840389528135601e19883603018112611b8a575f80fd5b870185810190356001600160401b03811115611ba4575f80fd5b803603821315611bb2575f80fd5b611bbd8682846119df565b9a87019a9550505090840190600101611b6a565b5091979650505050505050565b60a080825281018890525f8960c08301825b8b811015611c1e576001600160a01b03611c098461142d565b16825260209283019290910190600101611bf0565b5083810360208501528881526001600160fb1b03891115611c3d575f80fd5b8860051b9150818a60208301370182810360209081016040850152611c659082018789611b52565b60608401959095525050608001529695505050505050565b5f60208284031215611c8d575f80fd5b815180151581146107b1575f80fd5b808201808211156106db576106db611b26565b5f5b83811015611cc9578181015183820152602001611cb1565b50505f910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351611d08816017850160208801611caf565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611d39816028840160208801611caf565b01602801949350505050565b602081525f8251806020840152611d63816040850160208701611caf565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b818382375f9101908152919050565b80820281158282048414176106db576106db611b26565b5f81611df557611df5611b26565b505f19019056fea2646970667358221220c513bf8cc09ddf2f7bbf9e0c2e52048a79af292972f5058ce2e2a5a0c1c5fdf064736f6c63430008140033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x000000000000000000000000000000000000000000000000000000000000003c", + "0x28810197b2f06faddfcde2125539461ed0f4ba02a950294d23e0985b163c609a": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x66c0d993ff6ceaffdf9126027ddcbc7684c508048ddc11e7e11b9f1dccd3b9e2": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x64494413541ff93b31aa309254e3fed72a7456e9845988b915b4c7a7ceba8814": "0x5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5", + "0x1bdc4ba272fafecc0fd2ed4f5f96c7f28759f645fa374a6cb7edf8b92b8d3889": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d6": "0x5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5", + "0xf33f58c8a336520ff99d853fe629f6fa275d605540360c6a502ff6103ec1ff79": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d706a": "0x5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5", + "0xd6e2f40a5b167fa43e7d14d6752bcf169787fd148c01a7fe9aebe89358b69803": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xc3ad33e20b0c56a223ad5104fff154aa010f8715b9c981fd38fdc60a4d1a52fc": "0x5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5" + } + }, + { + "accountName": "keyless Deployer", + "balance": "0", + "nonce": "1", + "address": "0x6489d1618C02d9578B42214467c23Fc2A279E183" + }, + { + "accountName": "deployer", + "balance": "0", + "nonce": "10", + "address": "0x25F2d1651B631BE5334e2E5ebf29842b64aca361" + } + ] +} \ No newline at end of file diff --git a/deployments/sepolia_1702382814/sepolia.json b/deployments/sepolia_1702382814/sepolia.json new file mode 100644 index 00000000..d0ef7c4f --- /dev/null +++ b/deployments/sepolia_1702382814/sepolia.json @@ -0,0 +1,1105 @@ +{ + "manifestVersion": "3.2", + "admin": { + "address": "0x2b705AE96286A972C36F9B22960768373bcF0806", + "txHash": "0xd375bc06e5fd13d0db78570deaa0d268a55a7c0e91a30672366c79fbd2f9e176" + }, + "proxies": [ + { + "address": "0x4D0AFB88a996dbCb077291744187C78a1dFCa6c0", + "txHash": "0x807c8fba4a723300a65c851ab86c7e809b2f28dc6550788be8e76c79706a048b", + "kind": "transparent" + }, + { + "address": "0x2aF36b5C73759987acc25080d6A26F1aB78cA5Ec", + "kind": "transparent" + }, + { + "address": "0xe638ab307B7ffF5136f3edbAF96b8fD462530639", + "txHash": "0xef782bf744522a08ec0f9d673f6cd3101b37f5c4547495a224bd52a2639880a0", + "kind": "transparent" + }, + { + "address": "0xF91704851048f44a552734f5F33203AaEc7F4A54", + "txHash": "0x0e31395df1ad97524637f947fdc9c59d9fa3138b17d994d620a4682e19e6d553", + "kind": "transparent" + } + ], + "impls": { + "d064093ee94f2aa1baf620435da3ce954d008054f7fc60292912d70d90fee85b": { + "address": "0xC56894825B0875F804137b75431d562350BfE5a0", + "txHash": "0x209017d5dcc442f71845dea8f12df59af646c1d5db10683560ae0dd324c8c290", + "layout": { + "solcVersion": "0.8.20", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "forkmanager", + "offset": 2, + "slot": "0", + "type": "t_address", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:10" + }, + { + "label": "parentContract", + "offset": 0, + "slot": "1", + "type": "t_address", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:13" + }, + { + "label": "children", + "offset": 0, + "slot": "2", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:18" + }, + { + "label": "zkEVM", + "offset": 0, + "slot": "3", + "type": "t_address", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:31" + }, + { + "label": "bridge", + "offset": 0, + "slot": "4", + "type": "t_address", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:32" + }, + { + "label": "forkonomicToken", + "offset": 0, + "slot": "5", + "type": "t_address", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:33" + }, + { + "label": "globalExitRoot", + "offset": 0, + "slot": "6", + "type": "t_address", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:34" + }, + { + "label": "chainIdManager", + "offset": 0, + "slot": "7", + "type": "t_address", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:35" + }, + { + "label": "arbitrationFee", + "offset": 0, + "slot": "8", + "type": "t_uint256", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:38" + }, + { + "label": "disputeData", + "offset": 0, + "slot": "9", + "type": "t_struct(DisputeData)7847_storage", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:41" + }, + { + "label": "proposedImplementations", + "offset": 0, + "slot": "11", + "type": "t_struct(NewImplementations)7862_storage", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:42" + }, + { + "label": "executionTimeForProposal", + "offset": 0, + "slot": "17", + "type": "t_uint256", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:43" + }, + { + "label": "forkPreparationTime", + "offset": 0, + "slot": "18", + "type": "t_uint256", + "contract": "ForkingManager", + "src": "contracts/ForkingManager.sol:44" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_struct(DisputeData)7847_storage": { + "label": "struct IForkingManager.DisputeData", + "members": [ + { + "label": "isL1", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "disputeContract", + "type": "t_address", + "offset": 1, + "slot": "0" + }, + { + "label": "disputeContent", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(NewImplementations)7862_storage": { + "label": "struct IForkingManager.NewImplementations", + "members": [ + { + "label": "bridgeImplementation", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "zkEVMImplementation", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "forkonomicTokenImplementation", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "forkingManagerImplementation", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "globalExitRootImplementation", + "type": "t_address", + "offset": 0, + "slot": "4" + }, + { + "label": "verifier", + "type": "t_address", + "offset": 0, + "slot": "5" + }, + { + "label": "forkID", + "type": "t_uint64", + "offset": 20, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "c681277f0c2ecbe4b7ba99deabfa913c23fe4ba3713d006bda145cdbd833a778": { + "address": "0x9e0031a653EF7356b636C711463De7480682F4dA", + "layout": { + "solcVersion": "0.8.20", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "_status", + "offset": 0, + "slot": "1", + "type": "t_uint256", + "contract": "ReentrancyGuardUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "label": "__gap", + "offset": 0, + "slot": "2", + "type": "t_array(t_uint256)49_storage", + "contract": "ReentrancyGuardUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol:88" + }, + { + "label": "branch", + "offset": 0, + "slot": "51", + "type": "t_array(t_bytes32)32_storage", + "contract": "DepositContract", + "src": "lib/zkevm-contracts/contracts/lib/DepositContract.sol:25" + }, + { + "label": "depositCount", + "offset": 0, + "slot": "83", + "type": "t_uint256", + "contract": "DepositContract", + "src": "lib/zkevm-contracts/contracts/lib/DepositContract.sol:28" + }, + { + "label": "_gap", + "offset": 0, + "slot": "84", + "type": "t_array(t_uint256)10_storage", + "contract": "DepositContract", + "src": "lib/zkevm-contracts/contracts/lib/DepositContract.sol:34" + }, + { + "label": "_gap", + "offset": 0, + "slot": "94", + "type": "t_array(t_uint256)10_storage", + "contract": "EmergencyManager", + "src": "lib/zkevm-contracts/contracts/lib/EmergencyManager.sol:23" + }, + { + "label": "isEmergencyState", + "offset": 0, + "slot": "104", + "type": "t_bool", + "contract": "EmergencyManager", + "src": "lib/zkevm-contracts/contracts/lib/EmergencyManager.sol:26" + }, + { + "label": "forkmanager", + "offset": 1, + "slot": "104", + "type": "t_address", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:10" + }, + { + "label": "parentContract", + "offset": 0, + "slot": "105", + "type": "t_address", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:13" + }, + { + "label": "children", + "offset": 0, + "slot": "106", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:18" + }, + { + "label": "gasTokenAddress", + "offset": 0, + "slot": "107", + "type": "t_address", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:51" + }, + { + "label": "isDeployedOnL2", + "offset": 20, + "slot": "107", + "type": "t_bool", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:59" + }, + { + "label": "networkID", + "offset": 21, + "slot": "107", + "type": "t_uint32", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:62" + }, + { + "label": "globalExitRootManager", + "offset": 0, + "slot": "108", + "type": "t_contract(IBasePolygonZkEVMGlobalExitRoot)27062", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:65" + }, + { + "label": "lastUpdatedDepositCount", + "offset": 20, + "slot": "108", + "type": "t_uint32", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:68" + }, + { + "label": "claimedBitMap", + "offset": 0, + "slot": "109", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:71" + }, + { + "label": "tokenInfoToWrappedToken", + "offset": 0, + "slot": "110", + "type": "t_mapping(t_bytes32,t_address)", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:74" + }, + { + "label": "wrappedTokenToTokenInfo", + "offset": 0, + "slot": "111", + "type": "t_mapping(t_address,t_struct(TokenInformation)25388_storage)", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:77" + }, + { + "label": "polygonZkEVMaddress", + "offset": 0, + "slot": "112", + "type": "t_address", + "contract": "PolygonZkEVMBridge", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMBridge.sol:80" + }, + { + "label": "_hardAssetManager", + "offset": 0, + "slot": "113", + "type": "t_address", + "contract": "ForkableBridge", + "src": "contracts/ForkableBridge.sol:20" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)32_storage": { + "label": "bytes32[32]", + "numberOfBytes": "1024" + }, + "t_array(t_uint256)10_storage": { + "label": "uint256[10]", + "numberOfBytes": "320" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IBasePolygonZkEVMGlobalExitRoot)27062": { + "label": "contract IBasePolygonZkEVMGlobalExitRoot", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_struct(TokenInformation)25388_storage)": { + "label": "mapping(address => struct PolygonZkEVMBridge.TokenInformation)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_address)": { + "label": "mapping(bytes32 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(TokenInformation)25388_storage": { + "label": "struct PolygonZkEVMBridge.TokenInformation", + "members": [ + { + "label": "originNetwork", + "type": "t_uint32", + "offset": 0, + "slot": "0" + }, + { + "label": "originTokenAddress", + "type": "t_address", + "offset": 4, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "4ba7ea31e8e3b48282e2859468053a0bde02e6c567749d676a8983abf30198ae": { + "address": "0xf703799E97cF35d31eDd46F5a43158FD4A9004a9", + "txHash": "0x861da236f142afe7653bd2abdab5166186f7f39b1215a4f6d0ad5ef6b7e0ad81", + "layout": { + "solcVersion": "0.8.20", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "forkmanager", + "offset": 2, + "slot": "0", + "type": "t_address", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:10" + }, + { + "label": "parentContract", + "offset": 0, + "slot": "1", + "type": "t_address", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:13" + }, + { + "label": "children", + "offset": 0, + "slot": "2", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:18" + }, + { + "label": "bridgeAddress", + "offset": 0, + "slot": "3", + "type": "t_address", + "contract": "PolygonZkEVMGlobalExitRoot", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMGlobalExitRoot.sol:14" + }, + { + "label": "rollupAddress", + "offset": 0, + "slot": "4", + "type": "t_address", + "contract": "PolygonZkEVMGlobalExitRoot", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMGlobalExitRoot.sol:17" + }, + { + "label": "lastRollupExitRoot", + "offset": 0, + "slot": "5", + "type": "t_bytes32", + "contract": "PolygonZkEVMGlobalExitRoot", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMGlobalExitRoot.sol:20" + }, + { + "label": "lastMainnetExitRoot", + "offset": 0, + "slot": "6", + "type": "t_bytes32", + "contract": "PolygonZkEVMGlobalExitRoot", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMGlobalExitRoot.sol:23" + }, + { + "label": "globalExitRootMap", + "offset": 0, + "slot": "7", + "type": "t_mapping(t_bytes32,t_uint256)", + "contract": "PolygonZkEVMGlobalExitRoot", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVMGlobalExitRoot.sol:26" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "98c38b88d4576456f69451ed74d966c7bdaff0fa70e2ef6d2653f30ce610ae60": { + "address": "0xD6f81914cdab4e43313f6702C0B306af75c8156c", + "txHash": "0x06bb701368d3177ac3446cbccfbea6480cc02fbc0abba7af9d6702776f1b4c8f", + "layout": { + "solcVersion": "0.8.20", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "forkmanager", + "offset": 2, + "slot": "0", + "type": "t_address", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:10" + }, + { + "label": "parentContract", + "offset": 0, + "slot": "1", + "type": "t_address", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:13" + }, + { + "label": "children", + "offset": 0, + "slot": "2", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ForkableStructure", + "src": "contracts/mixin/ForkableStructure.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "3", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "53", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "54", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol:94" + }, + { + "label": "_gap", + "offset": 0, + "slot": "103", + "type": "t_array(t_uint256)10_storage", + "contract": "EmergencyManager", + "src": "lib/zkevm-contracts/contracts/lib/EmergencyManager.sol:23" + }, + { + "label": "isEmergencyState", + "offset": 0, + "slot": "113", + "type": "t_bool", + "contract": "EmergencyManager", + "src": "lib/zkevm-contracts/contracts/lib/EmergencyManager.sol:26" + }, + { + "label": "matic", + "offset": 1, + "slot": "113", + "type": "t_contract(IERC20Upgradeable)14591", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:134" + }, + { + "label": "rollupVerifier", + "offset": 0, + "slot": "114", + "type": "t_contract(IVerifierRollup)27466", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:137" + }, + { + "label": "globalExitRootManager", + "offset": 0, + "slot": "115", + "type": "t_contract(IPolygonZkEVMGlobalExitRoot)27449", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:140" + }, + { + "label": "bridgeAddress", + "offset": 0, + "slot": "116", + "type": "t_contract(IPolygonZkEVMBridge)27312", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:143" + }, + { + "label": "chainID", + "offset": 20, + "slot": "116", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:146" + }, + { + "label": "forkID", + "offset": 0, + "slot": "117", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:149" + }, + { + "label": "verifyBatchTimeTarget", + "offset": 8, + "slot": "117", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:153" + }, + { + "label": "multiplierBatchFee", + "offset": 16, + "slot": "117", + "type": "t_uint16", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:156" + }, + { + "label": "trustedSequencer", + "offset": 0, + "slot": "118", + "type": "t_address", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:159" + }, + { + "label": "batchFee", + "offset": 0, + "slot": "119", + "type": "t_uint256", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:162" + }, + { + "label": "forcedBatches", + "offset": 0, + "slot": "120", + "type": "t_mapping(t_uint64,t_bytes32)", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:168" + }, + { + "label": "sequencedBatches", + "offset": 0, + "slot": "121", + "type": "t_mapping(t_uint64,t_struct(SequencedBatchData)22831_storage)", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:172" + }, + { + "label": "lastTimestamp", + "offset": 0, + "slot": "122", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:175" + }, + { + "label": "lastBatchSequenced", + "offset": 8, + "slot": "122", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:178" + }, + { + "label": "lastForceBatchSequenced", + "offset": 16, + "slot": "122", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:181" + }, + { + "label": "lastForceBatch", + "offset": 24, + "slot": "122", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:184" + }, + { + "label": "lastVerifiedBatch", + "offset": 0, + "slot": "123", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:187" + }, + { + "label": "trustedAggregator", + "offset": 8, + "slot": "123", + "type": "t_address", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:190" + }, + { + "label": "batchNumToStateRoot", + "offset": 0, + "slot": "124", + "type": "t_mapping(t_uint64,t_bytes32)", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:194" + }, + { + "label": "trustedSequencerURL", + "offset": 0, + "slot": "125", + "type": "t_string_storage", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:197" + }, + { + "label": "networkName", + "offset": 0, + "slot": "126", + "type": "t_string_storage", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:200" + }, + { + "label": "pendingStateTransitions", + "offset": 0, + "slot": "127", + "type": "t_mapping(t_uint256,t_struct(PendingState)22841_storage)", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:204" + }, + { + "label": "lastPendingState", + "offset": 0, + "slot": "128", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:207" + }, + { + "label": "lastPendingStateConsolidated", + "offset": 8, + "slot": "128", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:210" + }, + { + "label": "pendingStateTimeout", + "offset": 16, + "slot": "128", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:213" + }, + { + "label": "trustedAggregatorTimeout", + "offset": 24, + "slot": "128", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:217" + }, + { + "label": "admin", + "offset": 0, + "slot": "129", + "type": "t_address", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:220" + }, + { + "label": "pendingAdmin", + "offset": 0, + "slot": "130", + "type": "t_address", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:223" + }, + { + "label": "forceBatchTimeout", + "offset": 20, + "slot": "130", + "type": "t_uint64", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:226" + }, + { + "label": "isForcedBatchDisallowed", + "offset": 28, + "slot": "130", + "type": "t_bool", + "contract": "PolygonZkEVM", + "src": "lib/zkevm-contracts/contracts/inheritedMainContracts/PolygonZkEVM.sol:229" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)10_storage": { + "label": "uint256[10]", + "numberOfBytes": "320" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IERC20Upgradeable)14591": { + "label": "contract IERC20Upgradeable", + "numberOfBytes": "20" + }, + "t_contract(IPolygonZkEVMBridge)27312": { + "label": "contract IPolygonZkEVMBridge", + "numberOfBytes": "20" + }, + "t_contract(IPolygonZkEVMGlobalExitRoot)27449": { + "label": "contract IPolygonZkEVMGlobalExitRoot", + "numberOfBytes": "20" + }, + "t_contract(IVerifierRollup)27466": { + "label": "contract IVerifierRollup", + "numberOfBytes": "20" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(PendingState)22841_storage)": { + "label": "mapping(uint256 => struct PolygonZkEVM.PendingState)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint64,t_bytes32)": { + "label": "mapping(uint64 => bytes32)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint64,t_struct(SequencedBatchData)22831_storage)": { + "label": "mapping(uint64 => struct PolygonZkEVM.SequencedBatchData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(PendingState)22841_storage": { + "label": "struct PolygonZkEVM.PendingState", + "members": [ + { + "label": "timestamp", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "lastVerifiedBatch", + "type": "t_uint64", + "offset": 8, + "slot": "0" + }, + { + "label": "exitRoot", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + }, + { + "label": "stateRoot", + "type": "t_bytes32", + "offset": 0, + "slot": "2" + } + ], + "numberOfBytes": "96" + }, + "t_struct(SequencedBatchData)22831_storage": { + "label": "struct PolygonZkEVM.SequencedBatchData", + "members": [ + { + "label": "accInputHash", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "sequencedTimestamp", + "type": "t_uint64", + "offset": 0, + "slot": "1" + }, + { + "label": "previousLastBatchSequenced", + "type": "t_uint64", + "offset": 8, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + } + } +}