From f1a9c31a3a4cf1495956dcc2fef358cd2d558376 Mon Sep 17 00:00:00 2001 From: StefanIliev545 Date: Mon, 20 May 2024 09:49:42 +0300 Subject: [PATCH] Removed old message pushing. --- .../ManagementContract/ManagementContract.go | 22 +++++++++---------- .../src/management/ManagementContract.sol | 3 +-- go/enclave/enclave.go | 1 - 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/contracts/generated/ManagementContract/ManagementContract.go b/contracts/generated/ManagementContract/ManagementContract.go index 110f6ed3e0..d47c464758 100644 --- a/contracts/generated/ManagementContract/ManagementContract.go +++ b/contracts/generated/ManagementContract/ManagementContract.go @@ -61,8 +61,8 @@ type StructsValueTransferMessage struct { // ManagementContractMetaData contains all meta data concerning the ManagementContract contract. var ManagementContractMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"ImportantContractAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"messageBusAddress\",\"type\":\"address\"}],\"name\":\"LogManagementContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"enclaveID\",\"type\":\"address\"}],\"name\":\"SequencerEnclaveGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"enclaveID\",\"type\":\"address\"}],\"name\":\"SequencerEnclaveRevoked\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"Signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"LastSequenceNumber\",\"type\":\"uint256\"}],\"internalType\":\"structStructs.MetaRollup\",\"name\":\"r\",\"type\":\"tuple\"},{\"internalType\":\"string\",\"name\":\"_rollupData\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"topic\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"consistencyLevel\",\"type\":\"uint8\"}],\"internalType\":\"structStructs.CrossChainMessage[]\",\"name\":\"messages\",\"type\":\"tuple[]\"}],\"internalType\":\"structStructs.HeaderCrossChainData\",\"name\":\"crossChainData\",\"type\":\"tuple\"}],\"name\":\"AddRollup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"Attested\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"}],\"internalType\":\"structStructs.ValueTransferMessage\",\"name\":\"_msg\",\"type\":\"tuple\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"ExtractNativeValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetImportantContractKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rollupHash\",\"type\":\"bytes32\"}],\"name\":\"GetRollupByHash\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"Signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"LastSequenceNumber\",\"type\":\"uint256\"}],\"internalType\":\"structStructs.MetaRollup\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"GrantSequencerEnclave\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_enclaveID\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initSecret\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_genesisAttestation\",\"type\":\"string\"}],\"name\":\"InitializeNetworkSecret\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"IsSequencerEnclave\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IsWithdrawalAvailable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"requestReport\",\"type\":\"string\"}],\"name\":\"RequestNetworkSecret\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"attesterID\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requesterID\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"attesterSig\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"responseSecret\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"verifyAttester\",\"type\":\"bool\"}],\"name\":\"RespondNetworkSecret\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RetrieveAllBridgeFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"RevokeSequencerEnclave\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"SetImportantContractAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_lastBatchHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"blockNum\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"crossChainHashes\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"addCrossChainMessagesRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"importantContractAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"importantContractKeys\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isWithdrawalSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastBatchHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastBatchSeqNo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"merkleMessageBus\",\"outputs\":[{\"internalType\":\"contractIMerkleTreeMessageBus\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"messageBus\",\"outputs\":[{\"internalType\":\"contractIMessageBus\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561001057600080fd5b5061001a3361001f565b610090565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6143af80620000a06000396000f3fe60806040523480156200001157600080fd5b5060043610620001d05760003560e01c8063715018a61162000101578063a1a227fa11620000a3578063db5d91b1116200007a578063db5d91b11462000446578063e34fbfc81462000475578063e874eb20146200048a578063f2fde38b146200049e57600080fd5b8063a1a227fa146200040a578063a52f433c146200041e578063d4fab887146200042f57600080fd5b80638236a7ba11620000d85780638236a7ba146200038c5780638da5cb5b14620003b357806398077e8614620003e457600080fd5b8063715018a6146200036e5780637281099614620003785780638129fc1c146200038257600080fd5b806343348b2f11620001775780635371a216116200014e5780635371a216146200031057806368e1038314620003275780636a30d26c146200033e5780636b9707d6146200035757600080fd5b806343348b2f14620002c0578063440c953b14620002ef5780634766573814620002f957600080fd5b80632f0cb9e311620001ac5780632f0cb9e314620002225780633e60a22f14620002595780633f3f6a1814620002a957600080fd5b80620ddd2714620001d557806303e72e4814620001f25780632c77c81f146200020b575b600080fd5b620001df600a5481565b6040519081526020015b60405180910390f35b620002096200020336600462001cc4565b620004b5565b005b620002096200021c36600462001d64565b620005c8565b620002486200023336600462001e07565b60096020526000908152604090205460ff1681565b6040519015158152602001620001e9565b620002906200026a36600462001e21565b80516020818301810180516003825292820191909301209152546001600160a01b031681565b6040516001600160a01b039091168152602001620001e9565b62000209620002ba36600462001e62565b62000712565b62000248620002d136600462001f7c565b6001600160a01b031660009081526020819052604090205460ff1690565b620001df60055481565b620002096200030a36600462001f7c565b62000998565b620002096200032136600462001fa1565b62000a68565b62000209620003383660046200203b565b62000c71565b6200034862000d68565b604051620001e9919062002119565b620002096200036836600462001f7c565b62000e4b565b6200020962000f11565b6200020962000f29565b6200020962000fad565b620003a36200039d36600462001e07565b62001185565b604051620001e99291906200217f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031662000290565b620003fb620003f536600462001e07565b62001275565b604051620001e99190620021c5565b60075462000290906001600160a01b031681565b600454610100900460ff1662000248565b6200020962000440366004620021da565b6200132a565b620002486200045736600462001f7c565b6001600160a01b031660009081526001602052604090205460ff1690565b620002096200048636600462002285565b5050565b60085462000290906001600160a01b031681565b62000209620004af36600462001f7c565b620014bd565b620004bf6200151a565b60006001600160a01b0316600383604051620004dc9190620022cb565b908152604051908190036020019020546001600160a01b0316036200053b57600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0162000539838262002377565b505b806003836040516200054e9190620022cb565b90815260405190819003602001812080546001600160a01b039390931673ffffffffffffffffffffffffffffffffffffffff19909316929092179091557f17b2f9f5748931099ffee882b5b64f4a560b5c55da9b4f4e396dae3bb9f98cb590620005bc908490849062002444565b60405180910390a15050565b60006200061a8535620005df602088018862002471565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506200159192505050565b6001600160a01b03811660009081526020819052604090205490915060ff166200068b5760405162461bcd60e51b815260206004820152601660248201527f656e636c6176654944206e6f742061747465737465640000000000000000000060448201526064015b60405180910390fd5b6001600160a01b03811660009081526001602052604090205460ff16620006f55760405162461bcd60e51b815260206004820152601960248201527f656e636c6176654944206e6f7420612073657175656e63657200000000000000604482015260640162000682565b6200070085620015c1565b6200070b82620015f9565b5050505050565b6200071f8460ff620024d1565b431115620007705760405162461bcd60e51b815260206004820152601560248201527f426c6f636b2062696e64696e6720746f6f206f6c640000000000000000000000604482015260640162000682565b84844014620007d7576200078443620016c9565b6200078f86620016c9565b6200079b8640620016c9565b604051602001620007af93929190620024e7565b60408051601f198184030181529082905262461bcd60e51b82526200068291600401620021c5565b60006200084987878787604051602001620007f694939291906200258c565b6040516020818303038152906040528051906020012084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506200159192505050565b6001600160a01b03811660009081526020819052604090205490915060ff16620008b65760405162461bcd60e51b815260206004820152601660248201527f656e636c6176654944206e6f7420617474657374656400000000000000000000604482015260640162000682565b600a87905560005b84518110156200098e5760085485516001600160a01b039091169063b6aed0cb90879084908110620008f457620008f462002608565b602002602001015162000907906200261e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526004810191909152426024820152604401600060405180830381600087803b1580156200095f57600080fd5b505af115801562000974573d6000803e3d6000fd5b505050508080620009859062002643565b915050620008be565b5050505050505050565b620009a26200151a565b6001600160a01b03811660009081526020819052604090205460ff1662000a0c5760405162461bcd60e51b815260206004820152601660248201527f656e636c6176654944206e6f7420617474657374656400000000000000000000604482015260640162000682565b6001600160a01b038116600081815260016020818152604092839020805460ff191690921790915590519182527ffe64c7181f0fc60e300dc02cca368cdfa94d7ca45902de3b9a9d80070e76093691015b60405180910390a150565b6008546040517fb201246f0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b201246f9062000ab9908790879087908790600401620026d0565b60006040518083038186803b15801562000ad257600080fd5b505afa15801562000ae7573d6000803e3d6000fd5b5050505060008460405160200162000b00919062002738565b60408051601f1981840301815291815281516020928301206000818152600990935291205490915060ff161562000b7a5760405162461bcd60e51b815260206004820152601860248201527f7769746864726177616c20616c7265616479207370656e740000000000000000604482015260640162000682565b6001600960008760405160200162000b93919062002738565b60408051808303601f190181529181528151602092830120835282820193909352908201600020805460ff1916931515939093179092556007546001600160a01b0316916399a3ad219162000bee9190890190890162001f7c565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301528801356024820152604401600060405180830381600087803b15801562000c5157600080fd5b505af115801562000c66573d6000803e3d6000fd5b505050505050505050565b60045460ff161562000cec5760405162461bcd60e51b815260206004820152602260248201527f6e6574776f726b2073656372657420616c726561647920696e697469616c697a60448201527f6564000000000000000000000000000000000000000000000000000000000000606482015260840162000682565b60048054600160ff1991821681179092556001600160a01b038716600081815260208181526040808320805486168717905585825291829020805490941690941790925590519081527ffe64c7181f0fc60e300dc02cca368cdfa94d7ca45902de3b9a9d80070e76093691015b60405180910390a15050505050565b60606002805480602002602001604051908101604052809291908181526020016000905b8282101562000e4257838290600052602060002001805462000dae90620022e9565b80601f016020809104026020016040519081016040528092919081815260200182805462000ddc90620022e9565b801562000e2d5780601f1062000e015761010080835404028352916020019162000e2d565b820191906000526020600020905b81548152906001019060200180831162000e0f57829003601f168201915b50505050508152602001906001019062000d8c565b50505050905090565b62000e556200151a565b6001600160a01b03811660009081526001602052604090205460ff1662000ebf5760405162461bcd60e51b815260206004820152601960248201527f656e636c6176654944206e6f7420612073657175656e63657200000000000000604482015260640162000682565b6001600160a01b038116600081815260016020908152604091829020805460ff1916905590519182527f0f279980343c7ca542fde9fa5396555068efb5cd560d9cf9c191aa2911079b47910162000a5d565b62000f1b6200151a565b62000f27600062001770565b565b62000f336200151a565b6007546040517f36d2da900000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03909116906336d2da9090602401600060405180830381600087803b15801562000f9257600080fd5b505af115801562000fa7573d6000803e3d6000fd5b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff1660008115801562000ff95750825b905060008267ffffffffffffffff166001148015620010175750303b155b90508115801562001026575080155b156200105e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156200109357845468ff00000000000000001916680100000000000000001785555b6200109e33620017ee565b6000600555604051620010b19062001bd8565b604051809103906000f080158015620010ce573d6000803e3d6000fd5b506008805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039390931692831790915560078054909116821790556040519081527fbd726cf82ac9c3260b1495107182e336e0654b25c10915648c0cc15b2bb72cbf9060200160405180910390a183156200070b57845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200162000d59565b604080516060808201835260008083526020808401839052838501829052858252600681528482208551938401909552845483526001850180549295869493909284019190620011d590620022e9565b80601f01602080910402602001604051908101604052809291908181526020018280546200120390620022e9565b8015620012545780601f10620012285761010080835404028352916020019162001254565b820191906000526020600020905b8154815290600101906020018083116200123657829003601f168201915b50505091835250506002919091015460209091015280519094149492505050565b600281815481106200128657600080fd5b906000526020600020016000915090508054620012a390620022e9565b80601f0160208091040260200160405190810160405280929190818152602001828054620012d190620022e9565b8015620013225780601f10620012f65761010080835404028352916020019162001322565b820191906000526020600020905b8154815290600101906020018083116200130457829003601f168201915b505050505081565b6001600160a01b03851660009081526020819052604090205460ff1680620013bb5760405162461bcd60e51b815260206004820152602360248201527f726573706f6e64696e67206174746573746572206973206e6f7420617474657360448201527f7465640000000000000000000000000000000000000000000000000000000000606482015260840162000682565b811562001492576000620013f4878786604051602001620013df9392919062002748565b60405160208183030381529060405262001803565b9050600062001404828762001591565b9050876001600160a01b0316816001600160a01b0316146200148f5760405162461bcd60e51b815260206004820152602c60248201527f63616c63756c61746564206164647265737320616e642061747465737465724960448201527f4420646f6e74206d617463680000000000000000000000000000000000000000606482015260840162000682565b50505b5050506001600160a01b039091166000908152602081905260409020805460ff191660011790555050565b620014c76200151a565b6001600160a01b0381166200150c576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526000600482015260240162000682565b620015178162001770565b50565b336200154d7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161462000f27576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240162000682565b600080600080620015a3868662001842565b925092509250620015b5828262001893565b50909150505b92915050565b803560009081526006602052604090208190620015df828262002790565b505060055460408201351115620015175760400135600555565b6000620016078280620028a0565b9050905060005b81811015620016c4576007546001600160a01b0316639730886d620016348580620028a0565b8481811062001647576200164762002608565b90506020028101906200165b9190620028ed565b60016040518363ffffffff1660e01b81526004016200167c92919062002954565b600060405180830381600087803b1580156200169757600080fd5b505af1158015620016ac573d6000803e3d6000fd5b5050505080620016bc9062002643565b90506200160e565b505050565b60606000620016d883620019a9565b600101905060008167ffffffffffffffff811115620016fb57620016fb62001be6565b6040519080825280601f01601f19166020018201604052801562001726576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846200173057509392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b620017f862001a92565b620015178162001afa565b6000620018118251620016c9565b826040516020016200182592919062002a47565b604051602081830303815290604052805190602001209050919050565b60008060008351604103620018805760208401516040850151606086015160001a620018718882858562001b04565b9550955095505050506200188c565b50508151600091506002905b9250925092565b6000826003811115620018aa57620018aa62002aa6565b03620018b4575050565b6001826003811115620018cb57620018cb62002aa6565b0362001903576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156200191a576200191a62002aa6565b0362001956576040517ffce698f70000000000000000000000000000000000000000000000000000000081526004810182905260240162000682565b60038260038111156200196d576200196d62002aa6565b0362000486576040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004810182905260240162000682565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310620019f3577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831062001a20576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831062001a3f57662386f26fc10000830492506010015b6305f5e100831062001a58576305f5e100830492506008015b612710831062001a6d57612710830492506004015b6064831062001a80576064830492506002015b600a8310620015bb5760010192915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1662000f27576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620014c762001a92565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111562001b41575060009150600390508262001bce565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801562001b96573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662001bc45750600092506001915082905062001bce565b9250600091508190505b9450945094915050565b6118bd8062002abd83390190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001c285762001c2862001be6565b604052919050565b600082601f83011262001c4257600080fd5b813567ffffffffffffffff81111562001c5f5762001c5f62001be6565b62001c74601f8201601f191660200162001bfc565b81815284602083860101111562001c8a57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811462001cbf57600080fd5b919050565b6000806040838503121562001cd857600080fd5b823567ffffffffffffffff81111562001cf057600080fd5b62001cfe8582860162001c30565b92505062001d0f6020840162001ca7565b90509250929050565b60008083601f84011262001d2b57600080fd5b50813567ffffffffffffffff81111562001d4457600080fd5b60208301915083602082850101111562001d5d57600080fd5b9250929050565b6000806000806060858703121562001d7b57600080fd5b843567ffffffffffffffff8082111562001d9457600080fd5b908601906060828903121562001da957600080fd5b9094506020860135908082111562001dc057600080fd5b62001dce8883890162001d18565b9095509350604087013591508082111562001de857600080fd5b5085016020818803121562001dfc57600080fd5b939692955090935050565b60006020828403121562001e1a57600080fd5b5035919050565b60006020828403121562001e3457600080fd5b813567ffffffffffffffff81111562001e4c57600080fd5b62001e5a8482850162001c30565b949350505050565b60008060008060008060a0878903121562001e7c57600080fd5b86359550602080880135955060408801359450606088013567ffffffffffffffff8082111562001eab57600080fd5b818a0191508a601f83011262001ec057600080fd5b81358181111562001ed55762001ed562001be6565b8060051b62001ee685820162001bfc565b918252838101850191858101908e84111562001f0157600080fd5b86860192505b8383101562001f4057848335111562001f1f57600080fd5b62001f308f88853589010162001c30565b8252918601919086019062001f07565b985050505060808a013592508083111562001f5a57600080fd5b505062001f6a89828a0162001d18565b979a9699509497509295939492505050565b60006020828403121562001f8f57600080fd5b62001f9a8262001ca7565b9392505050565b60008060008084860360c081121562001fb957600080fd5b608081121562001fc857600080fd5b50849350608085013567ffffffffffffffff8082111562001fe857600080fd5b818701915087601f83011262001ffd57600080fd5b8135818111156200200d57600080fd5b8860208260051b85010111156200202357600080fd5b95986020929092019750949560a00135945092505050565b6000806000806000606086880312156200205457600080fd5b6200205f8662001ca7565b9450602086013567ffffffffffffffff808211156200207d57600080fd5b6200208b89838a0162001d18565b90965094506040880135915080821115620020a557600080fd5b50620020b48882890162001d18565b969995985093965092949392505050565b60005b83811015620020e2578181015183820152602001620020c8565b50506000910152565b6000815180845262002105816020860160208601620020c5565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200217257603f198886030184526200215f858351620020eb565b9450928501929085019060010162002140565b5092979650505050505050565b8215158152604060208201528151604082015260006020830151606080840152620021ae60a0840182620020eb565b905060408401516080840152809150509392505050565b60208152600062001f9a6020830184620020eb565b600080600080600060a08688031215620021f357600080fd5b620021fe8662001ca7565b94506200220e6020870162001ca7565b9350604086013567ffffffffffffffff808211156200222c57600080fd5b6200223a89838a0162001c30565b945060608801359150808211156200225157600080fd5b50620022608882890162001c30565b925050608086013580151581146200227757600080fd5b809150509295509295909350565b600080602083850312156200229957600080fd5b823567ffffffffffffffff811115620022b157600080fd5b620022bf8582860162001d18565b90969095509350505050565b60008251620022df818460208701620020c5565b9190910192915050565b600181811c90821680620022fe57607f821691505b6020821081036200231f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620016c457600081815260208120601f850160051c810160208610156200234e5750805b601f850160051c820191505b818110156200236f578281556001016200235a565b505050505050565b815167ffffffffffffffff81111562002394576200239462001be6565b620023ac81620023a58454620022e9565b8462002325565b602080601f831160018114620023e45760008415620023cb5750858301515b600019600386901b1c1916600185901b1785556200236f565b600085815260208120601f198616915b828110156200241557888601518255948401946001909101908401620023f4565b5085821015620024345787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000620024596040830185620020eb565b90506001600160a01b03831660208301529392505050565b6000808335601e198436030181126200248957600080fd5b83018035915067ffffffffffffffff821115620024a557600080fd5b60200191503681900382131562001d5d57600080fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115620015bb57620015bb620024bb565b7f496e76616c696420626c6f636b2062696e64696e673a0000000000000000000081526000845162002521816016850160208901620020c5565b80830190507f3a00000000000000000000000000000000000000000000000000000000000000806016830152855162002562816017850160208a01620020c5565b601792019182015283516200257f816018840160208801620020c5565b0160180195945050505050565b600060808201868352602086818501528560408501526080606085015281855180845260a08601915060a08160051b870101935082870160005b82811015620025f857609f19888703018452620025e5868351620020eb565b95509284019290840190600101620025c6565b50939a9950505050505050505050565b634e487b7160e01b600052603260045260246000fd5b805160208083015191908110156200231f5760001960209190910360031b1b16919050565b600060018201620026585762002658620024bb565b5060010190565b803567ffffffffffffffff8116811462001cbf57600080fd5b6001600160a01b03806200268c8362001ca7565b168352806200269e6020840162001ca7565b166020840152506040810135604083015267ffffffffffffffff620026c6606083016200265f565b1660608301525050565b620026dc818662002678565b60c060808201528260c082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8411156200271957600080fd5b8360051b808660e085013760a0830193909352500160e0019392505050565b60808101620015bb828462002678565b60006bffffffffffffffffffffffff19808660601b168352808560601b16601484015250825162002781816028850160208701620020c5565b91909101602801949350505050565b813581556001808201602080850135601e19863603018112620027b257600080fd5b8501803567ffffffffffffffff811115620027cc57600080fd5b8036038383011315620027de57600080fd5b620027f681620027ef8654620022e9565b8662002325565b6000601f8211600181146200282f57600083156200281657508382018501355b600019600385901b1c1916600184901b1786556200288b565b600086815260209020601f19841690835b82811015620028615786850188013582559387019390890190870162002840565b5084821015620028815760001960f88660031b161c198785880101351681555b50508683881b0186555b50505050505050604082013560028201555050565b6000808335601e19843603018112620028b857600080fd5b83018035915067ffffffffffffffff821115620028d457600080fd5b6020019150600581901b360382131562001d5d57600080fd5b6000823560be19833603018112620022df57600080fd5b803563ffffffff8116811462001cbf57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803560ff8116811462001cbf57600080fd5b604081526001600160a01b036200296b8462001ca7565b166040820152600062002981602085016200265f565b67ffffffffffffffff8082166060850152620029a06040870162002904565b915063ffffffff808316608086015280620029be6060890162002904565b1660a08601525060808601359150601e19863603018212620029df57600080fd5b6020918601918201913581811115620029f757600080fd5b80360383131562002a0757600080fd5b60c08086015262002a1e6101008601828562002919565b9250505062002a3060a0860162002942565b60ff1660e084015260209092019290925292915050565b7f19457468657265756d205369676e6564204d6573736167653a0a00000000000081526000835162002a8181601a850160208801620020c5565b83519083019062002a9a81601a840160208801620020c5565b01601a01949350505050565b634e487b7160e01b600052602160045260246000fdfe608060405234801561001057600080fd5b50338061003757604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61004081610046565b50610096565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611818806100a56000396000f3fe6080604052600436106100e15760003560e01c80639730886d1161007f578063b201246f11610059578063b201246f1461030e578063b6aed0cb1461032e578063e138a8d21461034e578063f2fde38b1461036e57610155565b80639730886d1461029557806399a3ad21146102b5578063b1454caa146102d557610155565b806336d2da90116100bb57806336d2da9014610218578063715018a614610238578063730b23b51461024d5780638da5cb5b1461026d57610155565b80630fcfbd11146101a257806333a88c72146101d5578063346633fb1461020557610155565b36610155576040517f346633fb0000000000000000000000000000000000000000000000000000000081523360048201523460248201819052309163346633fb91906044016000604051808303818588803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b005b60405162461bcd60e51b815260206004820152600b60248201527f756e737570706f7274656400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b3480156101ae57600080fd5b506101c26101bd366004610f81565b61038e565b6040519081526020015b60405180910390f35b3480156101e157600080fd5b506101f56101f0366004610f81565b610428565b60405190151581526020016101cc565b610153610213366004610fcb565b61047b565b34801561022457600080fd5b50610153610233366004610ff7565b610567565b34801561024457600080fd5b50610153610616565b34801561025957600080fd5b50610153610268366004611014565b61062a565b34801561027957600080fd5b506000546040516001600160a01b0390911681526020016101cc565b3480156102a157600080fd5b506101536102b036600461102d565b6106a0565b3480156102c157600080fd5b506101536102d0366004610fcb565b6107f2565b3480156102e157600080fd5b506102f56102f03660046110a3565b6108a2565b60405167ffffffffffffffff90911681526020016101cc565b34801561031a57600080fd5b5061015361032936600461119c565b6108fb565b34801561033a57600080fd5b506101536103493660046111fe565b610afd565b34801561035a57600080fd5b50610153610369366004611220565b610b99565b34801561037a57600080fd5b50610153610389366004610ff7565b610d79565b600080826040516020016103a291906112cf565b60408051601f19818403018152918152815160209283012060008181526001909352912054909150806104215760405162461bcd60e51b815260206004820152602160248201527f54686973206d65737361676520776173206e65766572207375626d69747465646044820152601760f91b6064820152608401610199565b9392505050565b6000808260405160200161043c91906112cf565b60408051601f1981840301815291815281516020928301206000818152600190935291205490915080158015906104735750428111155b949350505050565b60003411801561048a57508034145b6104fc5760405162461bcd60e51b815260206004820152603060248201527f417474656d7074696e6720746f2073656e642076616c756520776974686f757460448201527f2070726f766964696e67204574686572000000000000000000000000000000006064820152608401610199565b600061050733610dd0565b604080513381526001600160a01b0386166020820152348183015267ffffffffffffffff8316606082015290519192507f50c536ac33a920f00755865b831d17bf4cff0b2e0345f65b16d52bfc004068b6919081900360800190a1505050565b61056f610e2e565b6000816001600160a01b03164760405160006040518083038185875af1925050503d80600081146105bc576040519150601f19603f3d011682016040523d82523d6000602084013e6105c1565b606091505b50509050806106125760405162461bcd60e51b815260206004820152601460248201527f6661696c65642073656e64696e672076616c75650000000000000000000000006044820152606401610199565b5050565b61061e610e2e565b6106286000610e74565b565b610632610e2e565b600081815260046020526040812054900361068f5760405162461bcd60e51b815260206004820152601a60248201527f537461746520726f6f7420646f6573206e6f742065786973742e0000000000006044820152606401610199565b600090815260046020526040812055565b6106a8610e2e565b60006106b482426113d0565b90506000836040516020016106c991906112cf565b60408051601f19818403018152918152815160209283012060008181526001909352912054909150156107645760405162461bcd60e51b815260206004820152602160248201527f4d657373616765207375626d6974746564206d6f7265207468616e206f6e636560448201527f21000000000000000000000000000000000000000000000000000000000000006064820152608401610199565b600081815260016020908152604082208490556002919061078790870187610ff7565b6001600160a01b0316815260208101919091526040016000908120906107b360808701606088016113e3565b63ffffffff168152602080820192909252604001600090812080546001810182559082529190208591600402016107ea82826115b1565b505050505050565b6107fa610e2e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610847576040519150601f19603f3d011682016040523d82523d6000602084013e61084c565b606091505b505090508061089d5760405162461bcd60e51b815260206004820152601460248201527f6661696c65642073656e64696e672076616c75650000000000000000000000006044820152606401610199565b505050565b60006108ad33610dd0565b90507fb93c37389233beb85a3a726c3f15c2d15533ee74cb602f20f490dfffef775937338288888888886040516108ea97969594939291906116cb565b60405180910390a195945050505050565b600081815260046020526040812054900361096b5760405162461bcd60e51b815260206004820152602a60248201527f526f6f74206973206e6f74207075626c6973686564206f6e2074686973206d6560448201526939b9b0b3b290313ab99760b11b6064820152608401610199565b6000818152600460205260409020544210156109d35760405162461bcd60e51b815260206004820152602160248201527f526f6f74206973206e6f7420636f6e736964657265642066696e616c207965746044820152601760f91b6064820152608401610199565b6000846040516020016109e6919061172b565b60408051601f198184030181528282528051602091820120908301829052600560608401527f76616c756500000000000000000000000000000000000000000000000000000060808401529082015260a001604051602081830303815290604052805190602001209050610a8484848484604051602001610a6991815260200190565b60405160208183030381529060405280519060200120610ed1565b610af65760405162461bcd60e51b815260206004820152603360248201527f496e76616c696420696e636c7573696f6e2070726f6f6620666f722076616c7560448201527f65207472616e73666572206d6573736167652e000000000000000000000000006064820152608401610199565b5050505050565b610b05610e2e565b60008281526004602052604090205415610b875760405162461bcd60e51b815260206004820152602560248201527f526f6f7420616c726561647920616464656420746f20746865206d657373616760448201527f65206275730000000000000000000000000000000000000000000000000000006064820152608401610199565b60009182526004602052604090912055565b6000818152600460205260408120549003610c095760405162461bcd60e51b815260206004820152602a60248201527f526f6f74206973206e6f74207075626c6973686564206f6e2074686973206d6560448201526939b9b0b3b290313ab99760b11b6064820152608401610199565b600081815260046020526040902054421015610c715760405162461bcd60e51b815260206004820152602160248201527f526f6f74206973206e6f7420636f6e736964657265642066696e616c207965746044820152601760f91b6064820152608401610199565b600084604051602001610c8491906112cf565b60408051601f198184030181528282528051602091820120908301829052600760608401527f6d6573736167650000000000000000000000000000000000000000000000000060808401529082015260a001604051602081830303815290604052805190602001209050610d0784848484604051602001610a6991815260200190565b610af65760405162461bcd60e51b815260206004820152603060248201527f496e76616c696420696e636c7573696f6e2070726f6f6620666f722063726f7360448201527f7320636861696e206d6573736167652e000000000000000000000000000000006064820152608401610199565b610d81610e2e565b6001600160a01b038116610dc4576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610199565b610dcd81610e74565b50565b6001600160a01b0381166000908152600360205260408120805467ffffffffffffffff169160019190610e03838561178b565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550919050565b6000546001600160a01b03163314610628576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610199565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082610edf868685610ee9565b1495945050505050565b600081815b84811015610f2c57610f1882878784818110610f0c57610f0c6117b3565b90506020020135610f35565b915080610f24816117c9565b915050610eee565b50949350505050565b6000818310610f51576000828152602084905260409020610f60565b60008381526020839052604090205b90505b92915050565b600060c08284031215610f7b57600080fd5b50919050565b600060208284031215610f9357600080fd5b813567ffffffffffffffff811115610faa57600080fd5b61047384828501610f69565b6001600160a01b0381168114610dcd57600080fd5b60008060408385031215610fde57600080fd5b8235610fe981610fb6565b946020939093013593505050565b60006020828403121561100957600080fd5b813561042181610fb6565b60006020828403121561102657600080fd5b5035919050565b6000806040838503121561104057600080fd5b823567ffffffffffffffff81111561105757600080fd5b61106385828601610f69565b95602094909401359450505050565b63ffffffff81168114610dcd57600080fd5b60ff81168114610dcd57600080fd5b803561109e81611084565b919050565b6000806000806000608086880312156110bb57600080fd5b85356110c681611072565b945060208601356110d681611072565b9350604086013567ffffffffffffffff808211156110f357600080fd5b818801915088601f83011261110757600080fd5b81358181111561111657600080fd5b89602082850101111561112857600080fd5b602083019550809450505050606086013561114281611084565b809150509295509295909350565b60008083601f84011261116257600080fd5b50813567ffffffffffffffff81111561117a57600080fd5b6020830191508360208260051b850101111561119557600080fd5b9250929050565b60008060008084860360c08112156111b357600080fd5b60808112156111c157600080fd5b50849350608085013567ffffffffffffffff8111156111df57600080fd5b6111eb87828801611150565b9598909750949560a00135949350505050565b6000806040838503121561121157600080fd5b50508035926020909101359150565b6000806000806060858703121561123657600080fd5b843567ffffffffffffffff8082111561124e57600080fd5b61125a88838901610f69565b9550602087013591508082111561127057600080fd5b5061127d87828801611150565b9598909750949560400135949350505050565b67ffffffffffffffff81168114610dcd57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600082356112e081610fb6565b6001600160a01b03811660208401525060208301356112fe81611290565b67ffffffffffffffff80821660408501526040850135915061131f82611072565b63ffffffff80831660608601526060860135925061133c83611072565b80831660808601525060808501359150601e1985360301821261135e57600080fd5b602091850191820191358181111561137557600080fd5b80360383131561138457600080fd5b60c060a086015261139960e0860182856112a6565b925050506113a960a08501611093565b60ff811660c0850152509392505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610f6357610f636113ba565b6000602082840312156113f557600080fd5b813561042181611072565b60008135610f6381611072565b6000808335601e1984360301811261142457600080fd5b83018035915067ffffffffffffffff82111561143f57600080fd5b60200191503681900382131561119557600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061147e57607f821691505b602082108103610f7b57634e487b7160e01b600052602260045260246000fd5b601f82111561089d57600081815260208120601f850160051c810160208610156114c55750805b601f850160051c820191505b818110156107ea578281556001016114d1565b67ffffffffffffffff8311156114fc576114fc611454565b6115108361150a835461146a565b8361149e565b6000601f841160018114611544576000851561152c5750838201355b600019600387901b1c1916600186901b178355610af6565b600083815260209020601f19861690835b828110156115755786850135825560209485019460019092019101611555565b50868210156115925760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008135610f6381611084565b81356115bc81610fb6565b6001600160a01b038116905081548173ffffffffffffffffffffffffffffffffffffffff19821617835560208401356115f481611290565b7bffffffffffffffff00000000000000000000000000000000000000008160a01b1690507fffffffff000000000000000000000000000000000000000000000000000000008184828516171785556040860135925061165283611072565b921760e09190911b90911617815561168a61166f60608401611400565b6001830163ffffffff821663ffffffff198254161781555050565b611697608083018361140d565b6116a58183600286016114e4565b50506106126116b660a084016115a4565b6003830160ff821660ff198254161781555050565b6001600160a01b038816815267ffffffffffffffff87166020820152600063ffffffff808816604084015280871660608401525060c0608083015261171460c0830185876112a6565b905060ff831660a083015298975050505050505050565b60808101823561173a81610fb6565b6001600160a01b03908116835260208401359061175682610fb6565b16602083015260408381013590830152606083013561177481611290565b67ffffffffffffffff811660608401525092915050565b67ffffffffffffffff8181168382160190808211156117ac576117ac6113ba565b5092915050565b634e487b7160e01b600052603260045260246000fd5b6000600182016117db576117db6113ba565b506001019056fea26469706673582212209ff76792e24f893bfdef4af75963a84117adb05558050e12d2289f567f3ddc8b64736f6c63430008140033a26469706673582212203f4ae510c82923fe59dfa2116ee735e9ee49ee9218bc01b9ff02f867f2863b0264736f6c63430008140033", + ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"ImportantContractAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"messageBusAddress\",\"type\":\"address\"}],\"name\":\"LogManagementContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"enclaveID\",\"type\":\"address\"}],\"name\":\"SequencerEnclaveGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"enclaveID\",\"type\":\"address\"}],\"name\":\"SequencerEnclaveRevoked\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"Signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"LastSequenceNumber\",\"type\":\"uint256\"}],\"internalType\":\"structStructs.MetaRollup\",\"name\":\"r\",\"type\":\"tuple\"},{\"internalType\":\"string\",\"name\":\"_rollupData\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"topic\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"consistencyLevel\",\"type\":\"uint8\"}],\"internalType\":\"structStructs.CrossChainMessage[]\",\"name\":\"messages\",\"type\":\"tuple[]\"}],\"internalType\":\"structStructs.HeaderCrossChainData\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"AddRollup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"Attested\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"}],\"internalType\":\"structStructs.ValueTransferMessage\",\"name\":\"_msg\",\"type\":\"tuple\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"ExtractNativeValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetImportantContractKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rollupHash\",\"type\":\"bytes32\"}],\"name\":\"GetRollupByHash\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"Signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"LastSequenceNumber\",\"type\":\"uint256\"}],\"internalType\":\"structStructs.MetaRollup\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"GrantSequencerEnclave\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_enclaveID\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initSecret\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_genesisAttestation\",\"type\":\"string\"}],\"name\":\"InitializeNetworkSecret\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"IsSequencerEnclave\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IsWithdrawalAvailable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"requestReport\",\"type\":\"string\"}],\"name\":\"RequestNetworkSecret\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"attesterID\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requesterID\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"attesterSig\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"responseSecret\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"verifyAttester\",\"type\":\"bool\"}],\"name\":\"RespondNetworkSecret\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RetrieveAllBridgeFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"RevokeSequencerEnclave\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"SetImportantContractAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_lastBatchHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"blockNum\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"crossChainHashes\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"addCrossChainMessagesRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"importantContractAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"importantContractKeys\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isWithdrawalSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastBatchHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastBatchSeqNo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"merkleMessageBus\",\"outputs\":[{\"internalType\":\"contractIMerkleTreeMessageBus\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"messageBus\",\"outputs\":[{\"internalType\":\"contractIMessageBus\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + Bin: "0x608060405234801561001057600080fd5b5061001a3361001f565b610090565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b61411d80620000a06000396000f3fe60806040523480156200001157600080fd5b5060043610620001d05760003560e01c8063715018a61162000101578063a1a227fa11620000a3578063db5d91b1116200007a578063db5d91b11462000446578063e34fbfc81462000475578063e874eb20146200048a578063f2fde38b146200049e57600080fd5b8063a1a227fa146200040a578063a52f433c146200041e578063d4fab887146200042f57600080fd5b80638236a7ba11620000d85780638236a7ba146200038c5780638da5cb5b14620003b357806398077e8614620003e457600080fd5b8063715018a6146200036e5780637281099614620003785780638129fc1c146200038257600080fd5b806343348b2f11620001775780635371a216116200014e5780635371a216146200031057806368e1038314620003275780636a30d26c146200033e5780636b9707d6146200035757600080fd5b806343348b2f14620002c0578063440c953b14620002ef5780634766573814620002f957600080fd5b80632f0cb9e311620001ac5780632f0cb9e314620002225780633e60a22f14620002595780633f3f6a1814620002a957600080fd5b80620ddd2714620001d557806303e72e4814620001f25780632c77c81f146200020b575b600080fd5b620001df600a5481565b6040519081526020015b60405180910390f35b620002096200020336600462001be9565b620004b5565b005b620002096200021c36600462001c89565b620005c8565b620002486200023336600462001d2c565b60096020526000908152604090205460ff1681565b6040519015158152602001620001e9565b620002906200026a36600462001d46565b80516020818301810180516003825292820191909301209152546001600160a01b031681565b6040516001600160a01b039091168152602001620001e9565b62000209620002ba36600462001d87565b62000707565b62000248620002d136600462001ea1565b6001600160a01b031660009081526020819052604090205460ff1690565b620001df60055481565b620002096200030a36600462001ea1565b6200098d565b620002096200032136600462001ec6565b62000a5d565b620002096200033836600462001f60565b62000c66565b6200034862000d5d565b604051620001e991906200203e565b620002096200036836600462001ea1565b62000e40565b6200020962000f06565b6200020962000f1e565b6200020962000fa2565b620003a36200039d36600462001d2c565b6200117a565b604051620001e9929190620020a4565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031662000290565b620003fb620003f536600462001d2c565b6200126a565b604051620001e99190620020ea565b60075462000290906001600160a01b031681565b600454610100900460ff1662000248565b6200020962000440366004620020ff565b6200131f565b620002486200045736600462001ea1565b6001600160a01b031660009081526001602052604090205460ff1690565b6200020962000486366004620021aa565b5050565b60085462000290906001600160a01b031681565b62000209620004af36600462001ea1565b620014b2565b620004bf6200150f565b60006001600160a01b0316600383604051620004dc9190620021f0565b908152604051908190036020019020546001600160a01b0316036200053b57600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace016200053983826200229d565b505b806003836040516200054e9190620021f0565b90815260405190819003602001812080546001600160a01b039390931673ffffffffffffffffffffffffffffffffffffffff19909316929092179091557f17b2f9f5748931099ffee882b5b64f4a560b5c55da9b4f4e396dae3bb9f98cb590620005bc90849084906200236a565b60405180910390a15050565b60006200061a8535620005df602088018862002397565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506200158692505050565b6001600160a01b03811660009081526020819052604090205490915060ff166200068b5760405162461bcd60e51b815260206004820152601660248201527f656e636c6176654944206e6f742061747465737465640000000000000000000060448201526064015b60405180910390fd5b6001600160a01b03811660009081526001602052604090205460ff16620006f55760405162461bcd60e51b815260206004820152601960248201527f656e636c6176654944206e6f7420612073657175656e63657200000000000000604482015260640162000682565b6200070085620015b6565b5050505050565b620007148460ff620023f7565b431115620007655760405162461bcd60e51b815260206004820152601560248201527f426c6f636b2062696e64696e6720746f6f206f6c640000000000000000000000604482015260640162000682565b84844014620007cc576200077943620015ee565b6200078486620015ee565b620007908640620015ee565b604051602001620007a4939291906200240d565b60408051601f198184030181529082905262461bcd60e51b82526200068291600401620020ea565b60006200083e87878787604051602001620007eb9493929190620024b2565b6040516020818303038152906040528051906020012084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506200158692505050565b6001600160a01b03811660009081526020819052604090205490915060ff16620008ab5760405162461bcd60e51b815260206004820152601660248201527f656e636c6176654944206e6f7420617474657374656400000000000000000000604482015260640162000682565b600a87905560005b8451811015620009835760085485516001600160a01b039091169063b6aed0cb90879084908110620008e957620008e96200252e565b6020026020010151620008fc9062002544565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526004810191909152426024820152604401600060405180830381600087803b1580156200095457600080fd5b505af115801562000969573d6000803e3d6000fd5b5050505080806200097a9062002569565b915050620008b3565b5050505050505050565b620009976200150f565b6001600160a01b03811660009081526020819052604090205460ff1662000a015760405162461bcd60e51b815260206004820152601660248201527f656e636c6176654944206e6f7420617474657374656400000000000000000000604482015260640162000682565b6001600160a01b038116600081815260016020818152604092839020805460ff191690921790915590519182527ffe64c7181f0fc60e300dc02cca368cdfa94d7ca45902de3b9a9d80070e76093691015b60405180910390a150565b6008546040517fb201246f0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b201246f9062000aae908790879087908790600401620025e5565b60006040518083038186803b15801562000ac757600080fd5b505afa15801562000adc573d6000803e3d6000fd5b5050505060008460405160200162000af591906200264d565b60408051601f1981840301815291815281516020928301206000818152600990935291205490915060ff161562000b6f5760405162461bcd60e51b815260206004820152601860248201527f7769746864726177616c20616c7265616479207370656e740000000000000000604482015260640162000682565b6001600960008760405160200162000b8891906200264d565b60408051808303601f190181529181528151602092830120835282820193909352908201600020805460ff1916931515939093179092556007546001600160a01b0316916399a3ad219162000be39190890190890162001ea1565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301528801356024820152604401600060405180830381600087803b15801562000c4657600080fd5b505af115801562000c5b573d6000803e3d6000fd5b505050505050505050565b60045460ff161562000ce15760405162461bcd60e51b815260206004820152602260248201527f6e6574776f726b2073656372657420616c726561647920696e697469616c697a60448201527f6564000000000000000000000000000000000000000000000000000000000000606482015260840162000682565b60048054600160ff1991821681179092556001600160a01b038716600081815260208181526040808320805486168717905585825291829020805490941690941790925590519081527ffe64c7181f0fc60e300dc02cca368cdfa94d7ca45902de3b9a9d80070e76093691015b60405180910390a15050505050565b60606002805480602002602001604051908101604052809291908181526020016000905b8282101562000e3757838290600052602060002001805462000da3906200220e565b80601f016020809104026020016040519081016040528092919081815260200182805462000dd1906200220e565b801562000e225780601f1062000df65761010080835404028352916020019162000e22565b820191906000526020600020905b81548152906001019060200180831162000e0457829003601f168201915b50505050508152602001906001019062000d81565b50505050905090565b62000e4a6200150f565b6001600160a01b03811660009081526001602052604090205460ff1662000eb45760405162461bcd60e51b815260206004820152601960248201527f656e636c6176654944206e6f7420612073657175656e63657200000000000000604482015260640162000682565b6001600160a01b038116600081815260016020908152604091829020805460ff1916905590519182527f0f279980343c7ca542fde9fa5396555068efb5cd560d9cf9c191aa2911079b47910162000a52565b62000f106200150f565b62000f1c600062001695565b565b62000f286200150f565b6007546040517f36d2da900000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03909116906336d2da9090602401600060405180830381600087803b15801562000f8757600080fd5b505af115801562000f9c573d6000803e3d6000fd5b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff1660008115801562000fee5750825b905060008267ffffffffffffffff1660011480156200100c5750303b155b9050811580156200101b575080155b1562001053576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156200108857845468ff00000000000000001916680100000000000000001785555b620010933362001713565b6000600555604051620010a69062001afd565b604051809103906000f080158015620010c3573d6000803e3d6000fd5b506008805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039390931692831790915560078054909116821790556040519081527fbd726cf82ac9c3260b1495107182e336e0654b25c10915648c0cc15b2bb72cbf9060200160405180910390a183156200070057845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200162000d4e565b604080516060808201835260008083526020808401839052838501829052858252600681528482208551938401909552845483526001850180549295869493909284019190620011ca906200220e565b80601f0160208091040260200160405190810160405280929190818152602001828054620011f8906200220e565b8015620012495780601f106200121d5761010080835404028352916020019162001249565b820191906000526020600020905b8154815290600101906020018083116200122b57829003601f168201915b50505091835250506002919091015460209091015280519094149492505050565b600281815481106200127b57600080fd5b90600052602060002001600091509050805462001298906200220e565b80601f0160208091040260200160405190810160405280929190818152602001828054620012c6906200220e565b8015620013175780601f10620012eb5761010080835404028352916020019162001317565b820191906000526020600020905b815481529060010190602001808311620012f957829003601f168201915b505050505081565b6001600160a01b03851660009081526020819052604090205460ff1680620013b05760405162461bcd60e51b815260206004820152602360248201527f726573706f6e64696e67206174746573746572206973206e6f7420617474657360448201527f7465640000000000000000000000000000000000000000000000000000000000606482015260840162000682565b811562001487576000620013e9878786604051602001620013d4939291906200265d565b60405160208183030381529060405262001728565b90506000620013f9828762001586565b9050876001600160a01b0316816001600160a01b031614620014845760405162461bcd60e51b815260206004820152602c60248201527f63616c63756c61746564206164647265737320616e642061747465737465724960448201527f4420646f6e74206d617463680000000000000000000000000000000000000000606482015260840162000682565b50505b5050506001600160a01b039091166000908152602081905260409020805460ff191660011790555050565b620014bc6200150f565b6001600160a01b03811662001501576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526000600482015260240162000682565b6200150c8162001695565b50565b33620015427f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161462000f1c576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240162000682565b60008060008062001598868662001767565b925092509250620015aa8282620017b8565b50909150505b92915050565b803560009081526006602052604090208190620015d48282620026a5565b5050600554604082013511156200150c5760400135600555565b60606000620015fd83620018ce565b600101905060008167ffffffffffffffff81111562001620576200162062001b0b565b6040519080825280601f01601f1916602001820160405280156200164b576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846200165557509392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6200171d620019b7565b6200150c8162001a1f565b6000620017368251620015ee565b826040516020016200174a929190620027b5565b604051602081830303815290604052805190602001209050919050565b60008060008351604103620017a55760208401516040850151606086015160001a620017968882858562001a29565b955095509550505050620017b1565b50508151600091506002905b9250925092565b6000826003811115620017cf57620017cf62002814565b03620017d9575050565b6001826003811115620017f057620017f062002814565b0362001828576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156200183f576200183f62002814565b036200187b576040517ffce698f70000000000000000000000000000000000000000000000000000000081526004810182905260240162000682565b600382600381111562001892576200189262002814565b0362000486576040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004810182905260240162000682565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831062001918577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831062001945576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106200196457662386f26fc10000830492506010015b6305f5e10083106200197d576305f5e100830492506008015b61271083106200199257612710830492506004015b60648310620019a5576064830492506002015b600a8310620015b05760010192915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1662000f1c576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620014bc620019b7565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111562001a66575060009150600390508262001af3565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801562001abb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662001ae95750600092506001915082905062001af3565b9250600091508190505b9450945094915050565b6118bd806200282b83390190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001b4d5762001b4d62001b0b565b604052919050565b600082601f83011262001b6757600080fd5b813567ffffffffffffffff81111562001b845762001b8462001b0b565b62001b99601f8201601f191660200162001b21565b81815284602083860101111562001baf57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811462001be457600080fd5b919050565b6000806040838503121562001bfd57600080fd5b823567ffffffffffffffff81111562001c1557600080fd5b62001c238582860162001b55565b92505062001c346020840162001bcc565b90509250929050565b60008083601f84011262001c5057600080fd5b50813567ffffffffffffffff81111562001c6957600080fd5b60208301915083602082850101111562001c8257600080fd5b9250929050565b6000806000806060858703121562001ca057600080fd5b843567ffffffffffffffff8082111562001cb957600080fd5b908601906060828903121562001cce57600080fd5b9094506020860135908082111562001ce557600080fd5b62001cf38883890162001c3d565b9095509350604087013591508082111562001d0d57600080fd5b5085016020818803121562001d2157600080fd5b939692955090935050565b60006020828403121562001d3f57600080fd5b5035919050565b60006020828403121562001d5957600080fd5b813567ffffffffffffffff81111562001d7157600080fd5b62001d7f8482850162001b55565b949350505050565b60008060008060008060a0878903121562001da157600080fd5b86359550602080880135955060408801359450606088013567ffffffffffffffff8082111562001dd057600080fd5b818a0191508a601f83011262001de557600080fd5b81358181111562001dfa5762001dfa62001b0b565b8060051b62001e0b85820162001b21565b918252838101850191858101908e84111562001e2657600080fd5b86860192505b8383101562001e6557848335111562001e4457600080fd5b62001e558f88853589010162001b55565b8252918601919086019062001e2c565b985050505060808a013592508083111562001e7f57600080fd5b505062001e8f89828a0162001c3d565b979a9699509497509295939492505050565b60006020828403121562001eb457600080fd5b62001ebf8262001bcc565b9392505050565b60008060008084860360c081121562001ede57600080fd5b608081121562001eed57600080fd5b50849350608085013567ffffffffffffffff8082111562001f0d57600080fd5b818701915087601f83011262001f2257600080fd5b81358181111562001f3257600080fd5b8860208260051b850101111562001f4857600080fd5b95986020929092019750949560a00135945092505050565b60008060008060006060868803121562001f7957600080fd5b62001f848662001bcc565b9450602086013567ffffffffffffffff8082111562001fa257600080fd5b62001fb089838a0162001c3d565b9096509450604088013591508082111562001fca57600080fd5b5062001fd98882890162001c3d565b969995985093965092949392505050565b60005b838110156200200757818101518382015260200162001fed565b50506000910152565b600081518084526200202a81602086016020860162001fea565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200209757603f198886030184526200208485835162002010565b9450928501929085019060010162002065565b5092979650505050505050565b8215158152604060208201528151604082015260006020830151606080840152620020d360a084018262002010565b905060408401516080840152809150509392505050565b60208152600062001ebf602083018462002010565b600080600080600060a086880312156200211857600080fd5b620021238662001bcc565b9450620021336020870162001bcc565b9350604086013567ffffffffffffffff808211156200215157600080fd5b6200215f89838a0162001b55565b945060608801359150808211156200217657600080fd5b50620021858882890162001b55565b925050608086013580151581146200219c57600080fd5b809150509295509295909350565b60008060208385031215620021be57600080fd5b823567ffffffffffffffff811115620021d657600080fd5b620021e48582860162001c3d565b90969095509350505050565b600082516200220481846020870162001fea565b9190910192915050565b600181811c908216806200222357607f821691505b6020821081036200224457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200229857600081815260208120601f850160051c81016020861015620022735750805b601f850160051c820191505b8181101562002294578281556001016200227f565b5050505b505050565b815167ffffffffffffffff811115620022ba57620022ba62001b0b565b620022d281620022cb84546200220e565b846200224a565b602080601f8311600181146200230a5760008415620022f15750858301515b600019600386901b1c1916600185901b17855562002294565b600085815260208120601f198616915b828110156200233b578886015182559484019460019091019084016200231a565b50858210156200235a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6040815260006200237f604083018562002010565b90506001600160a01b03831660208301529392505050565b6000808335601e19843603018112620023af57600080fd5b83018035915067ffffffffffffffff821115620023cb57600080fd5b60200191503681900382131562001c8257600080fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115620015b057620015b0620023e1565b7f496e76616c696420626c6f636b2062696e64696e673a000000000000000000008152600084516200244781601685016020890162001fea565b80830190507f3a00000000000000000000000000000000000000000000000000000000000000806016830152855162002488816017850160208a0162001fea565b60179201918201528351620024a581601884016020880162001fea565b0160180195945050505050565b600060808201868352602086818501528560408501526080606085015281855180845260a08601915060a08160051b870101935082870160005b828110156200251e57609f198887030184526200250b86835162002010565b95509284019290840190600101620024ec565b50939a9950505050505050505050565b634e487b7160e01b600052603260045260246000fd5b80516020808301519190811015620022445760001960209190910360031b1b16919050565b6000600182016200257e576200257e620023e1565b5060010190565b6001600160a01b0380620025998362001bcc565b16835280620025ab6020840162001bcc565b1660208401525060408101356040830152606081013567ffffffffffffffff8116808214620025d957600080fd5b80606085015250505050565b620025f1818662002585565b60c060808201528260c082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8411156200262e57600080fd5b8360051b808660e085013760a0830193909352500160e0019392505050565b60808101620015b0828462002585565b60006bffffffffffffffffffffffff19808660601b168352808560601b1660148401525082516200269681602885016020870162001fea565b91909101602801949350505050565b813581556001808201602080850135601e19863603018112620026c757600080fd5b8501803567ffffffffffffffff811115620026e157600080fd5b8036038383011315620026f357600080fd5b6200270b816200270486546200220e565b866200224a565b6000601f8211600181146200274457600083156200272b57508382018501355b600019600385901b1c1916600184901b178655620027a0565b600086815260209020601f19841690835b82811015620027765786850188013582559387019390890190870162002755565b5084821015620027965760001960f88660031b161c198785880101351681555b50508683881b0186555b50505050505050604082013560028201555050565b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000815260008351620027ef81601a85016020880162001fea565b8351908301906200280881601a84016020880162001fea565b01601a01949350505050565b634e487b7160e01b600052602160045260246000fdfe608060405234801561001057600080fd5b50338061003757604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61004081610046565b50610096565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611818806100a56000396000f3fe6080604052600436106100e15760003560e01c80639730886d1161007f578063b201246f11610059578063b201246f1461030e578063b6aed0cb1461032e578063e138a8d21461034e578063f2fde38b1461036e57610155565b80639730886d1461029557806399a3ad21146102b5578063b1454caa146102d557610155565b806336d2da90116100bb57806336d2da9014610218578063715018a614610238578063730b23b51461024d5780638da5cb5b1461026d57610155565b80630fcfbd11146101a257806333a88c72146101d5578063346633fb1461020557610155565b36610155576040517f346633fb0000000000000000000000000000000000000000000000000000000081523360048201523460248201819052309163346633fb91906044016000604051808303818588803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b005b60405162461bcd60e51b815260206004820152600b60248201527f756e737570706f7274656400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b3480156101ae57600080fd5b506101c26101bd366004610f81565b61038e565b6040519081526020015b60405180910390f35b3480156101e157600080fd5b506101f56101f0366004610f81565b610428565b60405190151581526020016101cc565b610153610213366004610fcb565b61047b565b34801561022457600080fd5b50610153610233366004610ff7565b610567565b34801561024457600080fd5b50610153610616565b34801561025957600080fd5b50610153610268366004611014565b61062a565b34801561027957600080fd5b506000546040516001600160a01b0390911681526020016101cc565b3480156102a157600080fd5b506101536102b036600461102d565b6106a0565b3480156102c157600080fd5b506101536102d0366004610fcb565b6107f2565b3480156102e157600080fd5b506102f56102f03660046110a3565b6108a2565b60405167ffffffffffffffff90911681526020016101cc565b34801561031a57600080fd5b5061015361032936600461119c565b6108fb565b34801561033a57600080fd5b506101536103493660046111fe565b610afd565b34801561035a57600080fd5b50610153610369366004611220565b610b99565b34801561037a57600080fd5b50610153610389366004610ff7565b610d79565b600080826040516020016103a291906112cf565b60408051601f19818403018152918152815160209283012060008181526001909352912054909150806104215760405162461bcd60e51b815260206004820152602160248201527f54686973206d65737361676520776173206e65766572207375626d69747465646044820152601760f91b6064820152608401610199565b9392505050565b6000808260405160200161043c91906112cf565b60408051601f1981840301815291815281516020928301206000818152600190935291205490915080158015906104735750428111155b949350505050565b60003411801561048a57508034145b6104fc5760405162461bcd60e51b815260206004820152603060248201527f417474656d7074696e6720746f2073656e642076616c756520776974686f757460448201527f2070726f766964696e67204574686572000000000000000000000000000000006064820152608401610199565b600061050733610dd0565b604080513381526001600160a01b0386166020820152348183015267ffffffffffffffff8316606082015290519192507f50c536ac33a920f00755865b831d17bf4cff0b2e0345f65b16d52bfc004068b6919081900360800190a1505050565b61056f610e2e565b6000816001600160a01b03164760405160006040518083038185875af1925050503d80600081146105bc576040519150601f19603f3d011682016040523d82523d6000602084013e6105c1565b606091505b50509050806106125760405162461bcd60e51b815260206004820152601460248201527f6661696c65642073656e64696e672076616c75650000000000000000000000006044820152606401610199565b5050565b61061e610e2e565b6106286000610e74565b565b610632610e2e565b600081815260046020526040812054900361068f5760405162461bcd60e51b815260206004820152601a60248201527f537461746520726f6f7420646f6573206e6f742065786973742e0000000000006044820152606401610199565b600090815260046020526040812055565b6106a8610e2e565b60006106b482426113d0565b90506000836040516020016106c991906112cf565b60408051601f19818403018152918152815160209283012060008181526001909352912054909150156107645760405162461bcd60e51b815260206004820152602160248201527f4d657373616765207375626d6974746564206d6f7265207468616e206f6e636560448201527f21000000000000000000000000000000000000000000000000000000000000006064820152608401610199565b600081815260016020908152604082208490556002919061078790870187610ff7565b6001600160a01b0316815260208101919091526040016000908120906107b360808701606088016113e3565b63ffffffff168152602080820192909252604001600090812080546001810182559082529190208591600402016107ea82826115b1565b505050505050565b6107fa610e2e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610847576040519150601f19603f3d011682016040523d82523d6000602084013e61084c565b606091505b505090508061089d5760405162461bcd60e51b815260206004820152601460248201527f6661696c65642073656e64696e672076616c75650000000000000000000000006044820152606401610199565b505050565b60006108ad33610dd0565b90507fb93c37389233beb85a3a726c3f15c2d15533ee74cb602f20f490dfffef775937338288888888886040516108ea97969594939291906116cb565b60405180910390a195945050505050565b600081815260046020526040812054900361096b5760405162461bcd60e51b815260206004820152602a60248201527f526f6f74206973206e6f74207075626c6973686564206f6e2074686973206d6560448201526939b9b0b3b290313ab99760b11b6064820152608401610199565b6000818152600460205260409020544210156109d35760405162461bcd60e51b815260206004820152602160248201527f526f6f74206973206e6f7420636f6e736964657265642066696e616c207965746044820152601760f91b6064820152608401610199565b6000846040516020016109e6919061172b565b60408051601f198184030181528282528051602091820120908301829052600560608401527f76616c756500000000000000000000000000000000000000000000000000000060808401529082015260a001604051602081830303815290604052805190602001209050610a8484848484604051602001610a6991815260200190565b60405160208183030381529060405280519060200120610ed1565b610af65760405162461bcd60e51b815260206004820152603360248201527f496e76616c696420696e636c7573696f6e2070726f6f6620666f722076616c7560448201527f65207472616e73666572206d6573736167652e000000000000000000000000006064820152608401610199565b5050505050565b610b05610e2e565b60008281526004602052604090205415610b875760405162461bcd60e51b815260206004820152602560248201527f526f6f7420616c726561647920616464656420746f20746865206d657373616760448201527f65206275730000000000000000000000000000000000000000000000000000006064820152608401610199565b60009182526004602052604090912055565b6000818152600460205260408120549003610c095760405162461bcd60e51b815260206004820152602a60248201527f526f6f74206973206e6f74207075626c6973686564206f6e2074686973206d6560448201526939b9b0b3b290313ab99760b11b6064820152608401610199565b600081815260046020526040902054421015610c715760405162461bcd60e51b815260206004820152602160248201527f526f6f74206973206e6f7420636f6e736964657265642066696e616c207965746044820152601760f91b6064820152608401610199565b600084604051602001610c8491906112cf565b60408051601f198184030181528282528051602091820120908301829052600760608401527f6d6573736167650000000000000000000000000000000000000000000000000060808401529082015260a001604051602081830303815290604052805190602001209050610d0784848484604051602001610a6991815260200190565b610af65760405162461bcd60e51b815260206004820152603060248201527f496e76616c696420696e636c7573696f6e2070726f6f6620666f722063726f7360448201527f7320636861696e206d6573736167652e000000000000000000000000000000006064820152608401610199565b610d81610e2e565b6001600160a01b038116610dc4576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610199565b610dcd81610e74565b50565b6001600160a01b0381166000908152600360205260408120805467ffffffffffffffff169160019190610e03838561178b565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550919050565b6000546001600160a01b03163314610628576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610199565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082610edf868685610ee9565b1495945050505050565b600081815b84811015610f2c57610f1882878784818110610f0c57610f0c6117b3565b90506020020135610f35565b915080610f24816117c9565b915050610eee565b50949350505050565b6000818310610f51576000828152602084905260409020610f60565b60008381526020839052604090205b90505b92915050565b600060c08284031215610f7b57600080fd5b50919050565b600060208284031215610f9357600080fd5b813567ffffffffffffffff811115610faa57600080fd5b61047384828501610f69565b6001600160a01b0381168114610dcd57600080fd5b60008060408385031215610fde57600080fd5b8235610fe981610fb6565b946020939093013593505050565b60006020828403121561100957600080fd5b813561042181610fb6565b60006020828403121561102657600080fd5b5035919050565b6000806040838503121561104057600080fd5b823567ffffffffffffffff81111561105757600080fd5b61106385828601610f69565b95602094909401359450505050565b63ffffffff81168114610dcd57600080fd5b60ff81168114610dcd57600080fd5b803561109e81611084565b919050565b6000806000806000608086880312156110bb57600080fd5b85356110c681611072565b945060208601356110d681611072565b9350604086013567ffffffffffffffff808211156110f357600080fd5b818801915088601f83011261110757600080fd5b81358181111561111657600080fd5b89602082850101111561112857600080fd5b602083019550809450505050606086013561114281611084565b809150509295509295909350565b60008083601f84011261116257600080fd5b50813567ffffffffffffffff81111561117a57600080fd5b6020830191508360208260051b850101111561119557600080fd5b9250929050565b60008060008084860360c08112156111b357600080fd5b60808112156111c157600080fd5b50849350608085013567ffffffffffffffff8111156111df57600080fd5b6111eb87828801611150565b9598909750949560a00135949350505050565b6000806040838503121561121157600080fd5b50508035926020909101359150565b6000806000806060858703121561123657600080fd5b843567ffffffffffffffff8082111561124e57600080fd5b61125a88838901610f69565b9550602087013591508082111561127057600080fd5b5061127d87828801611150565b9598909750949560400135949350505050565b67ffffffffffffffff81168114610dcd57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600082356112e081610fb6565b6001600160a01b03811660208401525060208301356112fe81611290565b67ffffffffffffffff80821660408501526040850135915061131f82611072565b63ffffffff80831660608601526060860135925061133c83611072565b80831660808601525060808501359150601e1985360301821261135e57600080fd5b602091850191820191358181111561137557600080fd5b80360383131561138457600080fd5b60c060a086015261139960e0860182856112a6565b925050506113a960a08501611093565b60ff811660c0850152509392505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610f6357610f636113ba565b6000602082840312156113f557600080fd5b813561042181611072565b60008135610f6381611072565b6000808335601e1984360301811261142457600080fd5b83018035915067ffffffffffffffff82111561143f57600080fd5b60200191503681900382131561119557600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061147e57607f821691505b602082108103610f7b57634e487b7160e01b600052602260045260246000fd5b601f82111561089d57600081815260208120601f850160051c810160208610156114c55750805b601f850160051c820191505b818110156107ea578281556001016114d1565b67ffffffffffffffff8311156114fc576114fc611454565b6115108361150a835461146a565b8361149e565b6000601f841160018114611544576000851561152c5750838201355b600019600387901b1c1916600186901b178355610af6565b600083815260209020601f19861690835b828110156115755786850135825560209485019460019092019101611555565b50868210156115925760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008135610f6381611084565b81356115bc81610fb6565b6001600160a01b038116905081548173ffffffffffffffffffffffffffffffffffffffff19821617835560208401356115f481611290565b7bffffffffffffffff00000000000000000000000000000000000000008160a01b1690507fffffffff000000000000000000000000000000000000000000000000000000008184828516171785556040860135925061165283611072565b921760e09190911b90911617815561168a61166f60608401611400565b6001830163ffffffff821663ffffffff198254161781555050565b611697608083018361140d565b6116a58183600286016114e4565b50506106126116b660a084016115a4565b6003830160ff821660ff198254161781555050565b6001600160a01b038816815267ffffffffffffffff87166020820152600063ffffffff808816604084015280871660608401525060c0608083015261171460c0830185876112a6565b905060ff831660a083015298975050505050505050565b60808101823561173a81610fb6565b6001600160a01b03908116835260208401359061175682610fb6565b16602083015260408381013590830152606083013561177481611290565b67ffffffffffffffff811660608401525092915050565b67ffffffffffffffff8181168382160190808211156117ac576117ac6113ba565b5092915050565b634e487b7160e01b600052603260045260246000fd5b6000600182016117db576117db6113ba565b506001019056fea26469706673582212209ff76792e24f893bfdef4af75963a84117adb05558050e12d2289f567f3ddc8b64736f6c63430008140033a2646970667358221220d60ee54893bd11d286b96e7f20e867cfe6d9b60c34a0c90bf8dd1a277dc0397864736f6c63430008140033", } // ManagementContractABI is the input ABI used to generate the binding from. @@ -638,23 +638,23 @@ func (_ManagementContract *ManagementContractCallerSession) Owner() (common.Addr // AddRollup is a paid mutator transaction binding the contract method 0x2c77c81f. // -// Solidity: function AddRollup((bytes32,bytes,uint256) r, string _rollupData, ((address,uint64,uint32,uint32,bytes,uint8)[]) crossChainData) returns() -func (_ManagementContract *ManagementContractTransactor) AddRollup(opts *bind.TransactOpts, r StructsMetaRollup, _rollupData string, crossChainData StructsHeaderCrossChainData) (*types.Transaction, error) { - return _ManagementContract.contract.Transact(opts, "AddRollup", r, _rollupData, crossChainData) +// Solidity: function AddRollup((bytes32,bytes,uint256) r, string _rollupData, ((address,uint64,uint32,uint32,bytes,uint8)[]) ) returns() +func (_ManagementContract *ManagementContractTransactor) AddRollup(opts *bind.TransactOpts, r StructsMetaRollup, _rollupData string, arg2 StructsHeaderCrossChainData) (*types.Transaction, error) { + return _ManagementContract.contract.Transact(opts, "AddRollup", r, _rollupData, arg2) } // AddRollup is a paid mutator transaction binding the contract method 0x2c77c81f. // -// Solidity: function AddRollup((bytes32,bytes,uint256) r, string _rollupData, ((address,uint64,uint32,uint32,bytes,uint8)[]) crossChainData) returns() -func (_ManagementContract *ManagementContractSession) AddRollup(r StructsMetaRollup, _rollupData string, crossChainData StructsHeaderCrossChainData) (*types.Transaction, error) { - return _ManagementContract.Contract.AddRollup(&_ManagementContract.TransactOpts, r, _rollupData, crossChainData) +// Solidity: function AddRollup((bytes32,bytes,uint256) r, string _rollupData, ((address,uint64,uint32,uint32,bytes,uint8)[]) ) returns() +func (_ManagementContract *ManagementContractSession) AddRollup(r StructsMetaRollup, _rollupData string, arg2 StructsHeaderCrossChainData) (*types.Transaction, error) { + return _ManagementContract.Contract.AddRollup(&_ManagementContract.TransactOpts, r, _rollupData, arg2) } // AddRollup is a paid mutator transaction binding the contract method 0x2c77c81f. // -// Solidity: function AddRollup((bytes32,bytes,uint256) r, string _rollupData, ((address,uint64,uint32,uint32,bytes,uint8)[]) crossChainData) returns() -func (_ManagementContract *ManagementContractTransactorSession) AddRollup(r StructsMetaRollup, _rollupData string, crossChainData StructsHeaderCrossChainData) (*types.Transaction, error) { - return _ManagementContract.Contract.AddRollup(&_ManagementContract.TransactOpts, r, _rollupData, crossChainData) +// Solidity: function AddRollup((bytes32,bytes,uint256) r, string _rollupData, ((address,uint64,uint32,uint32,bytes,uint8)[]) ) returns() +func (_ManagementContract *ManagementContractTransactorSession) AddRollup(r StructsMetaRollup, _rollupData string, arg2 StructsHeaderCrossChainData) (*types.Transaction, error) { + return _ManagementContract.Contract.AddRollup(&_ManagementContract.TransactOpts, r, _rollupData, arg2) } // ExtractNativeValue is a paid mutator transaction binding the contract method 0x5371a216. diff --git a/contracts/src/management/ManagementContract.sol b/contracts/src/management/ManagementContract.sol index c9d69a2878..f31a658b7e 100644 --- a/contracts/src/management/ManagementContract.sol +++ b/contracts/src/management/ManagementContract.sol @@ -106,7 +106,7 @@ contract ManagementContract is Initializable, OwnableUpgradeable { } // solc-ignore-next-line unused-param - function AddRollup(Structs.MetaRollup calldata r, string calldata _rollupData, Structs.HeaderCrossChainData calldata crossChainData) public { + function AddRollup(Structs.MetaRollup calldata r, string calldata _rollupData, Structs.HeaderCrossChainData calldata) public { address enclaveID = ECDSA.recover(r.Hash, r.Signature); // revert if the EnclaveID is not attested require(attested[enclaveID], "enclaveID not attested"); @@ -114,7 +114,6 @@ contract ManagementContract is Initializable, OwnableUpgradeable { require(sequencerEnclave[enclaveID], "enclaveID not a sequencer"); AppendRollup(r); - pushCrossChainMessages(crossChainData); } // InitializeNetworkSecret kickstarts the network secret, can only be called once diff --git a/go/enclave/enclave.go b/go/enclave/enclave.go index af4788569f..1374ff5899 100644 --- a/go/enclave/enclave.go +++ b/go/enclave/enclave.go @@ -269,7 +269,6 @@ func NewEnclave( } } -// todo - this does not query atomically. If stuff reorgs we might get weird exports. func (e *enclaveImpl) ExportCrossChainData(ctx context.Context, fromSeqNo uint64, toSeqNo uint64) (*common.ExtCrossChainBundle, common.SystemError) { return e.Sequencer().ExportCrossChainData(ctx, fromSeqNo, toSeqNo) }