diff --git a/packages/eventindexer/TaikoL1.json b/packages/eventindexer/TaikoL1.json index 41f9a2af291..a1d23d03cbc 100644 --- a/packages/eventindexer/TaikoL1.json +++ b/packages/eventindexer/TaikoL1.json @@ -1,1763 +1,2048 @@ [ { - "inputs": [], - "name": "INVALID_PAUSE_STATUS", - "type": "error" - }, - { - "inputs": [], - "name": "L1_ALREADY_CONTESTED", - "type": "error" - }, - { - "inputs": [], - "name": "L1_ALREADY_PROVED", - "type": "error" - }, - { - "inputs": [], - "name": "L1_ASSIGNED_PROVER_NOT_ALLOWED", - "type": "error" - }, - { - "inputs": [], - "name": "L1_BLOB_FOR_DA_DISABLED", - "type": "error" - }, - { - "inputs": [], - "name": "L1_BLOB_NOT_FOUND", - "type": "error" - }, - { - "inputs": [], - "name": "L1_BLOB_NOT_REUSEABLE", - "type": "error" - }, - { - "inputs": [], - "name": "L1_BLOCK_MISMATCH", - "type": "error" - }, - { - "inputs": [], - "name": "L1_BLOCK_MISMATCH", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INSUFFICIENT_TOKEN", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_ADDRESS", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_AMOUNT", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_BLOCK_ID", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_CONFIG", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_ETH_DEPOSIT", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_PARAM", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_PAUSE_STATUS", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_PROOF", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_PROVER", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_TIER", - "type": "error" - }, - { - "inputs": [], - "name": "L1_INVALID_TRANSITION", - "type": "error" - }, - { - "inputs": [], - "name": "L1_LIVENESS_BOND_NOT_RECEIVED", - "type": "error" - }, - { - "inputs": [], - "name": "L1_NOT_ASSIGNED_PROVER", - "type": "error" - }, - { - "inputs": [], - "name": "L1_PROPOSER_NOT_EOA", - "type": "error" - }, - { - "inputs": [], - "name": "L1_PROVING_PAUSED", - "type": "error" - }, - { - "inputs": [], - "name": "L1_RECEIVE_DISABLED", - "type": "error" - }, - { - "inputs": [], - "name": "L1_TOO_MANY_BLOCKS", - "type": "error" - }, - { - "inputs": [], - "name": "L1_TOO_MANY_TIERS", - "type": "error" - }, - { - "inputs": [], - "name": "L1_TRANSITION_ID_ZERO", - "type": "error" - }, - { - "inputs": [], - "name": "L1_TRANSITION_ID_ZERO", - "type": "error" - }, - { - "inputs": [], - "name": "L1_TRANSITION_NOT_FOUND", - "type": "error" - }, - { - "inputs": [], - "name": "L1_TXLIST_OFFSET_SIZE", - "type": "error" - }, - { - "inputs": [], - "name": "L1_TXLIST_TOO_LARGE", - "type": "error" - }, - { - "inputs": [], - "name": "L1_UNAUTHORIZED", - "type": "error" - }, - { - "inputs": [], - "name": "L1_UNEXPECTED_PARENT", - "type": "error" - }, - { - "inputs": [], - "name": "L1_UNEXPECTED_TRANSITION_ID", - "type": "error" - }, - { - "inputs": [], - "name": "L1_UNEXPECTED_TRANSITION_ID", - "type": "error" - }, - { - "inputs": [], - "name": "L1_UNEXPECTED_TRANSITION_TIER", - "type": "error" - }, - { - "inputs": [], - "name": "REENTRANT_CALL", - "type": "error" - }, - { - "inputs": [], - "name": "RESOLVER_DENIED", - "type": "error" + "type": "receive", + "stateMutability": "payable" }, { + "type": "function", + "name": "acceptOwnership", "inputs": [], - "name": "RESOLVER_INVALID_MANAGER", - "type": "error" + "outputs": [], + "stateMutability": "nonpayable" }, { + "type": "function", + "name": "addressManager", "inputs": [], - "name": "RESOLVER_UNEXPECTED_CHAINID", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "chainId", - "type": "uint64" - }, + "outputs": [ { - "internalType": "string", - "name": "name", - "type": "string" + "name": "", + "type": "address", + "internalType": "address" } ], - "name": "RESOLVER_ZERO_ADDR", - "type": "error" + "stateMutability": "view" }, { - "anonymous": false, + "type": "function", + "name": "canDepositEthToL2", "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" + "name": "_amount", + "type": "uint256", + "internalType": "uint256" } ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ + "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" + "name": "", + "type": "bool", + "internalType": "bool" } ], - "name": "BeaconUpgraded", - "type": "event" + "stateMutability": "view" }, { - "anonymous": false, + "type": "function", + "name": "depositEtherToL2", "inputs": [ { - "indexed": false, - "internalType": "bytes32", - "name": "blobHash", - "type": "bytes32" + "name": "_recipient", + "type": "address", + "internalType": "address" } ], - "name": "BlobCached", - "type": "event" + "outputs": [], + "stateMutability": "payable" }, { - "anonymous": false, + "type": "function", + "name": "getBlock", "inputs": [ { - "indexed": true, - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "assignedProver", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint96", - "name": "livenessBond", - "type": "uint96" - }, + "name": "_blockId", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [ { + "name": "blk_", + "type": "tuple", + "internalType": "struct TaikoData.Block", "components": [ { - "internalType": "bytes32", - "name": "l1Hash", - "type": "bytes32" + "name": "metaHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", - "name": "difficulty", - "type": "bytes32" + "name": "assignedProver", + "type": "address", + "internalType": "address" }, { - "internalType": "bytes32", - "name": "blobHash", - "type": "bytes32" + "name": "livenessBond", + "type": "uint96", + "internalType": "uint96" }, { - "internalType": "bytes32", - "name": "extraData", - "type": "bytes32" + "name": "blockId", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "bytes32", - "name": "depositsHash", - "type": "bytes32" + "name": "proposedAt", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "address", - "name": "coinbase", - "type": "address" + "name": "proposedIn", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint64", - "name": "id", - "type": "uint64" + "name": "nextTransitionId", + "type": "uint32", + "internalType": "uint32" }, { - "internalType": "uint32", - "name": "gasLimit", - "type": "uint32" - }, + "name": "verifiedTransitionId", + "type": "uint32", + "internalType": "uint32" + } + ] + }, + { + "name": "ts_", + "type": "tuple", + "internalType": "struct TaikoData.TransitionState", + "components": [ { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" + "name": "key", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "uint64", - "name": "l1Height", - "type": "uint64" + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "uint24", - "name": "txListByteOffset", - "type": "uint24" + "name": "stateRoot", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "uint24", - "name": "txListByteSize", - "type": "uint24" + "name": "prover", + "type": "address", + "internalType": "address" }, { - "internalType": "uint16", - "name": "minTier", - "type": "uint16" + "name": "validityBond", + "type": "uint96", + "internalType": "uint96" }, { - "internalType": "bool", - "name": "blobUsed", - "type": "bool" + "name": "contester", + "type": "address", + "internalType": "address" }, { - "internalType": "bytes32", - "name": "parentMetaHash", - "type": "bytes32" - } - ], - "indexed": false, - "internalType": "struct TaikoData.BlockMetadata", - "name": "meta", - "type": "tuple" - }, - { - "components": [ + "name": "contestBond", + "type": "uint96", + "internalType": "uint96" + }, { - "internalType": "address", - "name": "recipient", - "type": "address" + "name": "timestamp", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint96", - "name": "amount", - "type": "uint96" + "name": "tier", + "type": "uint16", + "internalType": "uint16" }, { - "internalType": "uint64", - "name": "id", - "type": "uint64" + "name": "contestations", + "type": "uint8", + "internalType": "uint8" } - ], - "indexed": false, - "internalType": "struct TaikoData.EthDeposit[]", - "name": "depositsProcessed", - "type": "tuple[]" + ] } ], - "name": "BlockProposed", - "type": "event" + "stateMutability": "view" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "assignedProver", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "prover", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "blockHash", - "type": "bytes32" - }, + "type": "function", + "name": "getConfig", + "inputs": [], + "outputs": [ { - "indexed": false, - "internalType": "bytes32", - "name": "signalRoot", - "type": "bytes32" - }, + "name": "", + "type": "tuple", + "internalType": "struct TaikoData.Config", + "components": [ + { + "name": "chainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "blockMaxProposals", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "blockRingBufferSize", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "maxBlocksToVerifyPerProposal", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "blockMaxGasLimit", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "blockMaxTxListBytes", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "blobExpiry", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "blobAllowedForDA", + "type": "bool", + "internalType": "bool" + }, + { + "name": "blobReuseEnabled", + "type": "bool", + "internalType": "bool" + }, + { + "name": "livenessBond", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "ethDepositRingBufferSize", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ethDepositMinCountPerBlock", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "ethDepositMaxCountPerBlock", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "ethDepositMinAmount", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "ethDepositMaxAmount", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "ethDepositGas", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ethDepositMaxFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockSyncThreshold", + "type": "uint8", + "internalType": "uint8" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getStateVariables", + "inputs": [], + "outputs": [ { - "indexed": false, - "internalType": "uint16", - "name": "tier", - "type": "uint16" + "name": "a_", + "type": "tuple", + "internalType": "struct TaikoData.SlotA", + "components": [ + { + "name": "genesisHeight", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "genesisTimestamp", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "numEthDeposits", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "nextEthDepositToProcess", + "type": "uint64", + "internalType": "uint64" + } + ] }, { - "indexed": false, - "internalType": "uint8", - "name": "contestations", - "type": "uint8" + "name": "b_", + "type": "tuple", + "internalType": "struct TaikoData.SlotB", + "components": [ + { + "name": "numBlocks", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "lastVerifiedBlockId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "provingPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "__reserved1", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "__reserved2", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "__reserved3", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "lastUnpausedAt", + "type": "uint64", + "internalType": "uint64" + } + ] } ], - "name": "BlockVerified", - "type": "event" + "stateMutability": "view" }, { - "anonymous": false, + "type": "function", + "name": "getTransition", "inputs": [ { - "indexed": true, - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "assignedProver", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "prover", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "blockHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "signalRoot", - "type": "bytes32" + "name": "_blockId", + "type": "uint64", + "internalType": "uint64" }, { - "indexed": false, - "internalType": "uint16", - "name": "tier", - "type": "uint16" - }, + "name": "_parentHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ { - "indexed": false, - "internalType": "uint8", - "name": "contestations", - "type": "uint8" + "name": "", + "type": "tuple", + "internalType": "struct TaikoData.TransitionState", + "components": [ + { + "name": "key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "stateRoot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "prover", + "type": "address", + "internalType": "address" + }, + { + "name": "validityBond", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "contester", + "type": "address", + "internalType": "address" + }, + { + "name": "contestBond", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "timestamp", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "tier", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "contestations", + "type": "uint8", + "internalType": "uint8" + } + ] } ], - "name": "BlockVerified", - "type": "event" + "stateMutability": "view" }, { - "anonymous": false, + "type": "function", + "name": "init", "inputs": [ { - "indexed": true, - "internalType": "uint64", - "name": "syncedInBlock", - "type": "uint64" - }, - { - "indexed": true, - "internalType": "uint64", - "name": "blockId", - "type": "uint64" + "name": "_owner", + "type": "address", + "internalType": "address" }, { - "indexed": false, - "internalType": "bytes32", - "name": "blockHash", - "type": "bytes32" + "name": "_addressManager", + "type": "address", + "internalType": "address" }, { - "indexed": false, - "internalType": "bytes32", - "name": "signalRoot", - "type": "bytes32" + "name": "_genesisBlockHash", + "type": "bytes32", + "internalType": "bytes32" } ], - "name": "CrossChainSynced", - "type": "event" + "outputs": [], + "stateMutability": "nonpayable" }, { - "anonymous": false, + "type": "function", + "name": "isBlobReusable", "inputs": [ { - "indexed": true, - "internalType": "uint64", - "name": "syncedInBlock", - "type": "uint64" - }, - { - "indexed": true, - "internalType": "uint64", - "name": "blockId", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "blockHash", - "type": "bytes32" - }, + "name": "_blobHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ { - "indexed": false, - "internalType": "bytes32", - "name": "signalRoot", - "type": "bytes32" + "name": "", + "type": "bool", + "internalType": "bool" } ], - "name": "CrossChainSynced", - "type": "event" + "stateMutability": "view" }, { - "anonymous": false, - "inputs": [ + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint96", - "name": "amount", - "type": "uint96" - }, - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - } - ], - "indexed": false, - "internalType": "struct TaikoData.EthDeposit", - "name": "deposit", - "type": "tuple" + "name": "", + "type": "address", + "internalType": "address" } ], - "name": "EthDeposited", - "type": "event" + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" }, { - "anonymous": false, + "type": "function", + "name": "pauseProving", "inputs": [ { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" + "name": "_pause", + "type": "bool", + "internalType": "bool" } ], - "name": "Initialized", - "type": "event" + "outputs": [], + "stateMutability": "nonpayable" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, + "type": "function", + "name": "paused", + "inputs": [], + "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" + "name": "", + "type": "bool", + "internalType": "bool" } ], - "name": "OwnershipTransferred", - "type": "event" + "stateMutability": "view" }, { - "anonymous": false, - "inputs": [ + "type": "function", + "name": "pendingOwner", + "inputs": [], + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" + "name": "", + "type": "address", + "internalType": "address" } ], - "name": "Paused", - "type": "event" + "stateMutability": "view" }, { - "anonymous": false, + "type": "function", + "name": "proposeBlock", "inputs": [ { - "indexed": false, - "internalType": "bool", - "name": "paused", - "type": "bool" - } - ], - "name": "ProvingPaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenCredited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "from", - "type": "address" + "name": "_params", + "type": "bytes", + "internalType": "bytes" }, { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenDebited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" + "name": "_txList", + "type": "bytes", + "internalType": "bytes" } ], - "name": "TokenWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - }, + "outputs": [ { + "name": "meta_", + "type": "tuple", + "internalType": "struct TaikoData.BlockMetadata", "components": [ { - "internalType": "bytes32", - "name": "parentHash", - "type": "bytes32" + "name": "l1Hash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", - "name": "blockHash", - "type": "bytes32" + "name": "difficulty", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", - "name": "signalRoot", - "type": "bytes32" + "name": "blobHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", - "name": "graffiti", - "type": "bytes32" - } - ], - "indexed": false, - "internalType": "struct TaikoData.Transition", - "name": "tran", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "address", - "name": "contester", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint96", - "name": "contestBond", - "type": "uint96" - }, - { - "indexed": false, - "internalType": "uint16", - "name": "tier", - "type": "uint16" - } - ], - "name": "TransitionContested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - }, - { - "components": [ + "name": "extraData", + "type": "bytes32", + "internalType": "bytes32" + }, { - "internalType": "bytes32", - "name": "parentHash", - "type": "bytes32" + "name": "depositsHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", - "name": "blockHash", - "type": "bytes32" + "name": "coinbase", + "type": "address", + "internalType": "address" }, { - "internalType": "bytes32", - "name": "signalRoot", - "type": "bytes32" + "name": "id", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "bytes32", - "name": "graffiti", - "type": "bytes32" + "name": "gasLimit", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "timestamp", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "l1Height", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "txListByteOffset", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "txListByteSize", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "minTier", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "blobUsed", + "type": "bool", + "internalType": "bool" + }, + { + "name": "parentMetaHash", + "type": "bytes32", + "internalType": "bytes32" } - ], - "indexed": false, - "internalType": "struct TaikoData.Transition", - "name": "tran", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "address", - "name": "prover", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint96", - "name": "validityBond", - "type": "uint96" + ] }, { - "indexed": false, - "internalType": "uint16", - "name": "tier", - "type": "uint16" + "name": "deposits_", + "type": "tuple[]", + "internalType": "struct TaikoData.EthDeposit[]", + "components": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "id", + "type": "uint64", + "internalType": "uint64" + } + ] } ], - "name": "TransitionProved", - "type": "event" + "stateMutability": "payable" }, { - "anonymous": false, + "type": "function", + "name": "proveBlock", "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ + "name": "_blockId", + "type": "uint64", + "internalType": "uint64" + }, { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" + "name": "_input", + "type": "bytes", + "internalType": "bytes" } ], - "name": "Upgraded", - "type": "event" + "outputs": [], + "stateMutability": "nonpayable" }, { + "type": "function", + "name": "proxiableUUID", "inputs": [], - "name": "addressManager", "outputs": [ { - "internalType": "address", "name": "", - "type": "address" + "type": "bytes32", + "internalType": "bytes32" } ], - "stateMutability": "view", - "type": "function" + "stateMutability": "view" + }, + { + "type": "function", + "name": "renounceOwnership", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" }, { + "type": "function", + "name": "resolve", "inputs": [ { - "internalType": "uint256", - "name": "amount", - "type": "uint256" + "name": "_chainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "_name", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_allowZeroAddress", + "type": "bool", + "internalType": "bool" } ], - "name": "canDepositEthToL2", "outputs": [ { - "internalType": "bool", "name": "", - "type": "bool" + "type": "address", + "internalType": "address payable" } ], - "stateMutability": "view", - "type": "function" + "stateMutability": "view" }, { + "type": "function", + "name": "resolve", "inputs": [ { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "depositEtherToL2", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ + "name": "_name", + "type": "bytes32", + "internalType": "bytes32" + }, { - "internalType": "uint64", - "name": "blockId", - "type": "uint64" + "name": "_allowZeroAddress", + "type": "bool", + "internalType": "bool" } ], - "name": "getBlock", "outputs": [ { - "components": [ - { - "internalType": "bytes32", - "name": "metaHash", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "assignedProver", - "type": "address" - }, - { - "internalType": "uint96", - "name": "livenessBond", - "type": "uint96" - }, - { - "internalType": "uint64", - "name": "blockId", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "proposedAt", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "proposedIn", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "nextTransitionId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "verifiedTransitionId", - "type": "uint32" - }, - { - "internalType": "bytes32[7]", - "name": "__reserved", - "type": "bytes32[7]" - } - ], - "internalType": "struct TaikoData.Block", - "name": "blk", - "type": "tuple" + "name": "", + "type": "address", + "internalType": "address payable" } ], - "stateMutability": "view", - "type": "function" + "stateMutability": "view" }, { + "type": "function", + "name": "state", "inputs": [], - "name": "getConfig", "outputs": [ { + "name": "slotA", + "type": "tuple", + "internalType": "struct TaikoData.SlotA", "components": [ { - "internalType": "uint64", - "name": "chainId", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "blockMaxProposals", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "blockRingBufferSize", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maxBlocksToVerifyPerProposal", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "blockMaxGasLimit", - "type": "uint32" - }, - { - "internalType": "uint24", - "name": "blockMaxTxListBytes", - "type": "uint24" + "name": "genesisHeight", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint24", - "name": "blobExpiry", - "type": "uint24" + "name": "genesisTimestamp", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "bool", - "name": "blobAllowedForDA", - "type": "bool" + "name": "numEthDeposits", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint96", - "name": "livenessBond", - "type": "uint96" - }, + "name": "nextEthDepositToProcess", + "type": "uint64", + "internalType": "uint64" + } + ] + }, + { + "name": "slotB", + "type": "tuple", + "internalType": "struct TaikoData.SlotB", + "components": [ { - "internalType": "uint256", - "name": "ethDepositRingBufferSize", - "type": "uint256" + "name": "numBlocks", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint64", - "name": "ethDepositMinCountPerBlock", - "type": "uint64" + "name": "lastVerifiedBlockId", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint64", - "name": "ethDepositMaxCountPerBlock", - "type": "uint64" + "name": "provingPaused", + "type": "bool", + "internalType": "bool" }, { - "internalType": "uint96", - "name": "ethDepositMinAmount", - "type": "uint96" + "name": "__reserved1", + "type": "uint8", + "internalType": "uint8" }, { - "internalType": "uint96", - "name": "ethDepositMaxAmount", - "type": "uint96" + "name": "__reserved2", + "type": "uint16", + "internalType": "uint16" }, { - "internalType": "uint256", - "name": "ethDepositGas", - "type": "uint256" + "name": "__reserved3", + "type": "uint32", + "internalType": "uint32" }, { - "internalType": "uint256", - "name": "ethDepositMaxFee", - "type": "uint256" + "name": "lastUnpausedAt", + "type": "uint64", + "internalType": "uint64" } - ], - "internalType": "struct TaikoData.Config", - "name": "", - "type": "tuple" + ] } ], - "stateMutability": "view", - "type": "function" + "stateMutability": "view" }, { + "type": "function", + "name": "transferOwnership", "inputs": [ { - "internalType": "uint256", - "name": "rand", - "type": "uint256" - } - ], - "name": "getMinTier", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" + "name": "newOwner", + "type": "address", + "internalType": "address" } ], - "stateMutability": "view", - "type": "function" + "outputs": [], + "stateMutability": "nonpayable" }, { + "type": "function", + "name": "unpause", "inputs": [], - "name": "getStateVariables", - "outputs": [ + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "upgradeTo", + "inputs": [ { - "components": [ - { - "internalType": "uint64", - "name": "genesisHeight", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "genesisTimestamp", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "numEthDeposits", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "nextEthDepositToProcess", - "type": "uint64" - } - ], - "internalType": "struct TaikoData.SlotA", - "name": "a", - "type": "tuple" + "name": "newImplementation", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "upgradeToAndCall", + "inputs": [ + { + "name": "newImplementation", + "type": "address", + "internalType": "address" }, { - "components": [ - { - "internalType": "uint64", - "name": "numBlocks", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "lastVerifiedBlockId", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "provingPaused", - "type": "bool" - } - ], - "internalType": "struct TaikoData.SlotB", - "name": "b", - "type": "tuple" + "name": "data", + "type": "bytes", + "internalType": "bytes" } ], - "stateMutability": "view", - "type": "function" + "outputs": [], + "stateMutability": "payable" }, { + "type": "function", + "name": "verifyBlocks", "inputs": [ { - "internalType": "uint64", - "name": "blockId", - "type": "uint64" + "name": "_maxBlocksToVerify", + "type": "uint64", + "internalType": "uint64" } ], - "name": "getSyncedSnippet", - "outputs": [ + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AdminChanged", + "inputs": [ { - "components": [ - { - "internalType": "uint64", - "name": "remoteBlockId", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "syncedInBlock", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "blockHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "signalRoot", - "type": "bytes32" - } - ], - "internalType": "struct ICrossChainSync.Snippet", - "name": "", - "type": "tuple" + "name": "previousAdmin", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "newAdmin", + "type": "address", + "indexed": false, + "internalType": "address" } ], - "stateMutability": "view", - "type": "function" + "anonymous": false }, { + "type": "event", + "name": "BeaconUpgraded", "inputs": [ { - "internalType": "uint16", - "name": "tierId", - "type": "uint16" + "name": "beacon", + "type": "address", + "indexed": true, + "internalType": "address" } ], - "name": "getTier", - "outputs": [ + "anonymous": false + }, + { + "type": "event", + "name": "BlobCached", + "inputs": [ { - "components": [ - { - "internalType": "bytes32", - "name": "verifierName", - "type": "bytes32" - }, - { - "internalType": "uint96", - "name": "validityBond", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "contestBond", - "type": "uint96" - }, - { - "internalType": "uint24", - "name": "cooldownWindow", - "type": "uint24" - }, - { - "internalType": "uint16", - "name": "provingWindow", - "type": "uint16" - }, - { - "internalType": "uint8", - "name": "maxBlocksToVerify", - "type": "uint8" - } - ], - "internalType": "struct ITierProvider.Tier", - "name": "", - "type": "tuple" + "name": "blobHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" } ], - "stateMutability": "view", - "type": "function" + "anonymous": false }, { - "inputs": [], - "name": "getTierIds", - "outputs": [ + "type": "event", + "name": "BlobCached", + "inputs": [ { - "internalType": "uint16[]", - "name": "ids", - "type": "uint16[]" + "name": "blobHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" } ], - "stateMutability": "view", - "type": "function" + "anonymous": false }, { + "type": "event", + "name": "BlockProposed", "inputs": [ { - "internalType": "uint64", "name": "blockId", - "type": "uint64" + "type": "uint256", + "indexed": true, + "internalType": "uint256" }, { - "internalType": "bytes32", - "name": "parentHash", - "type": "bytes32" - } - ], - "name": "getTransition", - "outputs": [ + "name": "assignedProver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "livenessBond", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + }, { + "name": "meta", + "type": "tuple", + "indexed": false, + "internalType": "struct TaikoData.BlockMetadata", "components": [ { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" + "name": "l1Hash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", - "name": "blockHash", - "type": "bytes32" + "name": "difficulty", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", - "name": "signalRoot", - "type": "bytes32" + "name": "blobHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "address", - "name": "prover", - "type": "address" + "name": "extraData", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "uint96", - "name": "validityBond", - "type": "uint96" + "name": "depositsHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "address", - "name": "contester", - "type": "address" + "name": "coinbase", + "type": "address", + "internalType": "address" }, { - "internalType": "uint96", - "name": "contestBond", - "type": "uint96" + "name": "id", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "gasLimit", + "type": "uint32", + "internalType": "uint32" }, { - "internalType": "uint64", "name": "timestamp", - "type": "uint64" + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint16", - "name": "tier", - "type": "uint16" + "name": "l1Height", + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint8", - "name": "contestations", - "type": "uint8" + "name": "txListByteOffset", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "txListByteSize", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "minTier", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "blobUsed", + "type": "bool", + "internalType": "bool" }, { - "internalType": "bytes32[4]", - "name": "__reserved", - "type": "bytes32[4]" + "name": "parentMetaHash", + "type": "bytes32", + "internalType": "bytes32" } - ], - "internalType": "struct TaikoData.TransitionState", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_addressManager", - "type": "address" + ] }, { - "internalType": "bytes32", - "name": "_genesisBlockHash", - "type": "bytes32" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "blobHash", - "type": "bytes32" - } - ], - "name": "isBlobReusable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isConfigValid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" + "name": "depositsProcessed", + "type": "tuple[]", + "indexed": false, + "internalType": "struct TaikoData.EthDeposit[]", + "components": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "id", + "type": "uint64", + "internalType": "uint64" + } + ] } ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" + "anonymous": false }, { + "type": "event", + "name": "BlockProposed", "inputs": [ { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseProving", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ + "name": "blockId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, { - "internalType": "bytes", - "name": "params", - "type": "bytes" + "name": "assignedProver", + "type": "address", + "indexed": true, + "internalType": "address" }, { - "internalType": "bytes", - "name": "txList", - "type": "bytes" - } - ], - "name": "proposeBlock", - "outputs": [ + "name": "livenessBond", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + }, { + "name": "meta", + "type": "tuple", + "indexed": false, + "internalType": "struct TaikoData.BlockMetadata", "components": [ { - "internalType": "bytes32", "name": "l1Hash", - "type": "bytes32" + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", "name": "difficulty", - "type": "bytes32" + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", "name": "blobHash", - "type": "bytes32" + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", "name": "extraData", - "type": "bytes32" + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bytes32", "name": "depositsHash", - "type": "bytes32" + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "address", "name": "coinbase", - "type": "address" + "type": "address", + "internalType": "address" }, { - "internalType": "uint64", "name": "id", - "type": "uint64" + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint32", "name": "gasLimit", - "type": "uint32" + "type": "uint32", + "internalType": "uint32" }, { - "internalType": "uint64", "name": "timestamp", - "type": "uint64" + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint64", "name": "l1Height", - "type": "uint64" + "type": "uint64", + "internalType": "uint64" }, { - "internalType": "uint24", "name": "txListByteOffset", - "type": "uint24" + "type": "uint24", + "internalType": "uint24" }, { - "internalType": "uint24", "name": "txListByteSize", - "type": "uint24" + "type": "uint24", + "internalType": "uint24" }, { - "internalType": "uint16", "name": "minTier", - "type": "uint16" + "type": "uint16", + "internalType": "uint16" }, { - "internalType": "bool", "name": "blobUsed", - "type": "bool" + "type": "bool", + "internalType": "bool" }, { - "internalType": "bytes32", "name": "parentMetaHash", - "type": "bytes32" + "type": "bytes32", + "internalType": "bytes32" } - ], - "internalType": "struct TaikoData.BlockMetadata", - "name": "meta", - "type": "tuple" + ] }, { + "name": "depositsProcessed", + "type": "tuple[]", + "indexed": false, + "internalType": "struct TaikoData.EthDeposit[]", "components": [ { - "internalType": "address", "name": "recipient", - "type": "address" + "type": "address", + "internalType": "address" }, { - "internalType": "uint96", "name": "amount", - "type": "uint96" + "type": "uint96", + "internalType": "uint96" }, { - "internalType": "uint64", "name": "id", - "type": "uint64" + "type": "uint64", + "internalType": "uint64" } - ], - "internalType": "struct TaikoData.EthDeposit[]", - "name": "depositsProcessed", - "type": "tuple[]" + ] } ], - "stateMutability": "payable", - "type": "function" + "anonymous": false }, { + "type": "event", + "name": "BlockVerified", "inputs": [ { - "internalType": "uint64", "name": "blockId", - "type": "uint64" + "type": "uint256", + "indexed": true, + "internalType": "uint256" }, { - "internalType": "bytes", - "name": "input", - "type": "bytes" - } - ], - "name": "proveBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ + "name": "assignedProver", + "type": "address", + "indexed": true, + "internalType": "address" + }, { - "internalType": "bytes32", - "name": "", - "type": "bytes32" + "name": "prover", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "blockHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "stateRoot", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "tier", + "type": "uint16", + "indexed": false, + "internalType": "uint16" + }, + { + "name": "contestations", + "type": "uint8", + "indexed": false, + "internalType": "uint8" } ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" + "anonymous": false }, { + "type": "event", + "name": "BlockVerified", "inputs": [ { - "internalType": "uint64", - "name": "chainId", - "type": "uint64" + "name": "blockId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" }, { - "internalType": "bytes32", - "name": "name", - "type": "bytes32" + "name": "assignedProver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "prover", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "blockHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "stateRoot", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "tier", + "type": "uint16", + "indexed": false, + "internalType": "uint16" }, { - "internalType": "bool", - "name": "allowZeroAddress", - "type": "bool" + "name": "contestations", + "type": "uint8", + "indexed": false, + "internalType": "uint8" } ], - "name": "resolve", - "outputs": [ + "anonymous": false + }, + { + "type": "event", + "name": "EthDeposited", + "inputs": [ + { + "name": "deposit", + "type": "tuple", + "indexed": false, + "internalType": "struct TaikoData.EthDeposit", + "components": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "id", + "type": "uint64", + "internalType": "uint64" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "EthDeposited", + "inputs": [ + { + "name": "deposit", + "type": "tuple", + "indexed": false, + "internalType": "struct TaikoData.EthDeposit", + "components": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint96", + "internalType": "uint96" + }, + { + "name": "id", + "type": "uint64", + "internalType": "uint64" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ { - "internalType": "address payable", - "name": "addr", - "type": "address" + "name": "version", + "type": "uint8", + "indexed": false, + "internalType": "uint8" } ], - "stateMutability": "view", - "type": "function" + "anonymous": false }, { + "type": "event", + "name": "OwnershipTransferStarted", "inputs": [ { - "internalType": "bytes32", - "name": "name", - "type": "bytes32" + "name": "previousOwner", + "type": "address", + "indexed": true, + "internalType": "address" }, { - "internalType": "bool", - "name": "allowZeroAddress", - "type": "bool" + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" } ], - "name": "resolve", - "outputs": [ + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "previousOwner", + "type": "address", + "indexed": true, + "internalType": "address" + }, { - "internalType": "address payable", - "name": "addr", - "type": "address" + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" } ], - "stateMutability": "view", - "type": "function" + "anonymous": false }, { - "inputs": [], - "name": "state", - "outputs": [ + "type": "event", + "name": "Paused", + "inputs": [ { + "name": "account", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProvingPaused", + "inputs": [ + { + "name": "paused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransitionContested", + "inputs": [ + { + "name": "blockId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "tran", + "type": "tuple", + "indexed": false, + "internalType": "struct TaikoData.Transition", "components": [ { - "internalType": "uint64", - "name": "genesisHeight", - "type": "uint64" + "name": "parentHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "uint64", - "name": "genesisTimestamp", - "type": "uint64" + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "uint64", - "name": "numEthDeposits", - "type": "uint64" + "name": "stateRoot", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "uint64", - "name": "nextEthDepositToProcess", - "type": "uint64" + "name": "graffiti", + "type": "bytes32", + "internalType": "bytes32" } - ], - "internalType": "struct TaikoData.SlotA", - "name": "slotA", - "type": "tuple" + ] + }, + { + "name": "contester", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "contestBond", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + }, + { + "name": "tier", + "type": "uint16", + "indexed": false, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransitionContested", + "inputs": [ + { + "name": "blockId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" }, { + "name": "tran", + "type": "tuple", + "indexed": false, + "internalType": "struct TaikoData.Transition", "components": [ { - "internalType": "uint64", - "name": "numBlocks", - "type": "uint64" + "name": "parentHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "uint64", - "name": "lastVerifiedBlockId", - "type": "uint64" + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" }, { - "internalType": "bool", - "name": "provingPaused", - "type": "bool" + "name": "stateRoot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "graffiti", + "type": "bytes32", + "internalType": "bytes32" } - ], - "internalType": "struct TaikoData.SlotB", - "name": "slotB", - "type": "tuple" + ] + }, + { + "name": "contester", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "contestBond", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + }, + { + "name": "tier", + "type": "uint16", + "indexed": false, + "internalType": "uint16" } ], - "stateMutability": "view", - "type": "function" + "anonymous": false }, { + "type": "event", + "name": "TransitionProved", "inputs": [ { - "internalType": "address", - "name": "newOwner", - "type": "address" + "name": "blockId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "tran", + "type": "tuple", + "indexed": false, + "internalType": "struct TaikoData.Transition", + "components": [ + { + "name": "parentHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "stateRoot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "graffiti", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "name": "prover", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "validityBond", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + }, + { + "name": "tier", + "type": "uint16", + "indexed": false, + "internalType": "uint16" } ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" + "anonymous": false }, { - "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" + "type": "event", + "name": "TransitionProved", + "inputs": [ + { + "name": "blockId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "tran", + "type": "tuple", + "indexed": false, + "internalType": "struct TaikoData.Transition", + "components": [ + { + "name": "parentHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "stateRoot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "graffiti", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "name": "prover", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "validityBond", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + }, + { + "name": "tier", + "type": "uint16", + "indexed": false, + "internalType": "uint16" + } + ], + "anonymous": false }, { + "type": "event", + "name": "Unpaused", "inputs": [ { - "internalType": "address", - "name": "newImplementation", - "type": "address" + "name": "account", + "type": "address", + "indexed": false, + "internalType": "address" } ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" + "anonymous": false }, { + "type": "event", + "name": "Upgraded", "inputs": [ { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" + "name": "implementation", + "type": "address", + "indexed": true, + "internalType": "address" } ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" + "anonymous": false + }, + { + "type": "error", + "name": "ETH_TRANSFER_FAILED", + "inputs": [] + }, + { + "type": "error", + "name": "INVALID_PAUSE_STATUS", + "inputs": [] + }, + { + "type": "error", + "name": "L1_ALREADY_CONTESTED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_ALREADY_CONTESTED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_ALREADY_PROVED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_ALREADY_PROVED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_ASSIGNED_PROVER_NOT_ALLOWED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_ASSIGNED_PROVER_NOT_ALLOWED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOB_FOR_DA_DISABLED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOB_FOR_DA_DISABLED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOB_NOT_FOUND", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOB_NOT_FOUND", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOB_NOT_REUSABLE", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOB_NOT_REUSABLE", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOB_REUSE_DISABLED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOB_REUSE_DISABLED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOCK_MISMATCH", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOCK_MISMATCH", + "inputs": [] + }, + { + "type": "error", + "name": "L1_BLOCK_MISMATCH", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_BLOCK_ID", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_BLOCK_ID", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_CONFIG", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_ETH_DEPOSIT", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_ETH_DEPOSIT", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_HOOK", + "inputs": [] }, { + "type": "error", + "name": "L1_INVALID_HOOK", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_PARAM", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_PARAM", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_PAUSE_STATUS", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_PROVER", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_PROVER", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_TIER", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_TIER", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_TRANSITION", + "inputs": [] + }, + { + "type": "error", + "name": "L1_INVALID_TRANSITION", + "inputs": [] + }, + { + "type": "error", + "name": "L1_LIVENESS_BOND_NOT_RECEIVED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_LIVENESS_BOND_NOT_RECEIVED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_MISSING_VERIFIER", + "inputs": [] + }, + { + "type": "error", + "name": "L1_MISSING_VERIFIER", + "inputs": [] + }, + { + "type": "error", + "name": "L1_NOT_ASSIGNED_PROVER", + "inputs": [] + }, + { + "type": "error", + "name": "L1_NOT_ASSIGNED_PROVER", + "inputs": [] + }, + { + "type": "error", + "name": "L1_PROPOSER_NOT_EOA", + "inputs": [] + }, + { + "type": "error", + "name": "L1_PROPOSER_NOT_EOA", + "inputs": [] + }, + { + "type": "error", + "name": "L1_PROVING_PAUSED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_RECEIVE_DISABLED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TOO_MANY_BLOCKS", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TOO_MANY_BLOCKS", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TOO_MANY_TIERS", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TRANSITION_ID_ZERO", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TRANSITION_ID_ZERO", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TRANSITION_NOT_FOUND", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TXLIST_OFFSET", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TXLIST_SIZE", + "inputs": [] + }, + { + "type": "error", + "name": "L1_TXLIST_SIZE", + "inputs": [] + }, + { + "type": "error", + "name": "L1_UNAUTHORIZED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_UNAUTHORIZED", + "inputs": [] + }, + { + "type": "error", + "name": "L1_UNEXPECTED_PARENT", + "inputs": [] + }, + { + "type": "error", + "name": "L1_UNEXPECTED_PARENT", + "inputs": [] + }, + { + "type": "error", + "name": "L1_UNEXPECTED_TRANSITION_ID", + "inputs": [] + }, + { + "type": "error", + "name": "L1_UNEXPECTED_TRANSITION_ID", + "inputs": [] + }, + { + "type": "error", + "name": "REENTRANT_CALL", + "inputs": [] + }, + { + "type": "error", + "name": "RESOLVER_DENIED", + "inputs": [] + }, + { + "type": "error", + "name": "RESOLVER_INVALID_MANAGER", + "inputs": [] + }, + { + "type": "error", + "name": "RESOLVER_UNEXPECTED_CHAINID", + "inputs": [] + }, + { + "type": "error", + "name": "RESOLVER_ZERO_ADDR", "inputs": [ { - "internalType": "uint64", - "name": "maxBlocksToVerify", - "type": "uint64" + "name": "chainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "name", + "type": "bytes32", + "internalType": "bytes32" } - ], - "name": "verifyBlocks", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" + ] }, { - "stateMutability": "payable", - "type": "receive" + "type": "error", + "name": "ZERO_ADDR_MANAGER", + "inputs": [] } ] diff --git a/packages/eventindexer/contracts/assignmenthook/AssignmentHook.go b/packages/eventindexer/contracts/assignmenthook/AssignmentHook.go index 17fb5889413..0f6d4cf713f 100644 --- a/packages/eventindexer/contracts/assignmenthook/AssignmentHook.go +++ b/packages/eventindexer/contracts/assignmenthook/AssignmentHook.go @@ -31,13 +31,14 @@ var ( // AssignmentHookProverAssignment is an auto generated low-level Go binding around an user-defined struct. type AssignmentHookProverAssignment struct { - FeeToken common.Address - Expiry uint64 - MaxBlockId uint64 - MaxProposedIn uint64 - MetaHash [32]byte - TierFees []TaikoDataTierFee - Signature []byte + FeeToken common.Address + Expiry uint64 + MaxBlockId uint64 + MaxProposedIn uint64 + MetaHash [32]byte + ParentMetaHash [32]byte + TierFees []TaikoDataTierFee + Signature []byte } // TaikoDataBlock is an auto generated low-level Go binding around an user-defined struct. @@ -50,7 +51,6 @@ type TaikoDataBlock struct { ProposedIn uint64 NextTransitionId uint32 VerifiedTransitionId uint32 - Reserved [7][32]byte } // TaikoDataBlockMetadata is an auto generated low-level Go binding around an user-defined struct. @@ -80,7 +80,7 @@ type TaikoDataTierFee struct { // AssignmentHookMetaData contains all meta data concerning the AssignmentHook contract. var AssignmentHookMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"ETH_TRANSFER_FAILED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HOOK_ASSIGNMENT_EXPIRED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HOOK_ASSIGNMENT_INSUFFICIENT_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HOOK_ASSIGNMENT_INVALID_SIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HOOK_TIER_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PAUSE_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REENTRANT_CALL\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_MANAGER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_UNEXPECTED_CHAINID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"RESOLVER_ZERO_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignedProver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"difficulty\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blobHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"extraData\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"uint24\",\"name\":\"txListByteOffset\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteSize\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"minTier\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"blobUsed\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"parentMetaHash\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxProposedIn\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"tier\",\"type\":\"uint16\"},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\"}],\"internalType\":\"structTaikoData.TierFee[]\",\"name\":\"tierFees\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"indexed\":false,\"internalType\":\"structAssignmentHook.ProverAssignment\",\"name\":\"assignment\",\"type\":\"tuple\"}],\"name\":\"BlockAssigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_GAS_PAYING_PROVER\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxProposedIn\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"tier\",\"type\":\"uint16\"},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\"}],\"internalType\":\"structTaikoData.TierFee[]\",\"name\":\"tierFees\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"structAssignmentHook.ProverAssignment\",\"name\":\"assignment\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"taikoAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"blobHash\",\"type\":\"bytes32\"}],\"name\":\"hashAssignment\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"assignedProver\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"livenessBond\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"blockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedIn\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nextTransitionId\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"verifiedTransitionId\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[7]\",\"name\":\"__reserved\",\"type\":\"bytes32[7]\"}],\"internalType\":\"structTaikoData.Block\",\"name\":\"blk\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"difficulty\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blobHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"extraData\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"uint24\",\"name\":\"txListByteOffset\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteSize\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"minTier\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"blobUsed\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"parentMetaHash\",\"type\":\"bytes32\"}],\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onBlockProposed\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", + ABI: "[{\"type\":\"function\",\"name\":\"MAX_GAS_PAYING_PROVER\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"addressManager\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"hashAssignment\",\"inputs\":[{\"name\":\"_assignment\",\"type\":\"tuple\",\"internalType\":\"structAssignmentHook.ProverAssignment\",\"components\":[{\"name\":\"feeToken\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"expiry\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"maxBlockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"maxProposedIn\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"metaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"parentMetaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"tierFees\",\"type\":\"tuple[]\",\"internalType\":\"structTaikoData.TierFee[]\",\"components\":[{\"name\":\"tier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"fee\",\"type\":\"uint128\",\"internalType\":\"uint128\"}]},{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"_taikoL1Address\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_blobHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"init\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_addressManager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"onBlockProposed\",\"inputs\":[{\"name\":\"_blk\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.Block\",\"components\":[{\"name\":\"metaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"assignedProver\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"livenessBond\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"blockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"proposedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"proposedIn\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nextTransitionId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"verifiedTransitionId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"_meta\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.BlockMetadata\",\"components\":[{\"name\":\"l1Hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"difficulty\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blobHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"extraData\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"depositsHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"coinbase\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"gasLimit\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"l1Height\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"txListByteOffset\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"txListByteSize\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"minTier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"blobUsed\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"parentMetaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"_data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pause\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"paused\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"proxiableUUID\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"resolve\",\"inputs\":[{\"name\":\"_chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"_name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_allowZeroAddress\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"addresspayable\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"resolve\",\"inputs\":[{\"name\":\"_name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_allowZeroAddress\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"addresspayable\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"unpause\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"upgradeTo\",\"inputs\":[{\"name\":\"newImplementation\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"upgradeToAndCall\",\"inputs\":[{\"name\":\"newImplementation\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"event\",\"name\":\"AdminChanged\",\"inputs\":[{\"name\":\"previousAdmin\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"newAdmin\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BeaconUpgraded\",\"inputs\":[{\"name\":\"beacon\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BlockAssigned\",\"inputs\":[{\"name\":\"assignedProver\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"meta\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"components\":[{\"name\":\"l1Hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"difficulty\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blobHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"extraData\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"depositsHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"coinbase\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"gasLimit\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"l1Height\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"txListByteOffset\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"txListByteSize\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"minTier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"blobUsed\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"parentMetaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"assignment\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structAssignmentHook.ProverAssignment\",\"components\":[{\"name\":\"feeToken\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"expiry\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"maxBlockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"maxProposedIn\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"metaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"parentMetaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"tierFees\",\"type\":\"tuple[]\",\"internalType\":\"structTaikoData.TierFee[]\",\"components\":[{\"name\":\"tier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"fee\",\"type\":\"uint128\",\"internalType\":\"uint128\"}]},{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Paused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Unpaused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Upgraded\",\"inputs\":[{\"name\":\"implementation\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"ETH_TRANSFER_FAILED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"HOOK_ASSIGNMENT_EXPIRED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"HOOK_ASSIGNMENT_INVALID_SIG\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"HOOK_TIER_NOT_FOUND\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"INVALID_PAUSE_STATUS\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"REENTRANT_CALL\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_DENIED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_INVALID_MANAGER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_UNEXPECTED_CHAINID\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_ZERO_ADDR\",\"inputs\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"ZERO_ADDR_MANAGER\",\"inputs\":[]}]", } // AssignmentHookABI is the input ABI used to generate the binding from. @@ -291,12 +291,12 @@ func (_AssignmentHook *AssignmentHookCallerSession) AddressManager() (common.Add return _AssignmentHook.Contract.AddressManager(&_AssignmentHook.CallOpts) } -// HashAssignment is a free data retrieval call binding the contract method 0x9f64a349. +// HashAssignment is a free data retrieval call binding the contract method 0xbab50685. // -// Solidity: function hashAssignment((address,uint64,uint64,uint64,bytes32,(uint16,uint128)[],bytes) assignment, address taikoAddress, bytes32 blobHash) pure returns(bytes32) -func (_AssignmentHook *AssignmentHookCaller) HashAssignment(opts *bind.CallOpts, assignment AssignmentHookProverAssignment, taikoAddress common.Address, blobHash [32]byte) ([32]byte, error) { +// Solidity: function hashAssignment((address,uint64,uint64,uint64,bytes32,bytes32,(uint16,uint128)[],bytes) _assignment, address _taikoL1Address, bytes32 _blobHash) view returns(bytes32) +func (_AssignmentHook *AssignmentHookCaller) HashAssignment(opts *bind.CallOpts, _assignment AssignmentHookProverAssignment, _taikoL1Address common.Address, _blobHash [32]byte) ([32]byte, error) { var out []interface{} - err := _AssignmentHook.contract.Call(opts, &out, "hashAssignment", assignment, taikoAddress, blobHash) + err := _AssignmentHook.contract.Call(opts, &out, "hashAssignment", _assignment, _taikoL1Address, _blobHash) if err != nil { return *new([32]byte), err @@ -308,18 +308,18 @@ func (_AssignmentHook *AssignmentHookCaller) HashAssignment(opts *bind.CallOpts, } -// HashAssignment is a free data retrieval call binding the contract method 0x9f64a349. +// HashAssignment is a free data retrieval call binding the contract method 0xbab50685. // -// Solidity: function hashAssignment((address,uint64,uint64,uint64,bytes32,(uint16,uint128)[],bytes) assignment, address taikoAddress, bytes32 blobHash) pure returns(bytes32) -func (_AssignmentHook *AssignmentHookSession) HashAssignment(assignment AssignmentHookProverAssignment, taikoAddress common.Address, blobHash [32]byte) ([32]byte, error) { - return _AssignmentHook.Contract.HashAssignment(&_AssignmentHook.CallOpts, assignment, taikoAddress, blobHash) +// Solidity: function hashAssignment((address,uint64,uint64,uint64,bytes32,bytes32,(uint16,uint128)[],bytes) _assignment, address _taikoL1Address, bytes32 _blobHash) view returns(bytes32) +func (_AssignmentHook *AssignmentHookSession) HashAssignment(_assignment AssignmentHookProverAssignment, _taikoL1Address common.Address, _blobHash [32]byte) ([32]byte, error) { + return _AssignmentHook.Contract.HashAssignment(&_AssignmentHook.CallOpts, _assignment, _taikoL1Address, _blobHash) } -// HashAssignment is a free data retrieval call binding the contract method 0x9f64a349. +// HashAssignment is a free data retrieval call binding the contract method 0xbab50685. // -// Solidity: function hashAssignment((address,uint64,uint64,uint64,bytes32,(uint16,uint128)[],bytes) assignment, address taikoAddress, bytes32 blobHash) pure returns(bytes32) -func (_AssignmentHook *AssignmentHookCallerSession) HashAssignment(assignment AssignmentHookProverAssignment, taikoAddress common.Address, blobHash [32]byte) ([32]byte, error) { - return _AssignmentHook.Contract.HashAssignment(&_AssignmentHook.CallOpts, assignment, taikoAddress, blobHash) +// Solidity: function hashAssignment((address,uint64,uint64,uint64,bytes32,bytes32,(uint16,uint128)[],bytes) _assignment, address _taikoL1Address, bytes32 _blobHash) view returns(bytes32) +func (_AssignmentHook *AssignmentHookCallerSession) HashAssignment(_assignment AssignmentHookProverAssignment, _taikoL1Address common.Address, _blobHash [32]byte) ([32]byte, error) { + return _AssignmentHook.Contract.HashAssignment(&_AssignmentHook.CallOpts, _assignment, _taikoL1Address, _blobHash) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. @@ -384,6 +384,37 @@ func (_AssignmentHook *AssignmentHookCallerSession) Paused() (bool, error) { return _AssignmentHook.Contract.Paused(&_AssignmentHook.CallOpts) } +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_AssignmentHook *AssignmentHookCaller) PendingOwner(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _AssignmentHook.contract.Call(opts, &out, "pendingOwner") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_AssignmentHook *AssignmentHookSession) PendingOwner() (common.Address, error) { + return _AssignmentHook.Contract.PendingOwner(&_AssignmentHook.CallOpts) +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_AssignmentHook *AssignmentHookCallerSession) PendingOwner() (common.Address, error) { + return _AssignmentHook.Contract.PendingOwner(&_AssignmentHook.CallOpts) +} + // ProxiableUUID is a free data retrieval call binding the contract method 0x52d1902d. // // Solidity: function proxiableUUID() view returns(bytes32) @@ -417,10 +448,10 @@ func (_AssignmentHook *AssignmentHookCallerSession) ProxiableUUID() ([32]byte, e // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_AssignmentHook *AssignmentHookCaller) Resolve(opts *bind.CallOpts, chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_AssignmentHook *AssignmentHookCaller) Resolve(opts *bind.CallOpts, _chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { var out []interface{} - err := _AssignmentHook.contract.Call(opts, &out, "resolve", chainId, name, allowZeroAddress) + err := _AssignmentHook.contract.Call(opts, &out, "resolve", _chainId, _name, _allowZeroAddress) if err != nil { return *new(common.Address), err @@ -434,24 +465,24 @@ func (_AssignmentHook *AssignmentHookCaller) Resolve(opts *bind.CallOpts, chainI // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_AssignmentHook *AssignmentHookSession) Resolve(chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _AssignmentHook.Contract.Resolve(&_AssignmentHook.CallOpts, chainId, name, allowZeroAddress) +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_AssignmentHook *AssignmentHookSession) Resolve(_chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _AssignmentHook.Contract.Resolve(&_AssignmentHook.CallOpts, _chainId, _name, _allowZeroAddress) } // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_AssignmentHook *AssignmentHookCallerSession) Resolve(chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _AssignmentHook.Contract.Resolve(&_AssignmentHook.CallOpts, chainId, name, allowZeroAddress) +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_AssignmentHook *AssignmentHookCallerSession) Resolve(_chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _AssignmentHook.Contract.Resolve(&_AssignmentHook.CallOpts, _chainId, _name, _allowZeroAddress) } // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_AssignmentHook *AssignmentHookCaller) Resolve0(opts *bind.CallOpts, name [32]byte, allowZeroAddress bool) (common.Address, error) { +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_AssignmentHook *AssignmentHookCaller) Resolve0(opts *bind.CallOpts, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { var out []interface{} - err := _AssignmentHook.contract.Call(opts, &out, "resolve0", name, allowZeroAddress) + err := _AssignmentHook.contract.Call(opts, &out, "resolve0", _name, _allowZeroAddress) if err != nil { return *new(common.Address), err @@ -465,58 +496,79 @@ func (_AssignmentHook *AssignmentHookCaller) Resolve0(opts *bind.CallOpts, name // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_AssignmentHook *AssignmentHookSession) Resolve0(name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _AssignmentHook.Contract.Resolve0(&_AssignmentHook.CallOpts, name, allowZeroAddress) +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_AssignmentHook *AssignmentHookSession) Resolve0(_name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _AssignmentHook.Contract.Resolve0(&_AssignmentHook.CallOpts, _name, _allowZeroAddress) } // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_AssignmentHook *AssignmentHookCallerSession) Resolve0(name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _AssignmentHook.Contract.Resolve0(&_AssignmentHook.CallOpts, name, allowZeroAddress) +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_AssignmentHook *AssignmentHookCallerSession) Resolve0(_name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _AssignmentHook.Contract.Resolve0(&_AssignmentHook.CallOpts, _name, _allowZeroAddress) } -// Init is a paid mutator transaction binding the contract method 0x19ab453c. +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. // -// Solidity: function init(address _addressManager) returns() -func (_AssignmentHook *AssignmentHookTransactor) Init(opts *bind.TransactOpts, _addressManager common.Address) (*types.Transaction, error) { - return _AssignmentHook.contract.Transact(opts, "init", _addressManager) +// Solidity: function acceptOwnership() returns() +func (_AssignmentHook *AssignmentHookTransactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { + return _AssignmentHook.contract.Transact(opts, "acceptOwnership") } -// Init is a paid mutator transaction binding the contract method 0x19ab453c. +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. // -// Solidity: function init(address _addressManager) returns() -func (_AssignmentHook *AssignmentHookSession) Init(_addressManager common.Address) (*types.Transaction, error) { - return _AssignmentHook.Contract.Init(&_AssignmentHook.TransactOpts, _addressManager) +// Solidity: function acceptOwnership() returns() +func (_AssignmentHook *AssignmentHookSession) AcceptOwnership() (*types.Transaction, error) { + return _AssignmentHook.Contract.AcceptOwnership(&_AssignmentHook.TransactOpts) } -// Init is a paid mutator transaction binding the contract method 0x19ab453c. +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. // -// Solidity: function init(address _addressManager) returns() -func (_AssignmentHook *AssignmentHookTransactorSession) Init(_addressManager common.Address) (*types.Transaction, error) { - return _AssignmentHook.Contract.Init(&_AssignmentHook.TransactOpts, _addressManager) +// Solidity: function acceptOwnership() returns() +func (_AssignmentHook *AssignmentHookTransactorSession) AcceptOwnership() (*types.Transaction, error) { + return _AssignmentHook.Contract.AcceptOwnership(&_AssignmentHook.TransactOpts) } -// OnBlockProposed is a paid mutator transaction binding the contract method 0x6bfd8a0f. +// Init is a paid mutator transaction binding the contract method 0xf09a4016. // -// Solidity: function onBlockProposed((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32,bytes32[7]) blk, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, bytes data) payable returns() -func (_AssignmentHook *AssignmentHookTransactor) OnBlockProposed(opts *bind.TransactOpts, blk TaikoDataBlock, meta TaikoDataBlockMetadata, data []byte) (*types.Transaction, error) { - return _AssignmentHook.contract.Transact(opts, "onBlockProposed", blk, meta, data) +// Solidity: function init(address _owner, address _addressManager) returns() +func (_AssignmentHook *AssignmentHookTransactor) Init(opts *bind.TransactOpts, _owner common.Address, _addressManager common.Address) (*types.Transaction, error) { + return _AssignmentHook.contract.Transact(opts, "init", _owner, _addressManager) } -// OnBlockProposed is a paid mutator transaction binding the contract method 0x6bfd8a0f. +// Init is a paid mutator transaction binding the contract method 0xf09a4016. // -// Solidity: function onBlockProposed((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32,bytes32[7]) blk, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, bytes data) payable returns() -func (_AssignmentHook *AssignmentHookSession) OnBlockProposed(blk TaikoDataBlock, meta TaikoDataBlockMetadata, data []byte) (*types.Transaction, error) { - return _AssignmentHook.Contract.OnBlockProposed(&_AssignmentHook.TransactOpts, blk, meta, data) +// Solidity: function init(address _owner, address _addressManager) returns() +func (_AssignmentHook *AssignmentHookSession) Init(_owner common.Address, _addressManager common.Address) (*types.Transaction, error) { + return _AssignmentHook.Contract.Init(&_AssignmentHook.TransactOpts, _owner, _addressManager) } -// OnBlockProposed is a paid mutator transaction binding the contract method 0x6bfd8a0f. +// Init is a paid mutator transaction binding the contract method 0xf09a4016. // -// Solidity: function onBlockProposed((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32,bytes32[7]) blk, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, bytes data) payable returns() -func (_AssignmentHook *AssignmentHookTransactorSession) OnBlockProposed(blk TaikoDataBlock, meta TaikoDataBlockMetadata, data []byte) (*types.Transaction, error) { - return _AssignmentHook.Contract.OnBlockProposed(&_AssignmentHook.TransactOpts, blk, meta, data) +// Solidity: function init(address _owner, address _addressManager) returns() +func (_AssignmentHook *AssignmentHookTransactorSession) Init(_owner common.Address, _addressManager common.Address) (*types.Transaction, error) { + return _AssignmentHook.Contract.Init(&_AssignmentHook.TransactOpts, _owner, _addressManager) +} + +// OnBlockProposed is a paid mutator transaction binding the contract method 0x4a697ba4. +// +// Solidity: function onBlockProposed((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32) _blk, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) _meta, bytes _data) payable returns() +func (_AssignmentHook *AssignmentHookTransactor) OnBlockProposed(opts *bind.TransactOpts, _blk TaikoDataBlock, _meta TaikoDataBlockMetadata, _data []byte) (*types.Transaction, error) { + return _AssignmentHook.contract.Transact(opts, "onBlockProposed", _blk, _meta, _data) +} + +// OnBlockProposed is a paid mutator transaction binding the contract method 0x4a697ba4. +// +// Solidity: function onBlockProposed((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32) _blk, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) _meta, bytes _data) payable returns() +func (_AssignmentHook *AssignmentHookSession) OnBlockProposed(_blk TaikoDataBlock, _meta TaikoDataBlockMetadata, _data []byte) (*types.Transaction, error) { + return _AssignmentHook.Contract.OnBlockProposed(&_AssignmentHook.TransactOpts, _blk, _meta, _data) +} + +// OnBlockProposed is a paid mutator transaction binding the contract method 0x4a697ba4. +// +// Solidity: function onBlockProposed((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32) _blk, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) _meta, bytes _data) payable returns() +func (_AssignmentHook *AssignmentHookTransactorSession) OnBlockProposed(_blk TaikoDataBlock, _meta TaikoDataBlockMetadata, _data []byte) (*types.Transaction, error) { + return _AssignmentHook.Contract.OnBlockProposed(&_AssignmentHook.TransactOpts, _blk, _meta, _data) } // Pause is a paid mutator transaction binding the contract method 0x8456cb59. @@ -999,9 +1051,9 @@ type AssignmentHookBlockAssigned struct { Raw types.Log // Blockchain specific contextual infos } -// FilterBlockAssigned is a free log retrieval operation binding the contract event 0xcd949933b61139cc85e76147e25c12a4fb3664bd6e1dcf9ab10e87e756e7c4a7. +// FilterBlockAssigned is a free log retrieval operation binding the contract event 0xde277ba69c45b6cbbca46ad05227230e568794cf370fe431a0a02966b7ecf35a. // -// Solidity: event BlockAssigned(address indexed assignedProver, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint64,uint64,uint64,bytes32,(uint16,uint128)[],bytes) assignment) +// Solidity: event BlockAssigned(address indexed assignedProver, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint64,uint64,uint64,bytes32,bytes32,(uint16,uint128)[],bytes) assignment) func (_AssignmentHook *AssignmentHookFilterer) FilterBlockAssigned(opts *bind.FilterOpts, assignedProver []common.Address) (*AssignmentHookBlockAssignedIterator, error) { var assignedProverRule []interface{} @@ -1016,9 +1068,9 @@ func (_AssignmentHook *AssignmentHookFilterer) FilterBlockAssigned(opts *bind.Fi return &AssignmentHookBlockAssignedIterator{contract: _AssignmentHook.contract, event: "BlockAssigned", logs: logs, sub: sub}, nil } -// WatchBlockAssigned is a free log subscription operation binding the contract event 0xcd949933b61139cc85e76147e25c12a4fb3664bd6e1dcf9ab10e87e756e7c4a7. +// WatchBlockAssigned is a free log subscription operation binding the contract event 0xde277ba69c45b6cbbca46ad05227230e568794cf370fe431a0a02966b7ecf35a. // -// Solidity: event BlockAssigned(address indexed assignedProver, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint64,uint64,uint64,bytes32,(uint16,uint128)[],bytes) assignment) +// Solidity: event BlockAssigned(address indexed assignedProver, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint64,uint64,uint64,bytes32,bytes32,(uint16,uint128)[],bytes) assignment) func (_AssignmentHook *AssignmentHookFilterer) WatchBlockAssigned(opts *bind.WatchOpts, sink chan<- *AssignmentHookBlockAssigned, assignedProver []common.Address) (event.Subscription, error) { var assignedProverRule []interface{} @@ -1058,9 +1110,9 @@ func (_AssignmentHook *AssignmentHookFilterer) WatchBlockAssigned(opts *bind.Wat }), nil } -// ParseBlockAssigned is a log parse operation binding the contract event 0xcd949933b61139cc85e76147e25c12a4fb3664bd6e1dcf9ab10e87e756e7c4a7. +// ParseBlockAssigned is a log parse operation binding the contract event 0xde277ba69c45b6cbbca46ad05227230e568794cf370fe431a0a02966b7ecf35a. // -// Solidity: event BlockAssigned(address indexed assignedProver, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint64,uint64,uint64,bytes32,(uint16,uint128)[],bytes) assignment) +// Solidity: event BlockAssigned(address indexed assignedProver, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint64,uint64,uint64,bytes32,bytes32,(uint16,uint128)[],bytes) assignment) func (_AssignmentHook *AssignmentHookFilterer) ParseBlockAssigned(log types.Log) (*AssignmentHookBlockAssigned, error) { event := new(AssignmentHookBlockAssigned) if err := _AssignmentHook.contract.UnpackLog(event, "BlockAssigned", log); err != nil { @@ -1204,6 +1256,159 @@ func (_AssignmentHook *AssignmentHookFilterer) ParseInitialized(log types.Log) ( return event, nil } +// AssignmentHookOwnershipTransferStartedIterator is returned from FilterOwnershipTransferStarted and is used to iterate over the raw logs and unpacked data for OwnershipTransferStarted events raised by the AssignmentHook contract. +type AssignmentHookOwnershipTransferStartedIterator struct { + Event *AssignmentHookOwnershipTransferStarted // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *AssignmentHookOwnershipTransferStartedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(AssignmentHookOwnershipTransferStarted) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(AssignmentHookOwnershipTransferStarted) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *AssignmentHookOwnershipTransferStartedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *AssignmentHookOwnershipTransferStartedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// AssignmentHookOwnershipTransferStarted represents a OwnershipTransferStarted event raised by the AssignmentHook contract. +type AssignmentHookOwnershipTransferStarted struct { + PreviousOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOwnershipTransferStarted is a free log retrieval operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_AssignmentHook *AssignmentHookFilterer) FilterOwnershipTransferStarted(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*AssignmentHookOwnershipTransferStartedIterator, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _AssignmentHook.contract.FilterLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return &AssignmentHookOwnershipTransferStartedIterator{contract: _AssignmentHook.contract, event: "OwnershipTransferStarted", logs: logs, sub: sub}, nil +} + +// WatchOwnershipTransferStarted is a free log subscription operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_AssignmentHook *AssignmentHookFilterer) WatchOwnershipTransferStarted(opts *bind.WatchOpts, sink chan<- *AssignmentHookOwnershipTransferStarted, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _AssignmentHook.contract.WatchLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(AssignmentHookOwnershipTransferStarted) + if err := _AssignmentHook.contract.UnpackLog(event, "OwnershipTransferStarted", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseOwnershipTransferStarted is a log parse operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_AssignmentHook *AssignmentHookFilterer) ParseOwnershipTransferStarted(log types.Log) (*AssignmentHookOwnershipTransferStarted, error) { + event := new(AssignmentHookOwnershipTransferStarted) + if err := _AssignmentHook.contract.UnpackLog(event, "OwnershipTransferStarted", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + // AssignmentHookOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the AssignmentHook contract. type AssignmentHookOwnershipTransferredIterator struct { Event *AssignmentHookOwnershipTransferred // Event containing the contract specifics and raw log diff --git a/packages/eventindexer/contracts/bridge/Bridge.go b/packages/eventindexer/contracts/bridge/Bridge.go index c9037dc32b8..30e3f6c0a00 100644 --- a/packages/eventindexer/contracts/bridge/Bridge.go +++ b/packages/eventindexer/contracts/bridge/Bridge.go @@ -42,7 +42,8 @@ type IBridgeMessage struct { From common.Address SrcChainId uint64 DestChainId uint64 - Owner common.Address + SrcOwner common.Address + DestOwner common.Address To common.Address RefundTo common.Address Value *big.Int @@ -54,7 +55,7 @@ type IBridgeMessage struct { // BridgeMetaData contains all meta data concerning the Bridge contract. var BridgeMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"B_INVALID_CHAINID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_INVALID_CONTEXT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_INVALID_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_INVALID_USER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_INVALID_VALUE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_MESSAGE_NOT_SENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_NON_RETRIABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_NOT_FAILED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_NOT_RECEIVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_PERMISSION_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_RECALLED_ALREADY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"B_STATUS_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ETH_TRANSFER_FAILED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PAUSE_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REENTRANT_CALL\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_MANAGER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_UNEXPECTED_CHAINID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"RESOLVER_ZERO_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"DestChainEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"MessageRecalled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"}],\"name\":\"MessageSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enumBridge.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"MessageStatusChanged\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignalSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"context\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"}],\"internalType\":\"structIBridge.Context\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"}],\"name\":\"hashMessage\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"isDestChainEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"destBridge\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"isMessageRecalled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"recalled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"}],\"name\":\"isMessageSent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"messageStatus\",\"outputs\":[{\"internalType\":\"enumBridge.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextMessageId\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"processMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"proveMessageFailed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"proveMessageReceived\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"recallMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isLastAttempt\",\"type\":\"bool\"}],\"name\":\"retryMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"}],\"name\":\"sendMessage\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"id\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"srcChainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"destChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"_message\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", + ABI: "[{\"type\":\"receive\",\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"addressBanned\",\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"banned\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"addressManager\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"banAddress\",\"inputs\":[{\"name\":\"_addr\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_ban\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"context\",\"inputs\":[],\"outputs\":[{\"name\":\"ctx_\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Context\",\"components\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getInvocationDelays\",\"inputs\":[],\"outputs\":[{\"name\":\"invocationDelay_\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"invocationExtraDelay_\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"hashMessage\",\"inputs\":[{\"name\":\"_message\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"init\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_addressManager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"isDestChainEnabled\",\"inputs\":[{\"name\":\"_chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[{\"name\":\"enabled_\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"destBridge_\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isMessageSent\",\"inputs\":[{\"name\":\"_message\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"messageStatus\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumIBridge.Status\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"nextMessageId\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint128\",\"internalType\":\"uint128\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pause\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"paused\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"processMessage\",\"inputs\":[{\"name\":\"_message\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"_proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"proofReceipt\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"receivedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"preferredExecutor\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"proveMessageFailed\",\"inputs\":[{\"name\":\"_message\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"_proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"proveMessageReceived\",\"inputs\":[{\"name\":\"_message\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"_proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"proxiableUUID\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"recallMessage\",\"inputs\":[{\"name\":\"_message\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"_proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"resolve\",\"inputs\":[{\"name\":\"_chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"_name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_allowZeroAddress\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"addresspayable\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"resolve\",\"inputs\":[{\"name\":\"_name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_allowZeroAddress\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"addresspayable\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"retryMessage\",\"inputs\":[{\"name\":\"_message\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"_isLastAttempt\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"sendMessage\",\"inputs\":[{\"name\":\"_message\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"outputs\":[{\"name\":\"msgHash_\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"message_\",\"type\":\"tuple\",\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"signalForFailedMessage\",\"inputs\":[{\"name\":\"_msgHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"suspendMessages\",\"inputs\":[{\"name\":\"_msgHashes\",\"type\":\"bytes32[]\",\"internalType\":\"bytes32[]\"},{\"name\":\"_suspend\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"unpause\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"upgradeTo\",\"inputs\":[{\"name\":\"newImplementation\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"upgradeToAndCall\",\"inputs\":[{\"name\":\"newImplementation\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"event\",\"name\":\"AddressBanned\",\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"banned\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"AdminChanged\",\"inputs\":[{\"name\":\"previousAdmin\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"newAdmin\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BeaconUpgraded\",\"inputs\":[{\"name\":\"beacon\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MessageExecuted\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MessageRecalled\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MessageReceived\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"message\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"isRecall\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MessageRetried\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MessageSent\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"message\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structIBridge.Message\",\"components\":[{\"name\":\"id\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"srcChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"destChainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"srcOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destOwner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"refundTo\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"memo\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MessageStatusChanged\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"status\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumIBridge.Status\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MessageSuspended\",\"inputs\":[{\"name\":\"msgHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"suspended\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Paused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Unpaused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Upgraded\",\"inputs\":[{\"name\":\"implementation\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"B_INVALID_CHAINID\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_INVALID_CONTEXT\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_INVALID_GAS_LIMIT\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_INVALID_STATUS\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_INVALID_USER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_INVALID_VALUE\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_INVOCATION_TOO_EARLY\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_MESSAGE_NOT_SENT\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_NON_RETRIABLE\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_NOT_FAILED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_NOT_RECEIVED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_PERMISSION_DENIED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"B_STATUS_MISMATCH\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ETH_TRANSFER_FAILED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"INVALID_PAUSE_STATUS\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"REENTRANT_CALL\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_DENIED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_INVALID_MANAGER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_UNEXPECTED_CHAINID\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_ZERO_ADDR\",\"inputs\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"ZERO_ADDR_MANAGER\",\"inputs\":[]}]", } // BridgeABI is the input ABI used to generate the binding from. @@ -203,6 +204,37 @@ func (_Bridge *BridgeTransactorRaw) Transact(opts *bind.TransactOpts, method str return _Bridge.Contract.contract.Transact(opts, method, params...) } +// AddressBanned is a free data retrieval call binding the contract method 0xd8beb5c3. +// +// Solidity: function addressBanned(address addr) view returns(bool banned) +func (_Bridge *BridgeCaller) AddressBanned(opts *bind.CallOpts, addr common.Address) (bool, error) { + var out []interface{} + err := _Bridge.contract.Call(opts, &out, "addressBanned", addr) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// AddressBanned is a free data retrieval call binding the contract method 0xd8beb5c3. +// +// Solidity: function addressBanned(address addr) view returns(bool banned) +func (_Bridge *BridgeSession) AddressBanned(addr common.Address) (bool, error) { + return _Bridge.Contract.AddressBanned(&_Bridge.CallOpts, addr) +} + +// AddressBanned is a free data retrieval call binding the contract method 0xd8beb5c3. +// +// Solidity: function addressBanned(address addr) view returns(bool banned) +func (_Bridge *BridgeCallerSession) AddressBanned(addr common.Address) (bool, error) { + return _Bridge.Contract.AddressBanned(&_Bridge.CallOpts, addr) +} + // AddressManager is a free data retrieval call binding the contract method 0x3ab76e9f. // // Solidity: function addressManager() view returns(address) @@ -236,7 +268,7 @@ func (_Bridge *BridgeCallerSession) AddressManager() (common.Address, error) { // Context is a free data retrieval call binding the contract method 0xd0496d6a. // -// Solidity: function context() view returns((bytes32,address,uint64)) +// Solidity: function context() view returns((bytes32,address,uint64) ctx_) func (_Bridge *BridgeCaller) Context(opts *bind.CallOpts) (IBridgeContext, error) { var out []interface{} err := _Bridge.contract.Call(opts, &out, "context") @@ -253,24 +285,69 @@ func (_Bridge *BridgeCaller) Context(opts *bind.CallOpts) (IBridgeContext, error // Context is a free data retrieval call binding the contract method 0xd0496d6a. // -// Solidity: function context() view returns((bytes32,address,uint64)) +// Solidity: function context() view returns((bytes32,address,uint64) ctx_) func (_Bridge *BridgeSession) Context() (IBridgeContext, error) { return _Bridge.Contract.Context(&_Bridge.CallOpts) } // Context is a free data retrieval call binding the contract method 0xd0496d6a. // -// Solidity: function context() view returns((bytes32,address,uint64)) +// Solidity: function context() view returns((bytes32,address,uint64) ctx_) func (_Bridge *BridgeCallerSession) Context() (IBridgeContext, error) { return _Bridge.Contract.Context(&_Bridge.CallOpts) } -// HashMessage is a free data retrieval call binding the contract method 0x48c09539. +// GetInvocationDelays is a free data retrieval call binding the contract method 0x7844845b. +// +// Solidity: function getInvocationDelays() view returns(uint256 invocationDelay_, uint256 invocationExtraDelay_) +func (_Bridge *BridgeCaller) GetInvocationDelays(opts *bind.CallOpts) (struct { + InvocationDelay *big.Int + InvocationExtraDelay *big.Int +}, error) { + var out []interface{} + err := _Bridge.contract.Call(opts, &out, "getInvocationDelays") + + outstruct := new(struct { + InvocationDelay *big.Int + InvocationExtraDelay *big.Int + }) + if err != nil { + return *outstruct, err + } + + outstruct.InvocationDelay = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + outstruct.InvocationExtraDelay = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + + return *outstruct, err + +} + +// GetInvocationDelays is a free data retrieval call binding the contract method 0x7844845b. +// +// Solidity: function getInvocationDelays() view returns(uint256 invocationDelay_, uint256 invocationExtraDelay_) +func (_Bridge *BridgeSession) GetInvocationDelays() (struct { + InvocationDelay *big.Int + InvocationExtraDelay *big.Int +}, error) { + return _Bridge.Contract.GetInvocationDelays(&_Bridge.CallOpts) +} + +// GetInvocationDelays is a free data retrieval call binding the contract method 0x7844845b. +// +// Solidity: function getInvocationDelays() view returns(uint256 invocationDelay_, uint256 invocationExtraDelay_) +func (_Bridge *BridgeCallerSession) GetInvocationDelays() (struct { + InvocationDelay *big.Int + InvocationExtraDelay *big.Int +}, error) { + return _Bridge.Contract.GetInvocationDelays(&_Bridge.CallOpts) +} + +// HashMessage is a free data retrieval call binding the contract method 0x302ac399. // -// Solidity: function hashMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) pure returns(bytes32) -func (_Bridge *BridgeCaller) HashMessage(opts *bind.CallOpts, message IBridgeMessage) ([32]byte, error) { +// Solidity: function hashMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) pure returns(bytes32) +func (_Bridge *BridgeCaller) HashMessage(opts *bind.CallOpts, _message IBridgeMessage) ([32]byte, error) { var out []interface{} - err := _Bridge.contract.Call(opts, &out, "hashMessage", message) + err := _Bridge.contract.Call(opts, &out, "hashMessage", _message) if err != nil { return *new([32]byte), err @@ -282,29 +359,29 @@ func (_Bridge *BridgeCaller) HashMessage(opts *bind.CallOpts, message IBridgeMes } -// HashMessage is a free data retrieval call binding the contract method 0x48c09539. +// HashMessage is a free data retrieval call binding the contract method 0x302ac399. // -// Solidity: function hashMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) pure returns(bytes32) -func (_Bridge *BridgeSession) HashMessage(message IBridgeMessage) ([32]byte, error) { - return _Bridge.Contract.HashMessage(&_Bridge.CallOpts, message) +// Solidity: function hashMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) pure returns(bytes32) +func (_Bridge *BridgeSession) HashMessage(_message IBridgeMessage) ([32]byte, error) { + return _Bridge.Contract.HashMessage(&_Bridge.CallOpts, _message) } -// HashMessage is a free data retrieval call binding the contract method 0x48c09539. +// HashMessage is a free data retrieval call binding the contract method 0x302ac399. // -// Solidity: function hashMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) pure returns(bytes32) -func (_Bridge *BridgeCallerSession) HashMessage(message IBridgeMessage) ([32]byte, error) { - return _Bridge.Contract.HashMessage(&_Bridge.CallOpts, message) +// Solidity: function hashMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) pure returns(bytes32) +func (_Bridge *BridgeCallerSession) HashMessage(_message IBridgeMessage) ([32]byte, error) { + return _Bridge.Contract.HashMessage(&_Bridge.CallOpts, _message) } // IsDestChainEnabled is a free data retrieval call binding the contract method 0x8e3881a9. // -// Solidity: function isDestChainEnabled(uint64 chainId) view returns(bool enabled, address destBridge) -func (_Bridge *BridgeCaller) IsDestChainEnabled(opts *bind.CallOpts, chainId uint64) (struct { +// Solidity: function isDestChainEnabled(uint64 _chainId) view returns(bool enabled_, address destBridge_) +func (_Bridge *BridgeCaller) IsDestChainEnabled(opts *bind.CallOpts, _chainId uint64) (struct { Enabled bool DestBridge common.Address }, error) { var out []interface{} - err := _Bridge.contract.Call(opts, &out, "isDestChainEnabled", chainId) + err := _Bridge.contract.Call(opts, &out, "isDestChainEnabled", _chainId) outstruct := new(struct { Enabled bool @@ -323,61 +400,30 @@ func (_Bridge *BridgeCaller) IsDestChainEnabled(opts *bind.CallOpts, chainId uin // IsDestChainEnabled is a free data retrieval call binding the contract method 0x8e3881a9. // -// Solidity: function isDestChainEnabled(uint64 chainId) view returns(bool enabled, address destBridge) -func (_Bridge *BridgeSession) IsDestChainEnabled(chainId uint64) (struct { +// Solidity: function isDestChainEnabled(uint64 _chainId) view returns(bool enabled_, address destBridge_) +func (_Bridge *BridgeSession) IsDestChainEnabled(_chainId uint64) (struct { Enabled bool DestBridge common.Address }, error) { - return _Bridge.Contract.IsDestChainEnabled(&_Bridge.CallOpts, chainId) + return _Bridge.Contract.IsDestChainEnabled(&_Bridge.CallOpts, _chainId) } // IsDestChainEnabled is a free data retrieval call binding the contract method 0x8e3881a9. // -// Solidity: function isDestChainEnabled(uint64 chainId) view returns(bool enabled, address destBridge) -func (_Bridge *BridgeCallerSession) IsDestChainEnabled(chainId uint64) (struct { +// Solidity: function isDestChainEnabled(uint64 _chainId) view returns(bool enabled_, address destBridge_) +func (_Bridge *BridgeCallerSession) IsDestChainEnabled(_chainId uint64) (struct { Enabled bool DestBridge common.Address }, error) { - return _Bridge.Contract.IsDestChainEnabled(&_Bridge.CallOpts, chainId) -} - -// IsMessageRecalled is a free data retrieval call binding the contract method 0x4f5f9772. -// -// Solidity: function isMessageRecalled(bytes32 msgHash) view returns(bool recalled) -func (_Bridge *BridgeCaller) IsMessageRecalled(opts *bind.CallOpts, msgHash [32]byte) (bool, error) { - var out []interface{} - err := _Bridge.contract.Call(opts, &out, "isMessageRecalled", msgHash) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsMessageRecalled is a free data retrieval call binding the contract method 0x4f5f9772. -// -// Solidity: function isMessageRecalled(bytes32 msgHash) view returns(bool recalled) -func (_Bridge *BridgeSession) IsMessageRecalled(msgHash [32]byte) (bool, error) { - return _Bridge.Contract.IsMessageRecalled(&_Bridge.CallOpts, msgHash) -} - -// IsMessageRecalled is a free data retrieval call binding the contract method 0x4f5f9772. -// -// Solidity: function isMessageRecalled(bytes32 msgHash) view returns(bool recalled) -func (_Bridge *BridgeCallerSession) IsMessageRecalled(msgHash [32]byte) (bool, error) { - return _Bridge.Contract.IsMessageRecalled(&_Bridge.CallOpts, msgHash) + return _Bridge.Contract.IsDestChainEnabled(&_Bridge.CallOpts, _chainId) } -// IsMessageSent is a free data retrieval call binding the contract method 0x60ecbdfd. +// IsMessageSent is a free data retrieval call binding the contract method 0x9939a2dc. // -// Solidity: function isMessageSent((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) view returns(bool) -func (_Bridge *BridgeCaller) IsMessageSent(opts *bind.CallOpts, message IBridgeMessage) (bool, error) { +// Solidity: function isMessageSent((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) view returns(bool) +func (_Bridge *BridgeCaller) IsMessageSent(opts *bind.CallOpts, _message IBridgeMessage) (bool, error) { var out []interface{} - err := _Bridge.contract.Call(opts, &out, "isMessageSent", message) + err := _Bridge.contract.Call(opts, &out, "isMessageSent", _message) if err != nil { return *new(bool), err @@ -389,23 +435,23 @@ func (_Bridge *BridgeCaller) IsMessageSent(opts *bind.CallOpts, message IBridgeM } -// IsMessageSent is a free data retrieval call binding the contract method 0x60ecbdfd. +// IsMessageSent is a free data retrieval call binding the contract method 0x9939a2dc. // -// Solidity: function isMessageSent((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) view returns(bool) -func (_Bridge *BridgeSession) IsMessageSent(message IBridgeMessage) (bool, error) { - return _Bridge.Contract.IsMessageSent(&_Bridge.CallOpts, message) +// Solidity: function isMessageSent((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) view returns(bool) +func (_Bridge *BridgeSession) IsMessageSent(_message IBridgeMessage) (bool, error) { + return _Bridge.Contract.IsMessageSent(&_Bridge.CallOpts, _message) } -// IsMessageSent is a free data retrieval call binding the contract method 0x60ecbdfd. +// IsMessageSent is a free data retrieval call binding the contract method 0x9939a2dc. // -// Solidity: function isMessageSent((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) view returns(bool) -func (_Bridge *BridgeCallerSession) IsMessageSent(message IBridgeMessage) (bool, error) { - return _Bridge.Contract.IsMessageSent(&_Bridge.CallOpts, message) +// Solidity: function isMessageSent((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) view returns(bool) +func (_Bridge *BridgeCallerSession) IsMessageSent(_message IBridgeMessage) (bool, error) { + return _Bridge.Contract.IsMessageSent(&_Bridge.CallOpts, _message) } // MessageStatus is a free data retrieval call binding the contract method 0x3c6cf473. // -// Solidity: function messageStatus(bytes32 msgHash) view returns(uint8) +// Solidity: function messageStatus(bytes32 msgHash) view returns(uint8 status) func (_Bridge *BridgeCaller) MessageStatus(opts *bind.CallOpts, msgHash [32]byte) (uint8, error) { var out []interface{} err := _Bridge.contract.Call(opts, &out, "messageStatus", msgHash) @@ -422,14 +468,14 @@ func (_Bridge *BridgeCaller) MessageStatus(opts *bind.CallOpts, msgHash [32]byte // MessageStatus is a free data retrieval call binding the contract method 0x3c6cf473. // -// Solidity: function messageStatus(bytes32 msgHash) view returns(uint8) +// Solidity: function messageStatus(bytes32 msgHash) view returns(uint8 status) func (_Bridge *BridgeSession) MessageStatus(msgHash [32]byte) (uint8, error) { return _Bridge.Contract.MessageStatus(&_Bridge.CallOpts, msgHash) } // MessageStatus is a free data retrieval call binding the contract method 0x3c6cf473. // -// Solidity: function messageStatus(bytes32 msgHash) view returns(uint8) +// Solidity: function messageStatus(bytes32 msgHash) view returns(uint8 status) func (_Bridge *BridgeCallerSession) MessageStatus(msgHash [32]byte) (uint8, error) { return _Bridge.Contract.MessageStatus(&_Bridge.CallOpts, msgHash) } @@ -527,12 +573,88 @@ func (_Bridge *BridgeCallerSession) Paused() (bool, error) { return _Bridge.Contract.Paused(&_Bridge.CallOpts) } -// ProveMessageFailed is a free data retrieval call binding the contract method 0x625e5b7f. +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_Bridge *BridgeCaller) PendingOwner(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Bridge.contract.Call(opts, &out, "pendingOwner") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_Bridge *BridgeSession) PendingOwner() (common.Address, error) { + return _Bridge.Contract.PendingOwner(&_Bridge.CallOpts) +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_Bridge *BridgeCallerSession) PendingOwner() (common.Address, error) { + return _Bridge.Contract.PendingOwner(&_Bridge.CallOpts) +} + +// ProofReceipt is a free data retrieval call binding the contract method 0x6edbad04. +// +// Solidity: function proofReceipt(bytes32 msgHash) view returns(uint64 receivedAt, address preferredExecutor) +func (_Bridge *BridgeCaller) ProofReceipt(opts *bind.CallOpts, msgHash [32]byte) (struct { + ReceivedAt uint64 + PreferredExecutor common.Address +}, error) { + var out []interface{} + err := _Bridge.contract.Call(opts, &out, "proofReceipt", msgHash) + + outstruct := new(struct { + ReceivedAt uint64 + PreferredExecutor common.Address + }) + if err != nil { + return *outstruct, err + } + + outstruct.ReceivedAt = *abi.ConvertType(out[0], new(uint64)).(*uint64) + outstruct.PreferredExecutor = *abi.ConvertType(out[1], new(common.Address)).(*common.Address) + + return *outstruct, err + +} + +// ProofReceipt is a free data retrieval call binding the contract method 0x6edbad04. +// +// Solidity: function proofReceipt(bytes32 msgHash) view returns(uint64 receivedAt, address preferredExecutor) +func (_Bridge *BridgeSession) ProofReceipt(msgHash [32]byte) (struct { + ReceivedAt uint64 + PreferredExecutor common.Address +}, error) { + return _Bridge.Contract.ProofReceipt(&_Bridge.CallOpts, msgHash) +} + +// ProofReceipt is a free data retrieval call binding the contract method 0x6edbad04. +// +// Solidity: function proofReceipt(bytes32 msgHash) view returns(uint64 receivedAt, address preferredExecutor) +func (_Bridge *BridgeCallerSession) ProofReceipt(msgHash [32]byte) (struct { + ReceivedAt uint64 + PreferredExecutor common.Address +}, error) { + return _Bridge.Contract.ProofReceipt(&_Bridge.CallOpts, msgHash) +} + +// ProveMessageFailed is a free data retrieval call binding the contract method 0x324c058e. // -// Solidity: function proveMessageFailed((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) view returns(bool) -func (_Bridge *BridgeCaller) ProveMessageFailed(opts *bind.CallOpts, message IBridgeMessage, proof []byte) (bool, error) { +// Solidity: function proveMessageFailed((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) view returns(bool) +func (_Bridge *BridgeCaller) ProveMessageFailed(opts *bind.CallOpts, _message IBridgeMessage, _proof []byte) (bool, error) { var out []interface{} - err := _Bridge.contract.Call(opts, &out, "proveMessageFailed", message, proof) + err := _Bridge.contract.Call(opts, &out, "proveMessageFailed", _message, _proof) if err != nil { return *new(bool), err @@ -544,26 +666,26 @@ func (_Bridge *BridgeCaller) ProveMessageFailed(opts *bind.CallOpts, message IBr } -// ProveMessageFailed is a free data retrieval call binding the contract method 0x625e5b7f. +// ProveMessageFailed is a free data retrieval call binding the contract method 0x324c058e. // -// Solidity: function proveMessageFailed((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) view returns(bool) -func (_Bridge *BridgeSession) ProveMessageFailed(message IBridgeMessage, proof []byte) (bool, error) { - return _Bridge.Contract.ProveMessageFailed(&_Bridge.CallOpts, message, proof) +// Solidity: function proveMessageFailed((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) view returns(bool) +func (_Bridge *BridgeSession) ProveMessageFailed(_message IBridgeMessage, _proof []byte) (bool, error) { + return _Bridge.Contract.ProveMessageFailed(&_Bridge.CallOpts, _message, _proof) } -// ProveMessageFailed is a free data retrieval call binding the contract method 0x625e5b7f. +// ProveMessageFailed is a free data retrieval call binding the contract method 0x324c058e. // -// Solidity: function proveMessageFailed((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) view returns(bool) -func (_Bridge *BridgeCallerSession) ProveMessageFailed(message IBridgeMessage, proof []byte) (bool, error) { - return _Bridge.Contract.ProveMessageFailed(&_Bridge.CallOpts, message, proof) +// Solidity: function proveMessageFailed((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) view returns(bool) +func (_Bridge *BridgeCallerSession) ProveMessageFailed(_message IBridgeMessage, _proof []byte) (bool, error) { + return _Bridge.Contract.ProveMessageFailed(&_Bridge.CallOpts, _message, _proof) } -// ProveMessageReceived is a free data retrieval call binding the contract method 0x783f8c93. +// ProveMessageReceived is a free data retrieval call binding the contract method 0x6be4eb55. // -// Solidity: function proveMessageReceived((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) view returns(bool) -func (_Bridge *BridgeCaller) ProveMessageReceived(opts *bind.CallOpts, message IBridgeMessage, proof []byte) (bool, error) { +// Solidity: function proveMessageReceived((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) view returns(bool) +func (_Bridge *BridgeCaller) ProveMessageReceived(opts *bind.CallOpts, _message IBridgeMessage, _proof []byte) (bool, error) { var out []interface{} - err := _Bridge.contract.Call(opts, &out, "proveMessageReceived", message, proof) + err := _Bridge.contract.Call(opts, &out, "proveMessageReceived", _message, _proof) if err != nil { return *new(bool), err @@ -575,18 +697,18 @@ func (_Bridge *BridgeCaller) ProveMessageReceived(opts *bind.CallOpts, message I } -// ProveMessageReceived is a free data retrieval call binding the contract method 0x783f8c93. +// ProveMessageReceived is a free data retrieval call binding the contract method 0x6be4eb55. // -// Solidity: function proveMessageReceived((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) view returns(bool) -func (_Bridge *BridgeSession) ProveMessageReceived(message IBridgeMessage, proof []byte) (bool, error) { - return _Bridge.Contract.ProveMessageReceived(&_Bridge.CallOpts, message, proof) +// Solidity: function proveMessageReceived((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) view returns(bool) +func (_Bridge *BridgeSession) ProveMessageReceived(_message IBridgeMessage, _proof []byte) (bool, error) { + return _Bridge.Contract.ProveMessageReceived(&_Bridge.CallOpts, _message, _proof) } -// ProveMessageReceived is a free data retrieval call binding the contract method 0x783f8c93. +// ProveMessageReceived is a free data retrieval call binding the contract method 0x6be4eb55. // -// Solidity: function proveMessageReceived((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) view returns(bool) -func (_Bridge *BridgeCallerSession) ProveMessageReceived(message IBridgeMessage, proof []byte) (bool, error) { - return _Bridge.Contract.ProveMessageReceived(&_Bridge.CallOpts, message, proof) +// Solidity: function proveMessageReceived((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) view returns(bool) +func (_Bridge *BridgeCallerSession) ProveMessageReceived(_message IBridgeMessage, _proof []byte) (bool, error) { + return _Bridge.Contract.ProveMessageReceived(&_Bridge.CallOpts, _message, _proof) } // ProxiableUUID is a free data retrieval call binding the contract method 0x52d1902d. @@ -622,10 +744,10 @@ func (_Bridge *BridgeCallerSession) ProxiableUUID() ([32]byte, error) { // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_Bridge *BridgeCaller) Resolve(opts *bind.CallOpts, chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_Bridge *BridgeCaller) Resolve(opts *bind.CallOpts, _chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { var out []interface{} - err := _Bridge.contract.Call(opts, &out, "resolve", chainId, name, allowZeroAddress) + err := _Bridge.contract.Call(opts, &out, "resolve", _chainId, _name, _allowZeroAddress) if err != nil { return *new(common.Address), err @@ -639,24 +761,24 @@ func (_Bridge *BridgeCaller) Resolve(opts *bind.CallOpts, chainId uint64, name [ // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_Bridge *BridgeSession) Resolve(chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _Bridge.Contract.Resolve(&_Bridge.CallOpts, chainId, name, allowZeroAddress) +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_Bridge *BridgeSession) Resolve(_chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _Bridge.Contract.Resolve(&_Bridge.CallOpts, _chainId, _name, _allowZeroAddress) } // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_Bridge *BridgeCallerSession) Resolve(chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _Bridge.Contract.Resolve(&_Bridge.CallOpts, chainId, name, allowZeroAddress) +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_Bridge *BridgeCallerSession) Resolve(_chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _Bridge.Contract.Resolve(&_Bridge.CallOpts, _chainId, _name, _allowZeroAddress) } // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_Bridge *BridgeCaller) Resolve0(opts *bind.CallOpts, name [32]byte, allowZeroAddress bool) (common.Address, error) { +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_Bridge *BridgeCaller) Resolve0(opts *bind.CallOpts, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { var out []interface{} - err := _Bridge.contract.Call(opts, &out, "resolve0", name, allowZeroAddress) + err := _Bridge.contract.Call(opts, &out, "resolve0", _name, _allowZeroAddress) if err != nil { return *new(common.Address), err @@ -670,37 +792,110 @@ func (_Bridge *BridgeCaller) Resolve0(opts *bind.CallOpts, name [32]byte, allowZ // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_Bridge *BridgeSession) Resolve0(name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _Bridge.Contract.Resolve0(&_Bridge.CallOpts, name, allowZeroAddress) +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_Bridge *BridgeSession) Resolve0(_name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _Bridge.Contract.Resolve0(&_Bridge.CallOpts, _name, _allowZeroAddress) } // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_Bridge *BridgeCallerSession) Resolve0(name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _Bridge.Contract.Resolve0(&_Bridge.CallOpts, name, allowZeroAddress) +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_Bridge *BridgeCallerSession) Resolve0(_name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _Bridge.Contract.Resolve0(&_Bridge.CallOpts, _name, _allowZeroAddress) +} + +// SignalForFailedMessage is a free data retrieval call binding the contract method 0xd1aaa5df. +// +// Solidity: function signalForFailedMessage(bytes32 _msgHash) pure returns(bytes32) +func (_Bridge *BridgeCaller) SignalForFailedMessage(opts *bind.CallOpts, _msgHash [32]byte) ([32]byte, error) { + var out []interface{} + err := _Bridge.contract.Call(opts, &out, "signalForFailedMessage", _msgHash) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// SignalForFailedMessage is a free data retrieval call binding the contract method 0xd1aaa5df. +// +// Solidity: function signalForFailedMessage(bytes32 _msgHash) pure returns(bytes32) +func (_Bridge *BridgeSession) SignalForFailedMessage(_msgHash [32]byte) ([32]byte, error) { + return _Bridge.Contract.SignalForFailedMessage(&_Bridge.CallOpts, _msgHash) +} + +// SignalForFailedMessage is a free data retrieval call binding the contract method 0xd1aaa5df. +// +// Solidity: function signalForFailedMessage(bytes32 _msgHash) pure returns(bytes32) +func (_Bridge *BridgeCallerSession) SignalForFailedMessage(_msgHash [32]byte) ([32]byte, error) { + return _Bridge.Contract.SignalForFailedMessage(&_Bridge.CallOpts, _msgHash) +} + +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_Bridge *BridgeTransactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Bridge.contract.Transact(opts, "acceptOwnership") +} + +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_Bridge *BridgeSession) AcceptOwnership() (*types.Transaction, error) { + return _Bridge.Contract.AcceptOwnership(&_Bridge.TransactOpts) } -// Init is a paid mutator transaction binding the contract method 0x19ab453c. +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. // -// Solidity: function init(address _addressManager) returns() -func (_Bridge *BridgeTransactor) Init(opts *bind.TransactOpts, _addressManager common.Address) (*types.Transaction, error) { - return _Bridge.contract.Transact(opts, "init", _addressManager) +// Solidity: function acceptOwnership() returns() +func (_Bridge *BridgeTransactorSession) AcceptOwnership() (*types.Transaction, error) { + return _Bridge.Contract.AcceptOwnership(&_Bridge.TransactOpts) } -// Init is a paid mutator transaction binding the contract method 0x19ab453c. +// BanAddress is a paid mutator transaction binding the contract method 0x57209f48. // -// Solidity: function init(address _addressManager) returns() -func (_Bridge *BridgeSession) Init(_addressManager common.Address) (*types.Transaction, error) { - return _Bridge.Contract.Init(&_Bridge.TransactOpts, _addressManager) +// Solidity: function banAddress(address _addr, bool _ban) returns() +func (_Bridge *BridgeTransactor) BanAddress(opts *bind.TransactOpts, _addr common.Address, _ban bool) (*types.Transaction, error) { + return _Bridge.contract.Transact(opts, "banAddress", _addr, _ban) } -// Init is a paid mutator transaction binding the contract method 0x19ab453c. +// BanAddress is a paid mutator transaction binding the contract method 0x57209f48. // -// Solidity: function init(address _addressManager) returns() -func (_Bridge *BridgeTransactorSession) Init(_addressManager common.Address) (*types.Transaction, error) { - return _Bridge.Contract.Init(&_Bridge.TransactOpts, _addressManager) +// Solidity: function banAddress(address _addr, bool _ban) returns() +func (_Bridge *BridgeSession) BanAddress(_addr common.Address, _ban bool) (*types.Transaction, error) { + return _Bridge.Contract.BanAddress(&_Bridge.TransactOpts, _addr, _ban) +} + +// BanAddress is a paid mutator transaction binding the contract method 0x57209f48. +// +// Solidity: function banAddress(address _addr, bool _ban) returns() +func (_Bridge *BridgeTransactorSession) BanAddress(_addr common.Address, _ban bool) (*types.Transaction, error) { + return _Bridge.Contract.BanAddress(&_Bridge.TransactOpts, _addr, _ban) +} + +// Init is a paid mutator transaction binding the contract method 0xf09a4016. +// +// Solidity: function init(address _owner, address _addressManager) returns() +func (_Bridge *BridgeTransactor) Init(opts *bind.TransactOpts, _owner common.Address, _addressManager common.Address) (*types.Transaction, error) { + return _Bridge.contract.Transact(opts, "init", _owner, _addressManager) +} + +// Init is a paid mutator transaction binding the contract method 0xf09a4016. +// +// Solidity: function init(address _owner, address _addressManager) returns() +func (_Bridge *BridgeSession) Init(_owner common.Address, _addressManager common.Address) (*types.Transaction, error) { + return _Bridge.Contract.Init(&_Bridge.TransactOpts, _owner, _addressManager) +} + +// Init is a paid mutator transaction binding the contract method 0xf09a4016. +// +// Solidity: function init(address _owner, address _addressManager) returns() +func (_Bridge *BridgeTransactorSession) Init(_owner common.Address, _addressManager common.Address) (*types.Transaction, error) { + return _Bridge.Contract.Init(&_Bridge.TransactOpts, _owner, _addressManager) } // Pause is a paid mutator transaction binding the contract method 0x8456cb59. @@ -724,46 +919,46 @@ func (_Bridge *BridgeTransactorSession) Pause() (*types.Transaction, error) { return _Bridge.Contract.Pause(&_Bridge.TransactOpts) } -// ProcessMessage is a paid mutator transaction binding the contract method 0x01382408. +// ProcessMessage is a paid mutator transaction binding the contract method 0x16b205c1. // -// Solidity: function processMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) returns() -func (_Bridge *BridgeTransactor) ProcessMessage(opts *bind.TransactOpts, message IBridgeMessage, proof []byte) (*types.Transaction, error) { - return _Bridge.contract.Transact(opts, "processMessage", message, proof) +// Solidity: function processMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) returns() +func (_Bridge *BridgeTransactor) ProcessMessage(opts *bind.TransactOpts, _message IBridgeMessage, _proof []byte) (*types.Transaction, error) { + return _Bridge.contract.Transact(opts, "processMessage", _message, _proof) } -// ProcessMessage is a paid mutator transaction binding the contract method 0x01382408. +// ProcessMessage is a paid mutator transaction binding the contract method 0x16b205c1. // -// Solidity: function processMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) returns() -func (_Bridge *BridgeSession) ProcessMessage(message IBridgeMessage, proof []byte) (*types.Transaction, error) { - return _Bridge.Contract.ProcessMessage(&_Bridge.TransactOpts, message, proof) +// Solidity: function processMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) returns() +func (_Bridge *BridgeSession) ProcessMessage(_message IBridgeMessage, _proof []byte) (*types.Transaction, error) { + return _Bridge.Contract.ProcessMessage(&_Bridge.TransactOpts, _message, _proof) } -// ProcessMessage is a paid mutator transaction binding the contract method 0x01382408. +// ProcessMessage is a paid mutator transaction binding the contract method 0x16b205c1. // -// Solidity: function processMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) returns() -func (_Bridge *BridgeTransactorSession) ProcessMessage(message IBridgeMessage, proof []byte) (*types.Transaction, error) { - return _Bridge.Contract.ProcessMessage(&_Bridge.TransactOpts, message, proof) +// Solidity: function processMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) returns() +func (_Bridge *BridgeTransactorSession) ProcessMessage(_message IBridgeMessage, _proof []byte) (*types.Transaction, error) { + return _Bridge.Contract.ProcessMessage(&_Bridge.TransactOpts, _message, _proof) } -// RecallMessage is a paid mutator transaction binding the contract method 0x1a92e520. +// RecallMessage is a paid mutator transaction binding the contract method 0xd6ba38b2. // -// Solidity: function recallMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) returns() -func (_Bridge *BridgeTransactor) RecallMessage(opts *bind.TransactOpts, message IBridgeMessage, proof []byte) (*types.Transaction, error) { - return _Bridge.contract.Transact(opts, "recallMessage", message, proof) +// Solidity: function recallMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) returns() +func (_Bridge *BridgeTransactor) RecallMessage(opts *bind.TransactOpts, _message IBridgeMessage, _proof []byte) (*types.Transaction, error) { + return _Bridge.contract.Transact(opts, "recallMessage", _message, _proof) } -// RecallMessage is a paid mutator transaction binding the contract method 0x1a92e520. +// RecallMessage is a paid mutator transaction binding the contract method 0xd6ba38b2. // -// Solidity: function recallMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) returns() -func (_Bridge *BridgeSession) RecallMessage(message IBridgeMessage, proof []byte) (*types.Transaction, error) { - return _Bridge.Contract.RecallMessage(&_Bridge.TransactOpts, message, proof) +// Solidity: function recallMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) returns() +func (_Bridge *BridgeSession) RecallMessage(_message IBridgeMessage, _proof []byte) (*types.Transaction, error) { + return _Bridge.Contract.RecallMessage(&_Bridge.TransactOpts, _message, _proof) } -// RecallMessage is a paid mutator transaction binding the contract method 0x1a92e520. +// RecallMessage is a paid mutator transaction binding the contract method 0xd6ba38b2. // -// Solidity: function recallMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bytes proof) returns() -func (_Bridge *BridgeTransactorSession) RecallMessage(message IBridgeMessage, proof []byte) (*types.Transaction, error) { - return _Bridge.Contract.RecallMessage(&_Bridge.TransactOpts, message, proof) +// Solidity: function recallMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bytes _proof) returns() +func (_Bridge *BridgeTransactorSession) RecallMessage(_message IBridgeMessage, _proof []byte) (*types.Transaction, error) { + return _Bridge.Contract.RecallMessage(&_Bridge.TransactOpts, _message, _proof) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. @@ -787,46 +982,67 @@ func (_Bridge *BridgeTransactorSession) RenounceOwnership() (*types.Transaction, return _Bridge.Contract.RenounceOwnership(&_Bridge.TransactOpts) } -// RetryMessage is a paid mutator transaction binding the contract method 0xa24f721b. +// RetryMessage is a paid mutator transaction binding the contract method 0xb916a0be. +// +// Solidity: function retryMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bool _isLastAttempt) returns() +func (_Bridge *BridgeTransactor) RetryMessage(opts *bind.TransactOpts, _message IBridgeMessage, _isLastAttempt bool) (*types.Transaction, error) { + return _Bridge.contract.Transact(opts, "retryMessage", _message, _isLastAttempt) +} + +// RetryMessage is a paid mutator transaction binding the contract method 0xb916a0be. +// +// Solidity: function retryMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bool _isLastAttempt) returns() +func (_Bridge *BridgeSession) RetryMessage(_message IBridgeMessage, _isLastAttempt bool) (*types.Transaction, error) { + return _Bridge.Contract.RetryMessage(&_Bridge.TransactOpts, _message, _isLastAttempt) +} + +// RetryMessage is a paid mutator transaction binding the contract method 0xb916a0be. +// +// Solidity: function retryMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message, bool _isLastAttempt) returns() +func (_Bridge *BridgeTransactorSession) RetryMessage(_message IBridgeMessage, _isLastAttempt bool) (*types.Transaction, error) { + return _Bridge.Contract.RetryMessage(&_Bridge.TransactOpts, _message, _isLastAttempt) +} + +// SendMessage is a paid mutator transaction binding the contract method 0x6c334e2e. // -// Solidity: function retryMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bool isLastAttempt) returns() -func (_Bridge *BridgeTransactor) RetryMessage(opts *bind.TransactOpts, message IBridgeMessage, isLastAttempt bool) (*types.Transaction, error) { - return _Bridge.contract.Transact(opts, "retryMessage", message, isLastAttempt) +// Solidity: function sendMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) payable returns(bytes32 msgHash_, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message_) +func (_Bridge *BridgeTransactor) SendMessage(opts *bind.TransactOpts, _message IBridgeMessage) (*types.Transaction, error) { + return _Bridge.contract.Transact(opts, "sendMessage", _message) } -// RetryMessage is a paid mutator transaction binding the contract method 0xa24f721b. +// SendMessage is a paid mutator transaction binding the contract method 0x6c334e2e. // -// Solidity: function retryMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bool isLastAttempt) returns() -func (_Bridge *BridgeSession) RetryMessage(message IBridgeMessage, isLastAttempt bool) (*types.Transaction, error) { - return _Bridge.Contract.RetryMessage(&_Bridge.TransactOpts, message, isLastAttempt) +// Solidity: function sendMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) payable returns(bytes32 msgHash_, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message_) +func (_Bridge *BridgeSession) SendMessage(_message IBridgeMessage) (*types.Transaction, error) { + return _Bridge.Contract.SendMessage(&_Bridge.TransactOpts, _message) } -// RetryMessage is a paid mutator transaction binding the contract method 0xa24f721b. +// SendMessage is a paid mutator transaction binding the contract method 0x6c334e2e. // -// Solidity: function retryMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message, bool isLastAttempt) returns() -func (_Bridge *BridgeTransactorSession) RetryMessage(message IBridgeMessage, isLastAttempt bool) (*types.Transaction, error) { - return _Bridge.Contract.RetryMessage(&_Bridge.TransactOpts, message, isLastAttempt) +// Solidity: function sendMessage((uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) _message) payable returns(bytes32 msgHash_, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message_) +func (_Bridge *BridgeTransactorSession) SendMessage(_message IBridgeMessage) (*types.Transaction, error) { + return _Bridge.Contract.SendMessage(&_Bridge.TransactOpts, _message) } -// SendMessage is a paid mutator transaction binding the contract method 0x33bcd0cc. +// SuspendMessages is a paid mutator transaction binding the contract method 0x48548f25. // -// Solidity: function sendMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) payable returns(bytes32 msgHash, (uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) _message) -func (_Bridge *BridgeTransactor) SendMessage(opts *bind.TransactOpts, message IBridgeMessage) (*types.Transaction, error) { - return _Bridge.contract.Transact(opts, "sendMessage", message) +// Solidity: function suspendMessages(bytes32[] _msgHashes, bool _suspend) returns() +func (_Bridge *BridgeTransactor) SuspendMessages(opts *bind.TransactOpts, _msgHashes [][32]byte, _suspend bool) (*types.Transaction, error) { + return _Bridge.contract.Transact(opts, "suspendMessages", _msgHashes, _suspend) } -// SendMessage is a paid mutator transaction binding the contract method 0x33bcd0cc. +// SuspendMessages is a paid mutator transaction binding the contract method 0x48548f25. // -// Solidity: function sendMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) payable returns(bytes32 msgHash, (uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) _message) -func (_Bridge *BridgeSession) SendMessage(message IBridgeMessage) (*types.Transaction, error) { - return _Bridge.Contract.SendMessage(&_Bridge.TransactOpts, message) +// Solidity: function suspendMessages(bytes32[] _msgHashes, bool _suspend) returns() +func (_Bridge *BridgeSession) SuspendMessages(_msgHashes [][32]byte, _suspend bool) (*types.Transaction, error) { + return _Bridge.Contract.SuspendMessages(&_Bridge.TransactOpts, _msgHashes, _suspend) } -// SendMessage is a paid mutator transaction binding the contract method 0x33bcd0cc. +// SuspendMessages is a paid mutator transaction binding the contract method 0x48548f25. // -// Solidity: function sendMessage((uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) payable returns(bytes32 msgHash, (uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) _message) -func (_Bridge *BridgeTransactorSession) SendMessage(message IBridgeMessage) (*types.Transaction, error) { - return _Bridge.Contract.SendMessage(&_Bridge.TransactOpts, message) +// Solidity: function suspendMessages(bytes32[] _msgHashes, bool _suspend) returns() +func (_Bridge *BridgeTransactorSession) SuspendMessages(_msgHashes [][32]byte, _suspend bool) (*types.Transaction, error) { + return _Bridge.Contract.SuspendMessages(&_Bridge.TransactOpts, _msgHashes, _suspend) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. @@ -934,9 +1150,9 @@ func (_Bridge *BridgeTransactorSession) Receive() (*types.Transaction, error) { return _Bridge.Contract.Receive(&_Bridge.TransactOpts) } -// BridgeAdminChangedIterator is returned from FilterAdminChanged and is used to iterate over the raw logs and unpacked data for AdminChanged events raised by the Bridge contract. -type BridgeAdminChangedIterator struct { - Event *BridgeAdminChanged // Event containing the contract specifics and raw log +// BridgeAddressBannedIterator is returned from FilterAddressBanned and is used to iterate over the raw logs and unpacked data for AddressBanned events raised by the Bridge contract. +type BridgeAddressBannedIterator struct { + Event *BridgeAddressBanned // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -950,7 +1166,7 @@ type BridgeAdminChangedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgeAdminChangedIterator) Next() bool { +func (it *BridgeAddressBannedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -959,7 +1175,7 @@ func (it *BridgeAdminChangedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgeAdminChanged) + it.Event = new(BridgeAddressBanned) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -974,7 +1190,7 @@ func (it *BridgeAdminChangedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgeAdminChanged) + it.Event = new(BridgeAddressBanned) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -990,42 +1206,52 @@ func (it *BridgeAdminChangedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgeAdminChangedIterator) Error() error { +func (it *BridgeAddressBannedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgeAdminChangedIterator) Close() error { +func (it *BridgeAddressBannedIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgeAdminChanged represents a AdminChanged event raised by the Bridge contract. -type BridgeAdminChanged struct { - PreviousAdmin common.Address - NewAdmin common.Address - Raw types.Log // Blockchain specific contextual infos +// BridgeAddressBanned represents a AddressBanned event raised by the Bridge contract. +type BridgeAddressBanned struct { + Addr common.Address + Banned bool + Raw types.Log // Blockchain specific contextual infos } -// FilterAdminChanged is a free log retrieval operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. +// FilterAddressBanned is a free log retrieval operation binding the contract event 0x7113ce15c395851033544a97557341cdc71886964b54ff108a685d359ed4cdf8. // -// Solidity: event AdminChanged(address previousAdmin, address newAdmin) -func (_Bridge *BridgeFilterer) FilterAdminChanged(opts *bind.FilterOpts) (*BridgeAdminChangedIterator, error) { +// Solidity: event AddressBanned(address indexed addr, bool banned) +func (_Bridge *BridgeFilterer) FilterAddressBanned(opts *bind.FilterOpts, addr []common.Address) (*BridgeAddressBannedIterator, error) { - logs, sub, err := _Bridge.contract.FilterLogs(opts, "AdminChanged") + var addrRule []interface{} + for _, addrItem := range addr { + addrRule = append(addrRule, addrItem) + } + + logs, sub, err := _Bridge.contract.FilterLogs(opts, "AddressBanned", addrRule) if err != nil { return nil, err } - return &BridgeAdminChangedIterator{contract: _Bridge.contract, event: "AdminChanged", logs: logs, sub: sub}, nil + return &BridgeAddressBannedIterator{contract: _Bridge.contract, event: "AddressBanned", logs: logs, sub: sub}, nil } -// WatchAdminChanged is a free log subscription operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. +// WatchAddressBanned is a free log subscription operation binding the contract event 0x7113ce15c395851033544a97557341cdc71886964b54ff108a685d359ed4cdf8. // -// Solidity: event AdminChanged(address previousAdmin, address newAdmin) -func (_Bridge *BridgeFilterer) WatchAdminChanged(opts *bind.WatchOpts, sink chan<- *BridgeAdminChanged) (event.Subscription, error) { +// Solidity: event AddressBanned(address indexed addr, bool banned) +func (_Bridge *BridgeFilterer) WatchAddressBanned(opts *bind.WatchOpts, sink chan<- *BridgeAddressBanned, addr []common.Address) (event.Subscription, error) { - logs, sub, err := _Bridge.contract.WatchLogs(opts, "AdminChanged") + var addrRule []interface{} + for _, addrItem := range addr { + addrRule = append(addrRule, addrItem) + } + + logs, sub, err := _Bridge.contract.WatchLogs(opts, "AddressBanned", addrRule) if err != nil { return nil, err } @@ -1035,8 +1261,8 @@ func (_Bridge *BridgeFilterer) WatchAdminChanged(opts *bind.WatchOpts, sink chan select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgeAdminChanged) - if err := _Bridge.contract.UnpackLog(event, "AdminChanged", log); err != nil { + event := new(BridgeAddressBanned) + if err := _Bridge.contract.UnpackLog(event, "AddressBanned", log); err != nil { return err } event.Raw = log @@ -1057,21 +1283,21 @@ func (_Bridge *BridgeFilterer) WatchAdminChanged(opts *bind.WatchOpts, sink chan }), nil } -// ParseAdminChanged is a log parse operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. +// ParseAddressBanned is a log parse operation binding the contract event 0x7113ce15c395851033544a97557341cdc71886964b54ff108a685d359ed4cdf8. // -// Solidity: event AdminChanged(address previousAdmin, address newAdmin) -func (_Bridge *BridgeFilterer) ParseAdminChanged(log types.Log) (*BridgeAdminChanged, error) { - event := new(BridgeAdminChanged) - if err := _Bridge.contract.UnpackLog(event, "AdminChanged", log); err != nil { +// Solidity: event AddressBanned(address indexed addr, bool banned) +func (_Bridge *BridgeFilterer) ParseAddressBanned(log types.Log) (*BridgeAddressBanned, error) { + event := new(BridgeAddressBanned) + if err := _Bridge.contract.UnpackLog(event, "AddressBanned", log); err != nil { return nil, err } event.Raw = log return event, nil } -// BridgeBeaconUpgradedIterator is returned from FilterBeaconUpgraded and is used to iterate over the raw logs and unpacked data for BeaconUpgraded events raised by the Bridge contract. -type BridgeBeaconUpgradedIterator struct { - Event *BridgeBeaconUpgraded // Event containing the contract specifics and raw log +// BridgeAdminChangedIterator is returned from FilterAdminChanged and is used to iterate over the raw logs and unpacked data for AdminChanged events raised by the Bridge contract. +type BridgeAdminChangedIterator struct { + Event *BridgeAdminChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1085,7 +1311,7 @@ type BridgeBeaconUpgradedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgeBeaconUpgradedIterator) Next() bool { +func (it *BridgeAdminChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1094,7 +1320,7 @@ func (it *BridgeBeaconUpgradedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgeBeaconUpgraded) + it.Event = new(BridgeAdminChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1109,7 +1335,7 @@ func (it *BridgeBeaconUpgradedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgeBeaconUpgraded) + it.Event = new(BridgeAdminChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1125,51 +1351,42 @@ func (it *BridgeBeaconUpgradedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgeBeaconUpgradedIterator) Error() error { +func (it *BridgeAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgeBeaconUpgradedIterator) Close() error { +func (it *BridgeAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgeBeaconUpgraded represents a BeaconUpgraded event raised by the Bridge contract. -type BridgeBeaconUpgraded struct { - Beacon common.Address - Raw types.Log // Blockchain specific contextual infos +// BridgeAdminChanged represents a AdminChanged event raised by the Bridge contract. +type BridgeAdminChanged struct { + PreviousAdmin common.Address + NewAdmin common.Address + Raw types.Log // Blockchain specific contextual infos } -// FilterBeaconUpgraded is a free log retrieval operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. +// FilterAdminChanged is a free log retrieval operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. // -// Solidity: event BeaconUpgraded(address indexed beacon) -func (_Bridge *BridgeFilterer) FilterBeaconUpgraded(opts *bind.FilterOpts, beacon []common.Address) (*BridgeBeaconUpgradedIterator, error) { - - var beaconRule []interface{} - for _, beaconItem := range beacon { - beaconRule = append(beaconRule, beaconItem) - } +// Solidity: event AdminChanged(address previousAdmin, address newAdmin) +func (_Bridge *BridgeFilterer) FilterAdminChanged(opts *bind.FilterOpts) (*BridgeAdminChangedIterator, error) { - logs, sub, err := _Bridge.contract.FilterLogs(opts, "BeaconUpgraded", beaconRule) + logs, sub, err := _Bridge.contract.FilterLogs(opts, "AdminChanged") if err != nil { return nil, err } - return &BridgeBeaconUpgradedIterator{contract: _Bridge.contract, event: "BeaconUpgraded", logs: logs, sub: sub}, nil + return &BridgeAdminChangedIterator{contract: _Bridge.contract, event: "AdminChanged", logs: logs, sub: sub}, nil } -// WatchBeaconUpgraded is a free log subscription operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. +// WatchAdminChanged is a free log subscription operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. // -// Solidity: event BeaconUpgraded(address indexed beacon) -func (_Bridge *BridgeFilterer) WatchBeaconUpgraded(opts *bind.WatchOpts, sink chan<- *BridgeBeaconUpgraded, beacon []common.Address) (event.Subscription, error) { - - var beaconRule []interface{} - for _, beaconItem := range beacon { - beaconRule = append(beaconRule, beaconItem) - } +// Solidity: event AdminChanged(address previousAdmin, address newAdmin) +func (_Bridge *BridgeFilterer) WatchAdminChanged(opts *bind.WatchOpts, sink chan<- *BridgeAdminChanged) (event.Subscription, error) { - logs, sub, err := _Bridge.contract.WatchLogs(opts, "BeaconUpgraded", beaconRule) + logs, sub, err := _Bridge.contract.WatchLogs(opts, "AdminChanged") if err != nil { return nil, err } @@ -1179,8 +1396,8 @@ func (_Bridge *BridgeFilterer) WatchBeaconUpgraded(opts *bind.WatchOpts, sink ch select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgeBeaconUpgraded) - if err := _Bridge.contract.UnpackLog(event, "BeaconUpgraded", log); err != nil { + event := new(BridgeAdminChanged) + if err := _Bridge.contract.UnpackLog(event, "AdminChanged", log); err != nil { return err } event.Raw = log @@ -1201,21 +1418,21 @@ func (_Bridge *BridgeFilterer) WatchBeaconUpgraded(opts *bind.WatchOpts, sink ch }), nil } -// ParseBeaconUpgraded is a log parse operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. +// ParseAdminChanged is a log parse operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. // -// Solidity: event BeaconUpgraded(address indexed beacon) -func (_Bridge *BridgeFilterer) ParseBeaconUpgraded(log types.Log) (*BridgeBeaconUpgraded, error) { - event := new(BridgeBeaconUpgraded) - if err := _Bridge.contract.UnpackLog(event, "BeaconUpgraded", log); err != nil { +// Solidity: event AdminChanged(address previousAdmin, address newAdmin) +func (_Bridge *BridgeFilterer) ParseAdminChanged(log types.Log) (*BridgeAdminChanged, error) { + event := new(BridgeAdminChanged) + if err := _Bridge.contract.UnpackLog(event, "AdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } -// BridgeDestChainEnabledIterator is returned from FilterDestChainEnabled and is used to iterate over the raw logs and unpacked data for DestChainEnabled events raised by the Bridge contract. -type BridgeDestChainEnabledIterator struct { - Event *BridgeDestChainEnabled // Event containing the contract specifics and raw log +// BridgeBeaconUpgradedIterator is returned from FilterBeaconUpgraded and is used to iterate over the raw logs and unpacked data for BeaconUpgraded events raised by the Bridge contract. +type BridgeBeaconUpgradedIterator struct { + Event *BridgeBeaconUpgraded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1229,7 +1446,7 @@ type BridgeDestChainEnabledIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgeDestChainEnabledIterator) Next() bool { +func (it *BridgeBeaconUpgradedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1238,7 +1455,7 @@ func (it *BridgeDestChainEnabledIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgeDestChainEnabled) + it.Event = new(BridgeBeaconUpgraded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1253,7 +1470,7 @@ func (it *BridgeDestChainEnabledIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgeDestChainEnabled) + it.Event = new(BridgeBeaconUpgraded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1269,52 +1486,51 @@ func (it *BridgeDestChainEnabledIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgeDestChainEnabledIterator) Error() error { +func (it *BridgeBeaconUpgradedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgeDestChainEnabledIterator) Close() error { +func (it *BridgeBeaconUpgradedIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgeDestChainEnabled represents a DestChainEnabled event raised by the Bridge contract. -type BridgeDestChainEnabled struct { - ChainId uint64 - Enabled bool - Raw types.Log // Blockchain specific contextual infos +// BridgeBeaconUpgraded represents a BeaconUpgraded event raised by the Bridge contract. +type BridgeBeaconUpgraded struct { + Beacon common.Address + Raw types.Log // Blockchain specific contextual infos } -// FilterDestChainEnabled is a free log retrieval operation binding the contract event 0xacf89c9e8ba7f621aa9632bc23b65f5d4c7a0eacfb7bc5149c17a9dec05e89a4. +// FilterBeaconUpgraded is a free log retrieval operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. // -// Solidity: event DestChainEnabled(uint64 indexed chainId, bool enabled) -func (_Bridge *BridgeFilterer) FilterDestChainEnabled(opts *bind.FilterOpts, chainId []uint64) (*BridgeDestChainEnabledIterator, error) { +// Solidity: event BeaconUpgraded(address indexed beacon) +func (_Bridge *BridgeFilterer) FilterBeaconUpgraded(opts *bind.FilterOpts, beacon []common.Address) (*BridgeBeaconUpgradedIterator, error) { - var chainIdRule []interface{} - for _, chainIdItem := range chainId { - chainIdRule = append(chainIdRule, chainIdItem) + var beaconRule []interface{} + for _, beaconItem := range beacon { + beaconRule = append(beaconRule, beaconItem) } - logs, sub, err := _Bridge.contract.FilterLogs(opts, "DestChainEnabled", chainIdRule) + logs, sub, err := _Bridge.contract.FilterLogs(opts, "BeaconUpgraded", beaconRule) if err != nil { return nil, err } - return &BridgeDestChainEnabledIterator{contract: _Bridge.contract, event: "DestChainEnabled", logs: logs, sub: sub}, nil + return &BridgeBeaconUpgradedIterator{contract: _Bridge.contract, event: "BeaconUpgraded", logs: logs, sub: sub}, nil } -// WatchDestChainEnabled is a free log subscription operation binding the contract event 0xacf89c9e8ba7f621aa9632bc23b65f5d4c7a0eacfb7bc5149c17a9dec05e89a4. +// WatchBeaconUpgraded is a free log subscription operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. // -// Solidity: event DestChainEnabled(uint64 indexed chainId, bool enabled) -func (_Bridge *BridgeFilterer) WatchDestChainEnabled(opts *bind.WatchOpts, sink chan<- *BridgeDestChainEnabled, chainId []uint64) (event.Subscription, error) { +// Solidity: event BeaconUpgraded(address indexed beacon) +func (_Bridge *BridgeFilterer) WatchBeaconUpgraded(opts *bind.WatchOpts, sink chan<- *BridgeBeaconUpgraded, beacon []common.Address) (event.Subscription, error) { - var chainIdRule []interface{} - for _, chainIdItem := range chainId { - chainIdRule = append(chainIdRule, chainIdItem) + var beaconRule []interface{} + for _, beaconItem := range beacon { + beaconRule = append(beaconRule, beaconItem) } - logs, sub, err := _Bridge.contract.WatchLogs(opts, "DestChainEnabled", chainIdRule) + logs, sub, err := _Bridge.contract.WatchLogs(opts, "BeaconUpgraded", beaconRule) if err != nil { return nil, err } @@ -1324,8 +1540,8 @@ func (_Bridge *BridgeFilterer) WatchDestChainEnabled(opts *bind.WatchOpts, sink select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgeDestChainEnabled) - if err := _Bridge.contract.UnpackLog(event, "DestChainEnabled", log); err != nil { + event := new(BridgeBeaconUpgraded) + if err := _Bridge.contract.UnpackLog(event, "BeaconUpgraded", log); err != nil { return err } event.Raw = log @@ -1346,12 +1562,12 @@ func (_Bridge *BridgeFilterer) WatchDestChainEnabled(opts *bind.WatchOpts, sink }), nil } -// ParseDestChainEnabled is a log parse operation binding the contract event 0xacf89c9e8ba7f621aa9632bc23b65f5d4c7a0eacfb7bc5149c17a9dec05e89a4. +// ParseBeaconUpgraded is a log parse operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. // -// Solidity: event DestChainEnabled(uint64 indexed chainId, bool enabled) -func (_Bridge *BridgeFilterer) ParseDestChainEnabled(log types.Log) (*BridgeDestChainEnabled, error) { - event := new(BridgeDestChainEnabled) - if err := _Bridge.contract.UnpackLog(event, "DestChainEnabled", log); err != nil { +// Solidity: event BeaconUpgraded(address indexed beacon) +func (_Bridge *BridgeFilterer) ParseBeaconUpgraded(log types.Log) (*BridgeBeaconUpgraded, error) { + event := new(BridgeBeaconUpgraded) + if err := _Bridge.contract.UnpackLog(event, "BeaconUpgraded", log); err != nil { return nil, err } event.Raw = log @@ -1492,9 +1708,9 @@ func (_Bridge *BridgeFilterer) ParseInitialized(log types.Log) (*BridgeInitializ return event, nil } -// BridgeMessageRecalledIterator is returned from FilterMessageRecalled and is used to iterate over the raw logs and unpacked data for MessageRecalled events raised by the Bridge contract. -type BridgeMessageRecalledIterator struct { - Event *BridgeMessageRecalled // Event containing the contract specifics and raw log +// BridgeMessageExecutedIterator is returned from FilterMessageExecuted and is used to iterate over the raw logs and unpacked data for MessageExecuted events raised by the Bridge contract. +type BridgeMessageExecutedIterator struct { + Event *BridgeMessageExecuted // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1508,7 +1724,7 @@ type BridgeMessageRecalledIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgeMessageRecalledIterator) Next() bool { +func (it *BridgeMessageExecutedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1517,7 +1733,7 @@ func (it *BridgeMessageRecalledIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgeMessageRecalled) + it.Event = new(BridgeMessageExecuted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1532,7 +1748,7 @@ func (it *BridgeMessageRecalledIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgeMessageRecalled) + it.Event = new(BridgeMessageExecuted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1548,51 +1764,51 @@ func (it *BridgeMessageRecalledIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgeMessageRecalledIterator) Error() error { +func (it *BridgeMessageExecutedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgeMessageRecalledIterator) Close() error { +func (it *BridgeMessageExecutedIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgeMessageRecalled represents a MessageRecalled event raised by the Bridge contract. -type BridgeMessageRecalled struct { +// BridgeMessageExecuted represents a MessageExecuted event raised by the Bridge contract. +type BridgeMessageExecuted struct { MsgHash [32]byte Raw types.Log // Blockchain specific contextual infos } -// FilterMessageRecalled is a free log retrieval operation binding the contract event 0xc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa2. +// FilterMessageExecuted is a free log retrieval operation binding the contract event 0xe7d1e1f435233f7a187624ac11afaf32ee0da368cef8a5625be394412f619254. // -// Solidity: event MessageRecalled(bytes32 indexed msgHash) -func (_Bridge *BridgeFilterer) FilterMessageRecalled(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageRecalledIterator, error) { +// Solidity: event MessageExecuted(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) FilterMessageExecuted(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageExecutedIterator, error) { var msgHashRule []interface{} for _, msgHashItem := range msgHash { msgHashRule = append(msgHashRule, msgHashItem) } - logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageRecalled", msgHashRule) + logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageExecuted", msgHashRule) if err != nil { return nil, err } - return &BridgeMessageRecalledIterator{contract: _Bridge.contract, event: "MessageRecalled", logs: logs, sub: sub}, nil + return &BridgeMessageExecutedIterator{contract: _Bridge.contract, event: "MessageExecuted", logs: logs, sub: sub}, nil } -// WatchMessageRecalled is a free log subscription operation binding the contract event 0xc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa2. +// WatchMessageExecuted is a free log subscription operation binding the contract event 0xe7d1e1f435233f7a187624ac11afaf32ee0da368cef8a5625be394412f619254. // -// Solidity: event MessageRecalled(bytes32 indexed msgHash) -func (_Bridge *BridgeFilterer) WatchMessageRecalled(opts *bind.WatchOpts, sink chan<- *BridgeMessageRecalled, msgHash [][32]byte) (event.Subscription, error) { +// Solidity: event MessageExecuted(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) WatchMessageExecuted(opts *bind.WatchOpts, sink chan<- *BridgeMessageExecuted, msgHash [][32]byte) (event.Subscription, error) { var msgHashRule []interface{} for _, msgHashItem := range msgHash { msgHashRule = append(msgHashRule, msgHashItem) } - logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageRecalled", msgHashRule) + logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageExecuted", msgHashRule) if err != nil { return nil, err } @@ -1602,8 +1818,8 @@ func (_Bridge *BridgeFilterer) WatchMessageRecalled(opts *bind.WatchOpts, sink c select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgeMessageRecalled) - if err := _Bridge.contract.UnpackLog(event, "MessageRecalled", log); err != nil { + event := new(BridgeMessageExecuted) + if err := _Bridge.contract.UnpackLog(event, "MessageExecuted", log); err != nil { return err } event.Raw = log @@ -1624,21 +1840,21 @@ func (_Bridge *BridgeFilterer) WatchMessageRecalled(opts *bind.WatchOpts, sink c }), nil } -// ParseMessageRecalled is a log parse operation binding the contract event 0xc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa2. +// ParseMessageExecuted is a log parse operation binding the contract event 0xe7d1e1f435233f7a187624ac11afaf32ee0da368cef8a5625be394412f619254. // -// Solidity: event MessageRecalled(bytes32 indexed msgHash) -func (_Bridge *BridgeFilterer) ParseMessageRecalled(log types.Log) (*BridgeMessageRecalled, error) { - event := new(BridgeMessageRecalled) - if err := _Bridge.contract.UnpackLog(event, "MessageRecalled", log); err != nil { +// Solidity: event MessageExecuted(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) ParseMessageExecuted(log types.Log) (*BridgeMessageExecuted, error) { + event := new(BridgeMessageExecuted) + if err := _Bridge.contract.UnpackLog(event, "MessageExecuted", log); err != nil { return nil, err } event.Raw = log return event, nil } -// BridgeMessageSentIterator is returned from FilterMessageSent and is used to iterate over the raw logs and unpacked data for MessageSent events raised by the Bridge contract. -type BridgeMessageSentIterator struct { - Event *BridgeMessageSent // Event containing the contract specifics and raw log +// BridgeMessageRecalledIterator is returned from FilterMessageRecalled and is used to iterate over the raw logs and unpacked data for MessageRecalled events raised by the Bridge contract. +type BridgeMessageRecalledIterator struct { + Event *BridgeMessageRecalled // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1652,7 +1868,7 @@ type BridgeMessageSentIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgeMessageSentIterator) Next() bool { +func (it *BridgeMessageRecalledIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1661,7 +1877,7 @@ func (it *BridgeMessageSentIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgeMessageSent) + it.Event = new(BridgeMessageRecalled) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1676,7 +1892,7 @@ func (it *BridgeMessageSentIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgeMessageSent) + it.Event = new(BridgeMessageRecalled) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1692,52 +1908,51 @@ func (it *BridgeMessageSentIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgeMessageSentIterator) Error() error { +func (it *BridgeMessageRecalledIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgeMessageSentIterator) Close() error { +func (it *BridgeMessageRecalledIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgeMessageSent represents a MessageSent event raised by the Bridge contract. -type BridgeMessageSent struct { +// BridgeMessageRecalled represents a MessageRecalled event raised by the Bridge contract. +type BridgeMessageRecalled struct { MsgHash [32]byte - Message IBridgeMessage Raw types.Log // Blockchain specific contextual infos } -// FilterMessageSent is a free log retrieval operation binding the contract event 0x3406baf0dfd13f7f0ce1d077c461a35b763927e1438d49749442de2eb42148ba. +// FilterMessageRecalled is a free log retrieval operation binding the contract event 0xc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa2. // -// Solidity: event MessageSent(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) -func (_Bridge *BridgeFilterer) FilterMessageSent(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageSentIterator, error) { +// Solidity: event MessageRecalled(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) FilterMessageRecalled(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageRecalledIterator, error) { var msgHashRule []interface{} for _, msgHashItem := range msgHash { msgHashRule = append(msgHashRule, msgHashItem) } - logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageSent", msgHashRule) + logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageRecalled", msgHashRule) if err != nil { return nil, err } - return &BridgeMessageSentIterator{contract: _Bridge.contract, event: "MessageSent", logs: logs, sub: sub}, nil + return &BridgeMessageRecalledIterator{contract: _Bridge.contract, event: "MessageRecalled", logs: logs, sub: sub}, nil } -// WatchMessageSent is a free log subscription operation binding the contract event 0x3406baf0dfd13f7f0ce1d077c461a35b763927e1438d49749442de2eb42148ba. +// WatchMessageRecalled is a free log subscription operation binding the contract event 0xc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa2. // -// Solidity: event MessageSent(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) -func (_Bridge *BridgeFilterer) WatchMessageSent(opts *bind.WatchOpts, sink chan<- *BridgeMessageSent, msgHash [][32]byte) (event.Subscription, error) { +// Solidity: event MessageRecalled(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) WatchMessageRecalled(opts *bind.WatchOpts, sink chan<- *BridgeMessageRecalled, msgHash [][32]byte) (event.Subscription, error) { var msgHashRule []interface{} for _, msgHashItem := range msgHash { msgHashRule = append(msgHashRule, msgHashItem) } - logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageSent", msgHashRule) + logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageRecalled", msgHashRule) if err != nil { return nil, err } @@ -1747,8 +1962,8 @@ func (_Bridge *BridgeFilterer) WatchMessageSent(opts *bind.WatchOpts, sink chan< select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgeMessageSent) - if err := _Bridge.contract.UnpackLog(event, "MessageSent", log); err != nil { + event := new(BridgeMessageRecalled) + if err := _Bridge.contract.UnpackLog(event, "MessageRecalled", log); err != nil { return err } event.Raw = log @@ -1769,21 +1984,21 @@ func (_Bridge *BridgeFilterer) WatchMessageSent(opts *bind.WatchOpts, sink chan< }), nil } -// ParseMessageSent is a log parse operation binding the contract event 0x3406baf0dfd13f7f0ce1d077c461a35b763927e1438d49749442de2eb42148ba. +// ParseMessageRecalled is a log parse operation binding the contract event 0xc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa2. // -// Solidity: event MessageSent(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,uint256,uint256,uint256,bytes,string) message) -func (_Bridge *BridgeFilterer) ParseMessageSent(log types.Log) (*BridgeMessageSent, error) { - event := new(BridgeMessageSent) - if err := _Bridge.contract.UnpackLog(event, "MessageSent", log); err != nil { +// Solidity: event MessageRecalled(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) ParseMessageRecalled(log types.Log) (*BridgeMessageRecalled, error) { + event := new(BridgeMessageRecalled) + if err := _Bridge.contract.UnpackLog(event, "MessageRecalled", log); err != nil { return nil, err } event.Raw = log return event, nil } -// BridgeMessageStatusChangedIterator is returned from FilterMessageStatusChanged and is used to iterate over the raw logs and unpacked data for MessageStatusChanged events raised by the Bridge contract. -type BridgeMessageStatusChangedIterator struct { - Event *BridgeMessageStatusChanged // Event containing the contract specifics and raw log +// BridgeMessageReceivedIterator is returned from FilterMessageReceived and is used to iterate over the raw logs and unpacked data for MessageReceived events raised by the Bridge contract. +type BridgeMessageReceivedIterator struct { + Event *BridgeMessageReceived // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1797,7 +2012,7 @@ type BridgeMessageStatusChangedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgeMessageStatusChangedIterator) Next() bool { +func (it *BridgeMessageReceivedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1806,7 +2021,7 @@ func (it *BridgeMessageStatusChangedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgeMessageStatusChanged) + it.Event = new(BridgeMessageReceived) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1821,7 +2036,7 @@ func (it *BridgeMessageStatusChangedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgeMessageStatusChanged) + it.Event = new(BridgeMessageReceived) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1837,52 +2052,53 @@ func (it *BridgeMessageStatusChangedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgeMessageStatusChangedIterator) Error() error { +func (it *BridgeMessageReceivedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgeMessageStatusChangedIterator) Close() error { +func (it *BridgeMessageReceivedIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgeMessageStatusChanged represents a MessageStatusChanged event raised by the Bridge contract. -type BridgeMessageStatusChanged struct { - MsgHash [32]byte - Status uint8 - Raw types.Log // Blockchain specific contextual infos +// BridgeMessageReceived represents a MessageReceived event raised by the Bridge contract. +type BridgeMessageReceived struct { + MsgHash [32]byte + Message IBridgeMessage + IsRecall bool + Raw types.Log // Blockchain specific contextual infos } -// FilterMessageStatusChanged is a free log retrieval operation binding the contract event 0x6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634. +// FilterMessageReceived is a free log retrieval operation binding the contract event 0x3a7420670ebb84feae884388421d5f63bb1f9e073c54c8103e9e2ca7a98346e5. // -// Solidity: event MessageStatusChanged(bytes32 indexed msgHash, uint8 status) -func (_Bridge *BridgeFilterer) FilterMessageStatusChanged(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageStatusChangedIterator, error) { +// Solidity: event MessageReceived(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message, bool isRecall) +func (_Bridge *BridgeFilterer) FilterMessageReceived(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageReceivedIterator, error) { var msgHashRule []interface{} for _, msgHashItem := range msgHash { msgHashRule = append(msgHashRule, msgHashItem) } - logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageStatusChanged", msgHashRule) + logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageReceived", msgHashRule) if err != nil { return nil, err } - return &BridgeMessageStatusChangedIterator{contract: _Bridge.contract, event: "MessageStatusChanged", logs: logs, sub: sub}, nil + return &BridgeMessageReceivedIterator{contract: _Bridge.contract, event: "MessageReceived", logs: logs, sub: sub}, nil } -// WatchMessageStatusChanged is a free log subscription operation binding the contract event 0x6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634. +// WatchMessageReceived is a free log subscription operation binding the contract event 0x3a7420670ebb84feae884388421d5f63bb1f9e073c54c8103e9e2ca7a98346e5. // -// Solidity: event MessageStatusChanged(bytes32 indexed msgHash, uint8 status) -func (_Bridge *BridgeFilterer) WatchMessageStatusChanged(opts *bind.WatchOpts, sink chan<- *BridgeMessageStatusChanged, msgHash [][32]byte) (event.Subscription, error) { +// Solidity: event MessageReceived(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message, bool isRecall) +func (_Bridge *BridgeFilterer) WatchMessageReceived(opts *bind.WatchOpts, sink chan<- *BridgeMessageReceived, msgHash [][32]byte) (event.Subscription, error) { var msgHashRule []interface{} for _, msgHashItem := range msgHash { msgHashRule = append(msgHashRule, msgHashItem) } - logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageStatusChanged", msgHashRule) + logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageReceived", msgHashRule) if err != nil { return nil, err } @@ -1892,8 +2108,8 @@ func (_Bridge *BridgeFilterer) WatchMessageStatusChanged(opts *bind.WatchOpts, s select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgeMessageStatusChanged) - if err := _Bridge.contract.UnpackLog(event, "MessageStatusChanged", log); err != nil { + event := new(BridgeMessageReceived) + if err := _Bridge.contract.UnpackLog(event, "MessageReceived", log); err != nil { return err } event.Raw = log @@ -1914,21 +2130,21 @@ func (_Bridge *BridgeFilterer) WatchMessageStatusChanged(opts *bind.WatchOpts, s }), nil } -// ParseMessageStatusChanged is a log parse operation binding the contract event 0x6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634. +// ParseMessageReceived is a log parse operation binding the contract event 0x3a7420670ebb84feae884388421d5f63bb1f9e073c54c8103e9e2ca7a98346e5. // -// Solidity: event MessageStatusChanged(bytes32 indexed msgHash, uint8 status) -func (_Bridge *BridgeFilterer) ParseMessageStatusChanged(log types.Log) (*BridgeMessageStatusChanged, error) { - event := new(BridgeMessageStatusChanged) - if err := _Bridge.contract.UnpackLog(event, "MessageStatusChanged", log); err != nil { +// Solidity: event MessageReceived(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message, bool isRecall) +func (_Bridge *BridgeFilterer) ParseMessageReceived(log types.Log) (*BridgeMessageReceived, error) { + event := new(BridgeMessageReceived) + if err := _Bridge.contract.UnpackLog(event, "MessageReceived", log); err != nil { return nil, err } event.Raw = log return event, nil } -// BridgeOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Bridge contract. -type BridgeOwnershipTransferredIterator struct { - Event *BridgeOwnershipTransferred // Event containing the contract specifics and raw log +// BridgeMessageRetriedIterator is returned from FilterMessageRetried and is used to iterate over the raw logs and unpacked data for MessageRetried events raised by the Bridge contract. +type BridgeMessageRetriedIterator struct { + Event *BridgeMessageRetried // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1942,7 +2158,7 @@ type BridgeOwnershipTransferredIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgeOwnershipTransferredIterator) Next() bool { +func (it *BridgeMessageRetriedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1951,7 +2167,7 @@ func (it *BridgeOwnershipTransferredIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgeOwnershipTransferred) + it.Event = new(BridgeMessageRetried) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1966,7 +2182,7 @@ func (it *BridgeOwnershipTransferredIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgeOwnershipTransferred) + it.Event = new(BridgeMessageRetried) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1982,60 +2198,51 @@ func (it *BridgeOwnershipTransferredIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgeOwnershipTransferredIterator) Error() error { +func (it *BridgeMessageRetriedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgeOwnershipTransferredIterator) Close() error { +func (it *BridgeMessageRetriedIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgeOwnershipTransferred represents a OwnershipTransferred event raised by the Bridge contract. -type BridgeOwnershipTransferred struct { - PreviousOwner common.Address - NewOwner common.Address - Raw types.Log // Blockchain specific contextual infos +// BridgeMessageRetried represents a MessageRetried event raised by the Bridge contract. +type BridgeMessageRetried struct { + MsgHash [32]byte + Raw types.Log // Blockchain specific contextual infos } -// FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// FilterMessageRetried is a free log retrieval operation binding the contract event 0x72d1525c4df70aedf1877ec89702311c795a01c082917308a30fb40059da2cc7. // -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_Bridge *BridgeFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeOwnershipTransferredIterator, error) { +// Solidity: event MessageRetried(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) FilterMessageRetried(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageRetriedIterator, error) { - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) + var msgHashRule []interface{} + for _, msgHashItem := range msgHash { + msgHashRule = append(msgHashRule, msgHashItem) } - logs, sub, err := _Bridge.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) + logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageRetried", msgHashRule) if err != nil { return nil, err } - return &BridgeOwnershipTransferredIterator{contract: _Bridge.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil + return &BridgeMessageRetriedIterator{contract: _Bridge.contract, event: "MessageRetried", logs: logs, sub: sub}, nil } -// WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// WatchMessageRetried is a free log subscription operation binding the contract event 0x72d1525c4df70aedf1877ec89702311c795a01c082917308a30fb40059da2cc7. // -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_Bridge *BridgeFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { +// Solidity: event MessageRetried(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) WatchMessageRetried(opts *bind.WatchOpts, sink chan<- *BridgeMessageRetried, msgHash [][32]byte) (event.Subscription, error) { - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) + var msgHashRule []interface{} + for _, msgHashItem := range msgHash { + msgHashRule = append(msgHashRule, msgHashItem) } - logs, sub, err := _Bridge.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) + logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageRetried", msgHashRule) if err != nil { return nil, err } @@ -2045,8 +2252,8 @@ func (_Bridge *BridgeFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, s select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgeOwnershipTransferred) - if err := _Bridge.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { + event := new(BridgeMessageRetried) + if err := _Bridge.contract.UnpackLog(event, "MessageRetried", log); err != nil { return err } event.Raw = log @@ -2067,21 +2274,21 @@ func (_Bridge *BridgeFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, s }), nil } -// ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// ParseMessageRetried is a log parse operation binding the contract event 0x72d1525c4df70aedf1877ec89702311c795a01c082917308a30fb40059da2cc7. // -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_Bridge *BridgeFilterer) ParseOwnershipTransferred(log types.Log) (*BridgeOwnershipTransferred, error) { - event := new(BridgeOwnershipTransferred) - if err := _Bridge.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { +// Solidity: event MessageRetried(bytes32 indexed msgHash) +func (_Bridge *BridgeFilterer) ParseMessageRetried(log types.Log) (*BridgeMessageRetried, error) { + event := new(BridgeMessageRetried) + if err := _Bridge.contract.UnpackLog(event, "MessageRetried", log); err != nil { return nil, err } event.Raw = log return event, nil } -// BridgePausedIterator is returned from FilterPaused and is used to iterate over the raw logs and unpacked data for Paused events raised by the Bridge contract. -type BridgePausedIterator struct { - Event *BridgePaused // Event containing the contract specifics and raw log +// BridgeMessageSentIterator is returned from FilterMessageSent and is used to iterate over the raw logs and unpacked data for MessageSent events raised by the Bridge contract. +type BridgeMessageSentIterator struct { + Event *BridgeMessageSent // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2095,7 +2302,7 @@ type BridgePausedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgePausedIterator) Next() bool { +func (it *BridgeMessageSentIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2104,7 +2311,7 @@ func (it *BridgePausedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgePaused) + it.Event = new(BridgeMessageSent) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2119,7 +2326,7 @@ func (it *BridgePausedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgePaused) + it.Event = new(BridgeMessageSent) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2135,41 +2342,52 @@ func (it *BridgePausedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgePausedIterator) Error() error { +func (it *BridgeMessageSentIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgePausedIterator) Close() error { +func (it *BridgeMessageSentIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgePaused represents a Paused event raised by the Bridge contract. -type BridgePaused struct { - Account common.Address +// BridgeMessageSent represents a MessageSent event raised by the Bridge contract. +type BridgeMessageSent struct { + MsgHash [32]byte + Message IBridgeMessage Raw types.Log // Blockchain specific contextual infos } -// FilterPaused is a free log retrieval operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. +// FilterMessageSent is a free log retrieval operation binding the contract event 0x9a4c6dce9e49d66f9d79b5f213b08c30c2bcef51424e23934a80f4865e1f7039. // -// Solidity: event Paused(address account) -func (_Bridge *BridgeFilterer) FilterPaused(opts *bind.FilterOpts) (*BridgePausedIterator, error) { +// Solidity: event MessageSent(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message) +func (_Bridge *BridgeFilterer) FilterMessageSent(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageSentIterator, error) { - logs, sub, err := _Bridge.contract.FilterLogs(opts, "Paused") + var msgHashRule []interface{} + for _, msgHashItem := range msgHash { + msgHashRule = append(msgHashRule, msgHashItem) + } + + logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageSent", msgHashRule) if err != nil { return nil, err } - return &BridgePausedIterator{contract: _Bridge.contract, event: "Paused", logs: logs, sub: sub}, nil + return &BridgeMessageSentIterator{contract: _Bridge.contract, event: "MessageSent", logs: logs, sub: sub}, nil } -// WatchPaused is a free log subscription operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. +// WatchMessageSent is a free log subscription operation binding the contract event 0x9a4c6dce9e49d66f9d79b5f213b08c30c2bcef51424e23934a80f4865e1f7039. // -// Solidity: event Paused(address account) -func (_Bridge *BridgeFilterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *BridgePaused) (event.Subscription, error) { +// Solidity: event MessageSent(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message) +func (_Bridge *BridgeFilterer) WatchMessageSent(opts *bind.WatchOpts, sink chan<- *BridgeMessageSent, msgHash [][32]byte) (event.Subscription, error) { - logs, sub, err := _Bridge.contract.WatchLogs(opts, "Paused") + var msgHashRule []interface{} + for _, msgHashItem := range msgHash { + msgHashRule = append(msgHashRule, msgHashItem) + } + + logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageSent", msgHashRule) if err != nil { return nil, err } @@ -2179,8 +2397,8 @@ func (_Bridge *BridgeFilterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *Br select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgePaused) - if err := _Bridge.contract.UnpackLog(event, "Paused", log); err != nil { + event := new(BridgeMessageSent) + if err := _Bridge.contract.UnpackLog(event, "MessageSent", log); err != nil { return err } event.Raw = log @@ -2201,21 +2419,21 @@ func (_Bridge *BridgeFilterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *Br }), nil } -// ParsePaused is a log parse operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. +// ParseMessageSent is a log parse operation binding the contract event 0x9a4c6dce9e49d66f9d79b5f213b08c30c2bcef51424e23934a80f4865e1f7039. // -// Solidity: event Paused(address account) -func (_Bridge *BridgeFilterer) ParsePaused(log types.Log) (*BridgePaused, error) { - event := new(BridgePaused) - if err := _Bridge.contract.UnpackLog(event, "Paused", log); err != nil { +// Solidity: event MessageSent(bytes32 indexed msgHash, (uint128,address,uint64,uint64,address,address,address,address,uint256,uint256,uint256,bytes,string) message) +func (_Bridge *BridgeFilterer) ParseMessageSent(log types.Log) (*BridgeMessageSent, error) { + event := new(BridgeMessageSent) + if err := _Bridge.contract.UnpackLog(event, "MessageSent", log); err != nil { return nil, err } event.Raw = log return event, nil } -// BridgeSignalSentIterator is returned from FilterSignalSent and is used to iterate over the raw logs and unpacked data for SignalSent events raised by the Bridge contract. -type BridgeSignalSentIterator struct { - Event *BridgeSignalSent // Event containing the contract specifics and raw log +// BridgeMessageStatusChangedIterator is returned from FilterMessageStatusChanged and is used to iterate over the raw logs and unpacked data for MessageStatusChanged events raised by the Bridge contract. +type BridgeMessageStatusChangedIterator struct { + Event *BridgeMessageStatusChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2229,7 +2447,7 @@ type BridgeSignalSentIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *BridgeSignalSentIterator) Next() bool { +func (it *BridgeMessageStatusChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2238,7 +2456,7 @@ func (it *BridgeSignalSentIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BridgeSignalSent) + it.Event = new(BridgeMessageStatusChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2253,7 +2471,7 @@ func (it *BridgeSignalSentIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(BridgeSignalSent) + it.Event = new(BridgeMessageStatusChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2269,52 +2487,627 @@ func (it *BridgeSignalSentIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *BridgeSignalSentIterator) Error() error { +func (it *BridgeMessageStatusChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *BridgeSignalSentIterator) Close() error { +func (it *BridgeMessageStatusChangedIterator) Close() error { it.sub.Unsubscribe() return nil } -// BridgeSignalSent represents a SignalSent event raised by the Bridge contract. -type BridgeSignalSent struct { - Sender common.Address +// BridgeMessageStatusChanged represents a MessageStatusChanged event raised by the Bridge contract. +type BridgeMessageStatusChanged struct { MsgHash [32]byte + Status uint8 Raw types.Log // Blockchain specific contextual infos } -// FilterSignalSent is a free log retrieval operation binding the contract event 0xf0958489d2a32db2b0faf27a72a31fdf28f2636ca5532f1b077ddc2f51b20d1d. +// FilterMessageStatusChanged is a free log retrieval operation binding the contract event 0x6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634. // -// Solidity: event SignalSent(address indexed sender, bytes32 msgHash) -func (_Bridge *BridgeFilterer) FilterSignalSent(opts *bind.FilterOpts, sender []common.Address) (*BridgeSignalSentIterator, error) { +// Solidity: event MessageStatusChanged(bytes32 indexed msgHash, uint8 status) +func (_Bridge *BridgeFilterer) FilterMessageStatusChanged(opts *bind.FilterOpts, msgHash [][32]byte) (*BridgeMessageStatusChangedIterator, error) { - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } + var msgHashRule []interface{} + for _, msgHashItem := range msgHash { + msgHashRule = append(msgHashRule, msgHashItem) + } + + logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageStatusChanged", msgHashRule) + if err != nil { + return nil, err + } + return &BridgeMessageStatusChangedIterator{contract: _Bridge.contract, event: "MessageStatusChanged", logs: logs, sub: sub}, nil +} + +// WatchMessageStatusChanged is a free log subscription operation binding the contract event 0x6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634. +// +// Solidity: event MessageStatusChanged(bytes32 indexed msgHash, uint8 status) +func (_Bridge *BridgeFilterer) WatchMessageStatusChanged(opts *bind.WatchOpts, sink chan<- *BridgeMessageStatusChanged, msgHash [][32]byte) (event.Subscription, error) { + + var msgHashRule []interface{} + for _, msgHashItem := range msgHash { + msgHashRule = append(msgHashRule, msgHashItem) + } + + logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageStatusChanged", msgHashRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(BridgeMessageStatusChanged) + if err := _Bridge.contract.UnpackLog(event, "MessageStatusChanged", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseMessageStatusChanged is a log parse operation binding the contract event 0x6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634. +// +// Solidity: event MessageStatusChanged(bytes32 indexed msgHash, uint8 status) +func (_Bridge *BridgeFilterer) ParseMessageStatusChanged(log types.Log) (*BridgeMessageStatusChanged, error) { + event := new(BridgeMessageStatusChanged) + if err := _Bridge.contract.UnpackLog(event, "MessageStatusChanged", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// BridgeMessageSuspendedIterator is returned from FilterMessageSuspended and is used to iterate over the raw logs and unpacked data for MessageSuspended events raised by the Bridge contract. +type BridgeMessageSuspendedIterator struct { + Event *BridgeMessageSuspended // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *BridgeMessageSuspendedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(BridgeMessageSuspended) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(BridgeMessageSuspended) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *BridgeMessageSuspendedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *BridgeMessageSuspendedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// BridgeMessageSuspended represents a MessageSuspended event raised by the Bridge contract. +type BridgeMessageSuspended struct { + MsgHash [32]byte + Suspended bool + Raw types.Log // Blockchain specific contextual infos +} + +// FilterMessageSuspended is a free log retrieval operation binding the contract event 0x3d7eb9ac1cd3da1c44f39d566b6364f64e5a71bfc4dc99effcbd176c1cafdf1c. +// +// Solidity: event MessageSuspended(bytes32 msgHash, bool suspended) +func (_Bridge *BridgeFilterer) FilterMessageSuspended(opts *bind.FilterOpts) (*BridgeMessageSuspendedIterator, error) { + + logs, sub, err := _Bridge.contract.FilterLogs(opts, "MessageSuspended") + if err != nil { + return nil, err + } + return &BridgeMessageSuspendedIterator{contract: _Bridge.contract, event: "MessageSuspended", logs: logs, sub: sub}, nil +} + +// WatchMessageSuspended is a free log subscription operation binding the contract event 0x3d7eb9ac1cd3da1c44f39d566b6364f64e5a71bfc4dc99effcbd176c1cafdf1c. +// +// Solidity: event MessageSuspended(bytes32 msgHash, bool suspended) +func (_Bridge *BridgeFilterer) WatchMessageSuspended(opts *bind.WatchOpts, sink chan<- *BridgeMessageSuspended) (event.Subscription, error) { + + logs, sub, err := _Bridge.contract.WatchLogs(opts, "MessageSuspended") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(BridgeMessageSuspended) + if err := _Bridge.contract.UnpackLog(event, "MessageSuspended", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseMessageSuspended is a log parse operation binding the contract event 0x3d7eb9ac1cd3da1c44f39d566b6364f64e5a71bfc4dc99effcbd176c1cafdf1c. +// +// Solidity: event MessageSuspended(bytes32 msgHash, bool suspended) +func (_Bridge *BridgeFilterer) ParseMessageSuspended(log types.Log) (*BridgeMessageSuspended, error) { + event := new(BridgeMessageSuspended) + if err := _Bridge.contract.UnpackLog(event, "MessageSuspended", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// BridgeOwnershipTransferStartedIterator is returned from FilterOwnershipTransferStarted and is used to iterate over the raw logs and unpacked data for OwnershipTransferStarted events raised by the Bridge contract. +type BridgeOwnershipTransferStartedIterator struct { + Event *BridgeOwnershipTransferStarted // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *BridgeOwnershipTransferStartedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(BridgeOwnershipTransferStarted) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(BridgeOwnershipTransferStarted) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *BridgeOwnershipTransferStartedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *BridgeOwnershipTransferStartedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// BridgeOwnershipTransferStarted represents a OwnershipTransferStarted event raised by the Bridge contract. +type BridgeOwnershipTransferStarted struct { + PreviousOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOwnershipTransferStarted is a free log retrieval operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_Bridge *BridgeFilterer) FilterOwnershipTransferStarted(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeOwnershipTransferStartedIterator, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _Bridge.contract.FilterLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return &BridgeOwnershipTransferStartedIterator{contract: _Bridge.contract, event: "OwnershipTransferStarted", logs: logs, sub: sub}, nil +} + +// WatchOwnershipTransferStarted is a free log subscription operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_Bridge *BridgeFilterer) WatchOwnershipTransferStarted(opts *bind.WatchOpts, sink chan<- *BridgeOwnershipTransferStarted, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _Bridge.contract.WatchLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(BridgeOwnershipTransferStarted) + if err := _Bridge.contract.UnpackLog(event, "OwnershipTransferStarted", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseOwnershipTransferStarted is a log parse operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_Bridge *BridgeFilterer) ParseOwnershipTransferStarted(log types.Log) (*BridgeOwnershipTransferStarted, error) { + event := new(BridgeOwnershipTransferStarted) + if err := _Bridge.contract.UnpackLog(event, "OwnershipTransferStarted", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// BridgeOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Bridge contract. +type BridgeOwnershipTransferredIterator struct { + Event *BridgeOwnershipTransferred // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *BridgeOwnershipTransferredIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(BridgeOwnershipTransferred) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(BridgeOwnershipTransferred) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *BridgeOwnershipTransferredIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *BridgeOwnershipTransferredIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// BridgeOwnershipTransferred represents a OwnershipTransferred event raised by the Bridge contract. +type BridgeOwnershipTransferred struct { + PreviousOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_Bridge *BridgeFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeOwnershipTransferredIterator, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _Bridge.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return &BridgeOwnershipTransferredIterator{contract: _Bridge.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil +} + +// WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_Bridge *BridgeFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } - logs, sub, err := _Bridge.contract.FilterLogs(opts, "SignalSent", senderRule) + logs, sub, err := _Bridge.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } - return &BridgeSignalSentIterator{contract: _Bridge.contract, event: "SignalSent", logs: logs, sub: sub}, nil + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(BridgeOwnershipTransferred) + if err := _Bridge.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_Bridge *BridgeFilterer) ParseOwnershipTransferred(log types.Log) (*BridgeOwnershipTransferred, error) { + event := new(BridgeOwnershipTransferred) + if err := _Bridge.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// BridgePausedIterator is returned from FilterPaused and is used to iterate over the raw logs and unpacked data for Paused events raised by the Bridge contract. +type BridgePausedIterator struct { + Event *BridgePaused // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *BridgePausedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(BridgePaused) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(BridgePaused) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *BridgePausedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *BridgePausedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// BridgePaused represents a Paused event raised by the Bridge contract. +type BridgePaused struct { + Account common.Address + Raw types.Log // Blockchain specific contextual infos } -// WatchSignalSent is a free log subscription operation binding the contract event 0xf0958489d2a32db2b0faf27a72a31fdf28f2636ca5532f1b077ddc2f51b20d1d. +// FilterPaused is a free log retrieval operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. // -// Solidity: event SignalSent(address indexed sender, bytes32 msgHash) -func (_Bridge *BridgeFilterer) WatchSignalSent(opts *bind.WatchOpts, sink chan<- *BridgeSignalSent, sender []common.Address) (event.Subscription, error) { +// Solidity: event Paused(address account) +func (_Bridge *BridgeFilterer) FilterPaused(opts *bind.FilterOpts) (*BridgePausedIterator, error) { - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) + logs, sub, err := _Bridge.contract.FilterLogs(opts, "Paused") + if err != nil { + return nil, err } + return &BridgePausedIterator{contract: _Bridge.contract, event: "Paused", logs: logs, sub: sub}, nil +} + +// WatchPaused is a free log subscription operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. +// +// Solidity: event Paused(address account) +func (_Bridge *BridgeFilterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *BridgePaused) (event.Subscription, error) { - logs, sub, err := _Bridge.contract.WatchLogs(opts, "SignalSent", senderRule) + logs, sub, err := _Bridge.contract.WatchLogs(opts, "Paused") if err != nil { return nil, err } @@ -2324,8 +3117,8 @@ func (_Bridge *BridgeFilterer) WatchSignalSent(opts *bind.WatchOpts, sink chan<- select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(BridgeSignalSent) - if err := _Bridge.contract.UnpackLog(event, "SignalSent", log); err != nil { + event := new(BridgePaused) + if err := _Bridge.contract.UnpackLog(event, "Paused", log); err != nil { return err } event.Raw = log @@ -2346,12 +3139,12 @@ func (_Bridge *BridgeFilterer) WatchSignalSent(opts *bind.WatchOpts, sink chan<- }), nil } -// ParseSignalSent is a log parse operation binding the contract event 0xf0958489d2a32db2b0faf27a72a31fdf28f2636ca5532f1b077ddc2f51b20d1d. +// ParsePaused is a log parse operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. // -// Solidity: event SignalSent(address indexed sender, bytes32 msgHash) -func (_Bridge *BridgeFilterer) ParseSignalSent(log types.Log) (*BridgeSignalSent, error) { - event := new(BridgeSignalSent) - if err := _Bridge.contract.UnpackLog(event, "SignalSent", log); err != nil { +// Solidity: event Paused(address account) +func (_Bridge *BridgeFilterer) ParsePaused(log types.Log) (*BridgePaused, error) { + event := new(BridgePaused) + if err := _Bridge.contract.UnpackLog(event, "Paused", log); err != nil { return nil, err } event.Raw = log diff --git a/packages/eventindexer/contracts/taikol1/TaikoL1.go b/packages/eventindexer/contracts/taikol1/TaikoL1.go index 100a7318744..ea759d18270 100644 --- a/packages/eventindexer/contracts/taikol1/TaikoL1.go +++ b/packages/eventindexer/contracts/taikol1/TaikoL1.go @@ -29,24 +29,6 @@ var ( _ = abi.ConvertType ) -// ICrossChainSyncSnippet is an auto generated low-level Go binding around an user-defined struct. -type ICrossChainSyncSnippet struct { - RemoteBlockId uint64 - SyncedInBlock uint64 - BlockHash [32]byte - SignalRoot [32]byte -} - -// ITierProviderTier is an auto generated low-level Go binding around an user-defined struct. -type ITierProviderTier struct { - VerifierName [32]byte - ValidityBond *big.Int - ContestBond *big.Int - CooldownWindow *big.Int - ProvingWindow uint16 - MaxBlocksToVerify uint8 -} - // TaikoDataBlock is an auto generated low-level Go binding around an user-defined struct. type TaikoDataBlock struct { MetaHash [32]byte @@ -57,7 +39,6 @@ type TaikoDataBlock struct { ProposedIn uint64 NextTransitionId uint32 VerifiedTransitionId uint32 - Reserved [7][32]byte } // TaikoDataBlockMetadata is an auto generated low-level Go binding around an user-defined struct. @@ -89,6 +70,7 @@ type TaikoDataConfig struct { BlockMaxTxListBytes *big.Int BlobExpiry *big.Int BlobAllowedForDA bool + BlobReuseEnabled bool LivenessBond *big.Int EthDepositRingBufferSize *big.Int EthDepositMinCountPerBlock uint64 @@ -97,6 +79,7 @@ type TaikoDataConfig struct { EthDepositMaxAmount *big.Int EthDepositGas *big.Int EthDepositMaxFee *big.Int + BlockSyncThreshold uint8 } // TaikoDataEthDeposit is an auto generated low-level Go binding around an user-defined struct. @@ -119,13 +102,17 @@ type TaikoDataSlotB struct { NumBlocks uint64 LastVerifiedBlockId uint64 ProvingPaused bool + Reserved1 uint8 + Reserved2 uint16 + Reserved3 uint32 + LastUnpausedAt uint64 } // TaikoDataTransition is an auto generated low-level Go binding around an user-defined struct. type TaikoDataTransition struct { ParentHash [32]byte BlockHash [32]byte - SignalRoot [32]byte + StateRoot [32]byte Graffiti [32]byte } @@ -133,7 +120,7 @@ type TaikoDataTransition struct { type TaikoDataTransitionState struct { Key [32]byte BlockHash [32]byte - SignalRoot [32]byte + StateRoot [32]byte Prover common.Address ValidityBond *big.Int Contester common.Address @@ -141,12 +128,11 @@ type TaikoDataTransitionState struct { Timestamp uint64 Tier uint16 Contestations uint8 - Reserved [4][32]byte } // TaikoL1MetaData contains all meta data concerning the TaikoL1 contract. var TaikoL1MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"INVALID_PAUSE_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_CONTESTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ASSIGNED_PROVER_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOB_FOR_DA_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOB_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOB_NOT_REUSEABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_AMOUNT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_ETH_DEPOSIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PAUSE_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_TIER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_TRANSITION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_LIVENESS_BOND_NOT_RECEIVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ASSIGNED_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROPOSER_NOT_EOA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROVING_PAUSED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_RECEIVE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_TIERS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TRANSITION_ID_ZERO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TRANSITION_ID_ZERO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TRANSITION_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TXLIST_OFFSET_SIZE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TXLIST_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_UNEXPECTED_PARENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_UNEXPECTED_TRANSITION_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_UNEXPECTED_TRANSITION_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_UNEXPECTED_TRANSITION_TIER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REENTRANT_CALL\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_MANAGER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_UNEXPECTED_CHAINID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"RESOLVER_ZERO_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blobHash\",\"type\":\"bytes32\"}],\"name\":\"BlobCached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignedProver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"livenessBond\",\"type\":\"uint96\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"difficulty\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blobHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"extraData\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"uint24\",\"name\":\"txListByteOffset\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteSize\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"minTier\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"blobUsed\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"parentMetaHash\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignedProver\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"tier\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"contestations\",\"type\":\"uint8\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignedProver\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"tier\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"contestations\",\"type\":\"uint8\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"syncedInBlock\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"blockId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"CrossChainSynced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"syncedInBlock\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"blockId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"CrossChainSynced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit\",\"name\":\"deposit\",\"type\":\"tuple\"}],\"name\":\"EthDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"ProvingPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenCredited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenDebited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"graffiti\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"structTaikoData.Transition\",\"name\":\"tran\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"contestBond\",\"type\":\"uint96\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"tier\",\"type\":\"uint16\"}],\"name\":\"TransitionContested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"graffiti\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"structTaikoData.Transition\",\"name\":\"tran\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"validityBond\",\"type\":\"uint96\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"tier\",\"type\":\"uint16\"}],\"name\":\"TransitionProved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"canDepositEthToL2\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"depositEtherToL2\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"blockId\",\"type\":\"uint64\"}],\"name\":\"getBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"assignedProver\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"livenessBond\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"blockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedIn\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nextTransitionId\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"verifiedTransitionId\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[7]\",\"name\":\"__reserved\",\"type\":\"bytes32[7]\"}],\"internalType\":\"structTaikoData.Block\",\"name\":\"blk\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockMaxProposals\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockRingBufferSize\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxBlocksToVerifyPerProposal\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint24\",\"name\":\"blockMaxTxListBytes\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"blobExpiry\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"blobAllowedForDA\",\"type\":\"bool\"},{\"internalType\":\"uint96\",\"name\":\"livenessBond\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"ethDepositRingBufferSize\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"ethDepositMinCountPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"ethDepositMaxCountPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"ethDepositMinAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"ethDepositMaxAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"ethDepositGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ethDepositMaxFee\",\"type\":\"uint256\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rand\",\"type\":\"uint256\"}],\"name\":\"getMinTier\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEthDeposits\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.SlotA\",\"name\":\"a\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"provingPaused\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.SlotB\",\"name\":\"b\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"blockId\",\"type\":\"uint64\"}],\"name\":\"getSyncedSnippet\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"remoteBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"syncedInBlock\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"internalType\":\"structICrossChainSync.Snippet\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"tierId\",\"type\":\"uint16\"}],\"name\":\"getTier\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"verifierName\",\"type\":\"bytes32\"},{\"internalType\":\"uint96\",\"name\":\"validityBond\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"contestBond\",\"type\":\"uint96\"},{\"internalType\":\"uint24\",\"name\":\"cooldownWindow\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"provingWindow\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"maxBlocksToVerify\",\"type\":\"uint8\"}],\"internalType\":\"structITierProvider.Tier\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTierIds\",\"outputs\":[{\"internalType\":\"uint16[]\",\"name\":\"ids\",\"type\":\"uint16[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"blockId\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"}],\"name\":\"getTransition\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"validityBond\",\"type\":\"uint96\"},{\"internalType\":\"address\",\"name\":\"contester\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"contestBond\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint16\",\"name\":\"tier\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"contestations\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[4]\",\"name\":\"__reserved\",\"type\":\"bytes32[4]\"}],\"internalType\":\"structTaikoData.TransitionState\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"blobHash\",\"type\":\"bytes32\"}],\"name\":\"isBlobReusable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConfigValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"pause\",\"type\":\"bool\"}],\"name\":\"pauseProving\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"}],\"name\":\"proposeBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"difficulty\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blobHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"extraData\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"uint24\",\"name\":\"txListByteOffset\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteSize\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"minTier\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"blobUsed\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"parentMetaHash\",\"type\":\"bytes32\"}],\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"blockId\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEthDeposits\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.SlotA\",\"name\":\"slotA\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"provingPaused\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.SlotB\",\"name\":\"slotB\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"maxBlocksToVerify\",\"type\":\"uint64\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", + ABI: "[{\"type\":\"receive\",\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"addressManager\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"canDepositEthToL2\",\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"depositEtherToL2\",\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"getBlock\",\"inputs\":[{\"name\":\"_blockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[{\"name\":\"blk_\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.Block\",\"components\":[{\"name\":\"metaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"assignedProver\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"livenessBond\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"blockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"proposedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"proposedIn\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nextTransitionId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"verifiedTransitionId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}]},{\"name\":\"ts_\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.TransitionState\",\"components\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"prover\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"validityBond\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"contester\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"contestBond\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"tier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"contestations\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getConfig\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.Config\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"blockMaxProposals\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"blockRingBufferSize\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"maxBlocksToVerifyPerProposal\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"blockMaxGasLimit\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"blockMaxTxListBytes\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"blobExpiry\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"blobAllowedForDA\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"blobReuseEnabled\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"livenessBond\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"ethDepositRingBufferSize\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"ethDepositMinCountPerBlock\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"ethDepositMaxCountPerBlock\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"ethDepositMinAmount\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"ethDepositMaxAmount\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"ethDepositGas\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"ethDepositMaxFee\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"blockSyncThreshold\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStateVariables\",\"inputs\":[],\"outputs\":[{\"name\":\"a_\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.SlotA\",\"components\":[{\"name\":\"genesisHeight\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"genesisTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"numEthDeposits\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"b_\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.SlotB\",\"components\":[{\"name\":\"numBlocks\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"provingPaused\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"__reserved1\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"__reserved2\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"__reserved3\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"lastUnpausedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getTransition\",\"inputs\":[{\"name\":\"_blockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"_parentHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.TransitionState\",\"components\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"prover\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"validityBond\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"contester\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"contestBond\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"tier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"contestations\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"init\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_addressManager\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"isBlobReusable\",\"inputs\":[{\"name\":\"_blobHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pause\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"pauseProving\",\"inputs\":[{\"name\":\"_pause\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"paused\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"proposeBlock\",\"inputs\":[{\"name\":\"_params\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"_txList\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"meta_\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.BlockMetadata\",\"components\":[{\"name\":\"l1Hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"difficulty\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blobHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"extraData\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"depositsHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"coinbase\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"gasLimit\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"l1Height\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"txListByteOffset\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"txListByteSize\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"minTier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"blobUsed\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"parentMetaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"deposits_\",\"type\":\"tuple[]\",\"internalType\":\"structTaikoData.EthDeposit[]\",\"components\":[{\"name\":\"recipient\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"proveBlock\",\"inputs\":[{\"name\":\"_blockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"_input\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"proxiableUUID\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"resolve\",\"inputs\":[{\"name\":\"_chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"_name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_allowZeroAddress\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"addresspayable\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"resolve\",\"inputs\":[{\"name\":\"_name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_allowZeroAddress\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"addresspayable\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"state\",\"inputs\":[],\"outputs\":[{\"name\":\"slotA\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.SlotA\",\"components\":[{\"name\":\"genesisHeight\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"genesisTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"numEthDeposits\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"slotB\",\"type\":\"tuple\",\"internalType\":\"structTaikoData.SlotB\",\"components\":[{\"name\":\"numBlocks\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"provingPaused\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"__reserved1\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"__reserved2\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"__reserved3\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"lastUnpausedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"unpause\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"upgradeTo\",\"inputs\":[{\"name\":\"newImplementation\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"upgradeToAndCall\",\"inputs\":[{\"name\":\"newImplementation\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"verifyBlocks\",\"inputs\":[{\"name\":\"_maxBlocksToVerify\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"AdminChanged\",\"inputs\":[{\"name\":\"previousAdmin\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"newAdmin\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BeaconUpgraded\",\"inputs\":[{\"name\":\"beacon\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BlobCached\",\"inputs\":[{\"name\":\"blobHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BlobCached\",\"inputs\":[{\"name\":\"blobHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BlockProposed\",\"inputs\":[{\"name\":\"blockId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"},{\"name\":\"assignedProver\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"livenessBond\",\"type\":\"uint96\",\"indexed\":false,\"internalType\":\"uint96\"},{\"name\":\"meta\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"components\":[{\"name\":\"l1Hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"difficulty\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blobHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"extraData\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"depositsHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"coinbase\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"gasLimit\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"l1Height\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"txListByteOffset\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"txListByteSize\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"minTier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"blobUsed\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"parentMetaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"depositsProcessed\",\"type\":\"tuple[]\",\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit[]\",\"components\":[{\"name\":\"recipient\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BlockProposed\",\"inputs\":[{\"name\":\"blockId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"},{\"name\":\"assignedProver\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"livenessBond\",\"type\":\"uint96\",\"indexed\":false,\"internalType\":\"uint96\"},{\"name\":\"meta\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"components\":[{\"name\":\"l1Hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"difficulty\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blobHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"extraData\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"depositsHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"coinbase\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"gasLimit\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"l1Height\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"txListByteOffset\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"txListByteSize\",\"type\":\"uint24\",\"internalType\":\"uint24\"},{\"name\":\"minTier\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"blobUsed\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"parentMetaHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"depositsProcessed\",\"type\":\"tuple[]\",\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit[]\",\"components\":[{\"name\":\"recipient\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BlockVerified\",\"inputs\":[{\"name\":\"blockId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"},{\"name\":\"assignedProver\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"prover\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"blockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"tier\",\"type\":\"uint16\",\"indexed\":false,\"internalType\":\"uint16\"},{\"name\":\"contestations\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"BlockVerified\",\"inputs\":[{\"name\":\"blockId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"},{\"name\":\"assignedProver\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"prover\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"blockHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"tier\",\"type\":\"uint16\",\"indexed\":false,\"internalType\":\"uint16\"},{\"name\":\"contestations\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EthDeposited\",\"inputs\":[{\"name\":\"deposit\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit\",\"components\":[{\"name\":\"recipient\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EthDeposited\",\"inputs\":[{\"name\":\"deposit\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit\",\"components\":[{\"name\":\"recipient\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint96\",\"internalType\":\"uint96\"},{\"name\":\"id\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Paused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ProvingPaused\",\"inputs\":[{\"name\":\"paused\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"TransitionContested\",\"inputs\":[{\"name\":\"blockId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"},{\"name\":\"tran\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.Transition\",\"components\":[{\"name\":\"parentHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"graffiti\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"contester\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"contestBond\",\"type\":\"uint96\",\"indexed\":false,\"internalType\":\"uint96\"},{\"name\":\"tier\",\"type\":\"uint16\",\"indexed\":false,\"internalType\":\"uint16\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"TransitionContested\",\"inputs\":[{\"name\":\"blockId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"},{\"name\":\"tran\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.Transition\",\"components\":[{\"name\":\"parentHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"graffiti\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"contester\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"contestBond\",\"type\":\"uint96\",\"indexed\":false,\"internalType\":\"uint96\"},{\"name\":\"tier\",\"type\":\"uint16\",\"indexed\":false,\"internalType\":\"uint16\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"TransitionProved\",\"inputs\":[{\"name\":\"blockId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"},{\"name\":\"tran\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.Transition\",\"components\":[{\"name\":\"parentHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"graffiti\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"prover\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"validityBond\",\"type\":\"uint96\",\"indexed\":false,\"internalType\":\"uint96\"},{\"name\":\"tier\",\"type\":\"uint16\",\"indexed\":false,\"internalType\":\"uint16\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"TransitionProved\",\"inputs\":[{\"name\":\"blockId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"},{\"name\":\"tran\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTaikoData.Transition\",\"components\":[{\"name\":\"parentHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"blockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"graffiti\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"prover\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"validityBond\",\"type\":\"uint96\",\"indexed\":false,\"internalType\":\"uint96\"},{\"name\":\"tier\",\"type\":\"uint16\",\"indexed\":false,\"internalType\":\"uint16\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Unpaused\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Upgraded\",\"inputs\":[{\"name\":\"implementation\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"ETH_TRANSFER_FAILED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"INVALID_PAUSE_STATUS\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_ALREADY_CONTESTED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_ALREADY_CONTESTED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_ALREADY_PROVED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_ALREADY_PROVED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_ASSIGNED_PROVER_NOT_ALLOWED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_ASSIGNED_PROVER_NOT_ALLOWED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOB_FOR_DA_DISABLED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOB_FOR_DA_DISABLED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOB_NOT_FOUND\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOB_NOT_FOUND\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOB_NOT_REUSABLE\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOB_NOT_REUSABLE\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOB_REUSE_DISABLED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOB_REUSE_DISABLED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOCK_MISMATCH\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOCK_MISMATCH\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_BLOCK_MISMATCH\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_BLOCK_ID\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_BLOCK_ID\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_CONFIG\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_ETH_DEPOSIT\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_ETH_DEPOSIT\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_HOOK\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_HOOK\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_PARAM\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_PARAM\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_PAUSE_STATUS\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_PROVER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_PROVER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_TIER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_TIER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_TRANSITION\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_INVALID_TRANSITION\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_LIVENESS_BOND_NOT_RECEIVED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_LIVENESS_BOND_NOT_RECEIVED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_MISSING_VERIFIER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_MISSING_VERIFIER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_NOT_ASSIGNED_PROVER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_NOT_ASSIGNED_PROVER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_PROPOSER_NOT_EOA\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_PROPOSER_NOT_EOA\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_PROVING_PAUSED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_RECEIVE_DISABLED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TOO_MANY_BLOCKS\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TOO_MANY_BLOCKS\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TOO_MANY_TIERS\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TRANSITION_ID_ZERO\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TRANSITION_ID_ZERO\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TRANSITION_NOT_FOUND\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TXLIST_OFFSET\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TXLIST_SIZE\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_TXLIST_SIZE\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_UNAUTHORIZED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_UNAUTHORIZED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_UNEXPECTED_PARENT\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_UNEXPECTED_PARENT\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_UNEXPECTED_TRANSITION_ID\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"L1_UNEXPECTED_TRANSITION_ID\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"REENTRANT_CALL\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_DENIED\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_INVALID_MANAGER\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_UNEXPECTED_CHAINID\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RESOLVER_ZERO_ADDR\",\"inputs\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"name\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"ZERO_ADDR_MANAGER\",\"inputs\":[]}]", } // TaikoL1ABI is the input ABI used to generate the binding from. @@ -328,10 +314,10 @@ func (_TaikoL1 *TaikoL1CallerSession) AddressManager() (common.Address, error) { // CanDepositEthToL2 is a free data retrieval call binding the contract method 0xcf151d9a. // -// Solidity: function canDepositEthToL2(uint256 amount) view returns(bool) -func (_TaikoL1 *TaikoL1Caller) CanDepositEthToL2(opts *bind.CallOpts, amount *big.Int) (bool, error) { +// Solidity: function canDepositEthToL2(uint256 _amount) view returns(bool) +func (_TaikoL1 *TaikoL1Caller) CanDepositEthToL2(opts *bind.CallOpts, _amount *big.Int) (bool, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "canDepositEthToL2", amount) + err := _TaikoL1.contract.Call(opts, &out, "canDepositEthToL2", _amount) if err != nil { return *new(bool), err @@ -345,52 +331,66 @@ func (_TaikoL1 *TaikoL1Caller) CanDepositEthToL2(opts *bind.CallOpts, amount *bi // CanDepositEthToL2 is a free data retrieval call binding the contract method 0xcf151d9a. // -// Solidity: function canDepositEthToL2(uint256 amount) view returns(bool) -func (_TaikoL1 *TaikoL1Session) CanDepositEthToL2(amount *big.Int) (bool, error) { - return _TaikoL1.Contract.CanDepositEthToL2(&_TaikoL1.CallOpts, amount) +// Solidity: function canDepositEthToL2(uint256 _amount) view returns(bool) +func (_TaikoL1 *TaikoL1Session) CanDepositEthToL2(_amount *big.Int) (bool, error) { + return _TaikoL1.Contract.CanDepositEthToL2(&_TaikoL1.CallOpts, _amount) } // CanDepositEthToL2 is a free data retrieval call binding the contract method 0xcf151d9a. // -// Solidity: function canDepositEthToL2(uint256 amount) view returns(bool) -func (_TaikoL1 *TaikoL1CallerSession) CanDepositEthToL2(amount *big.Int) (bool, error) { - return _TaikoL1.Contract.CanDepositEthToL2(&_TaikoL1.CallOpts, amount) +// Solidity: function canDepositEthToL2(uint256 _amount) view returns(bool) +func (_TaikoL1 *TaikoL1CallerSession) CanDepositEthToL2(_amount *big.Int) (bool, error) { + return _TaikoL1.Contract.CanDepositEthToL2(&_TaikoL1.CallOpts, _amount) } // GetBlock is a free data retrieval call binding the contract method 0x5fa15e79. // -// Solidity: function getBlock(uint64 blockId) view returns((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32,bytes32[7]) blk) -func (_TaikoL1 *TaikoL1Caller) GetBlock(opts *bind.CallOpts, blockId uint64) (TaikoDataBlock, error) { +// Solidity: function getBlock(uint64 _blockId) view returns((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32) blk_, (bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8) ts_) +func (_TaikoL1 *TaikoL1Caller) GetBlock(opts *bind.CallOpts, _blockId uint64) (struct { + Blk TaikoDataBlock + Ts TaikoDataTransitionState +}, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getBlock", blockId) + err := _TaikoL1.contract.Call(opts, &out, "getBlock", _blockId) + outstruct := new(struct { + Blk TaikoDataBlock + Ts TaikoDataTransitionState + }) if err != nil { - return *new(TaikoDataBlock), err + return *outstruct, err } - out0 := *abi.ConvertType(out[0], new(TaikoDataBlock)).(*TaikoDataBlock) + outstruct.Blk = *abi.ConvertType(out[0], new(TaikoDataBlock)).(*TaikoDataBlock) + outstruct.Ts = *abi.ConvertType(out[1], new(TaikoDataTransitionState)).(*TaikoDataTransitionState) - return out0, err + return *outstruct, err } // GetBlock is a free data retrieval call binding the contract method 0x5fa15e79. // -// Solidity: function getBlock(uint64 blockId) view returns((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32,bytes32[7]) blk) -func (_TaikoL1 *TaikoL1Session) GetBlock(blockId uint64) (TaikoDataBlock, error) { - return _TaikoL1.Contract.GetBlock(&_TaikoL1.CallOpts, blockId) +// Solidity: function getBlock(uint64 _blockId) view returns((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32) blk_, (bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8) ts_) +func (_TaikoL1 *TaikoL1Session) GetBlock(_blockId uint64) (struct { + Blk TaikoDataBlock + Ts TaikoDataTransitionState +}, error) { + return _TaikoL1.Contract.GetBlock(&_TaikoL1.CallOpts, _blockId) } // GetBlock is a free data retrieval call binding the contract method 0x5fa15e79. // -// Solidity: function getBlock(uint64 blockId) view returns((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32,bytes32[7]) blk) -func (_TaikoL1 *TaikoL1CallerSession) GetBlock(blockId uint64) (TaikoDataBlock, error) { - return _TaikoL1.Contract.GetBlock(&_TaikoL1.CallOpts, blockId) +// Solidity: function getBlock(uint64 _blockId) view returns((bytes32,address,uint96,uint64,uint64,uint64,uint32,uint32) blk_, (bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8) ts_) +func (_TaikoL1 *TaikoL1CallerSession) GetBlock(_blockId uint64) (struct { + Blk TaikoDataBlock + Ts TaikoDataTransitionState +}, error) { + return _TaikoL1.Contract.GetBlock(&_TaikoL1.CallOpts, _blockId) } // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() view returns((uint64,uint64,uint64,uint64,uint32,uint24,uint24,bool,uint96,uint256,uint64,uint64,uint96,uint96,uint256,uint256)) +// Solidity: function getConfig() view returns((uint64,uint64,uint64,uint64,uint32,uint24,uint24,bool,bool,uint96,uint256,uint64,uint64,uint96,uint96,uint256,uint256,uint8)) func (_TaikoL1 *TaikoL1Caller) GetConfig(opts *bind.CallOpts) (TaikoDataConfig, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "getConfig") @@ -407,52 +407,21 @@ func (_TaikoL1 *TaikoL1Caller) GetConfig(opts *bind.CallOpts) (TaikoDataConfig, // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() view returns((uint64,uint64,uint64,uint64,uint32,uint24,uint24,bool,uint96,uint256,uint64,uint64,uint96,uint96,uint256,uint256)) +// Solidity: function getConfig() view returns((uint64,uint64,uint64,uint64,uint32,uint24,uint24,bool,bool,uint96,uint256,uint64,uint64,uint96,uint96,uint256,uint256,uint8)) func (_TaikoL1 *TaikoL1Session) GetConfig() (TaikoDataConfig, error) { return _TaikoL1.Contract.GetConfig(&_TaikoL1.CallOpts) } // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() view returns((uint64,uint64,uint64,uint64,uint32,uint24,uint24,bool,uint96,uint256,uint64,uint64,uint96,uint96,uint256,uint256)) +// Solidity: function getConfig() view returns((uint64,uint64,uint64,uint64,uint32,uint24,uint24,bool,bool,uint96,uint256,uint64,uint64,uint96,uint96,uint256,uint256,uint8)) func (_TaikoL1 *TaikoL1CallerSession) GetConfig() (TaikoDataConfig, error) { return _TaikoL1.Contract.GetConfig(&_TaikoL1.CallOpts) } -// GetMinTier is a free data retrieval call binding the contract method 0x59ab4e23. -// -// Solidity: function getMinTier(uint256 rand) view returns(uint16) -func (_TaikoL1 *TaikoL1Caller) GetMinTier(opts *bind.CallOpts, rand *big.Int) (uint16, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getMinTier", rand) - - if err != nil { - return *new(uint16), err - } - - out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16) - - return out0, err - -} - -// GetMinTier is a free data retrieval call binding the contract method 0x59ab4e23. -// -// Solidity: function getMinTier(uint256 rand) view returns(uint16) -func (_TaikoL1 *TaikoL1Session) GetMinTier(rand *big.Int) (uint16, error) { - return _TaikoL1.Contract.GetMinTier(&_TaikoL1.CallOpts, rand) -} - -// GetMinTier is a free data retrieval call binding the contract method 0x59ab4e23. -// -// Solidity: function getMinTier(uint256 rand) view returns(uint16) -func (_TaikoL1 *TaikoL1CallerSession) GetMinTier(rand *big.Int) (uint16, error) { - return _TaikoL1.Contract.GetMinTier(&_TaikoL1.CallOpts, rand) -} - // GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64) a, (uint64,uint64,bool) b) +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64) a_, (uint64,uint64,bool,uint8,uint16,uint32,uint64) b_) func (_TaikoL1 *TaikoL1Caller) GetStateVariables(opts *bind.CallOpts) (struct { A TaikoDataSlotA B TaikoDataSlotB @@ -477,7 +446,7 @@ func (_TaikoL1 *TaikoL1Caller) GetStateVariables(opts *bind.CallOpts) (struct { // GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64) a, (uint64,uint64,bool) b) +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64) a_, (uint64,uint64,bool,uint8,uint16,uint32,uint64) b_) func (_TaikoL1 *TaikoL1Session) GetStateVariables() (struct { A TaikoDataSlotA B TaikoDataSlotB @@ -487,7 +456,7 @@ func (_TaikoL1 *TaikoL1Session) GetStateVariables() (struct { // GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64) a, (uint64,uint64,bool) b) +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64) a_, (uint64,uint64,bool,uint8,uint16,uint32,uint64) b_) func (_TaikoL1 *TaikoL1CallerSession) GetStateVariables() (struct { A TaikoDataSlotA B TaikoDataSlotB @@ -495,105 +464,12 @@ func (_TaikoL1 *TaikoL1CallerSession) GetStateVariables() (struct { return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) } -// GetSyncedSnippet is a free data retrieval call binding the contract method 0x8cfb0459. -// -// Solidity: function getSyncedSnippet(uint64 blockId) view returns((uint64,uint64,bytes32,bytes32)) -func (_TaikoL1 *TaikoL1Caller) GetSyncedSnippet(opts *bind.CallOpts, blockId uint64) (ICrossChainSyncSnippet, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getSyncedSnippet", blockId) - - if err != nil { - return *new(ICrossChainSyncSnippet), err - } - - out0 := *abi.ConvertType(out[0], new(ICrossChainSyncSnippet)).(*ICrossChainSyncSnippet) - - return out0, err - -} - -// GetSyncedSnippet is a free data retrieval call binding the contract method 0x8cfb0459. -// -// Solidity: function getSyncedSnippet(uint64 blockId) view returns((uint64,uint64,bytes32,bytes32)) -func (_TaikoL1 *TaikoL1Session) GetSyncedSnippet(blockId uint64) (ICrossChainSyncSnippet, error) { - return _TaikoL1.Contract.GetSyncedSnippet(&_TaikoL1.CallOpts, blockId) -} - -// GetSyncedSnippet is a free data retrieval call binding the contract method 0x8cfb0459. -// -// Solidity: function getSyncedSnippet(uint64 blockId) view returns((uint64,uint64,bytes32,bytes32)) -func (_TaikoL1 *TaikoL1CallerSession) GetSyncedSnippet(blockId uint64) (ICrossChainSyncSnippet, error) { - return _TaikoL1.Contract.GetSyncedSnippet(&_TaikoL1.CallOpts, blockId) -} - -// GetTier is a free data retrieval call binding the contract method 0x576c3de7. -// -// Solidity: function getTier(uint16 tierId) view returns((bytes32,uint96,uint96,uint24,uint16,uint8)) -func (_TaikoL1 *TaikoL1Caller) GetTier(opts *bind.CallOpts, tierId uint16) (ITierProviderTier, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getTier", tierId) - - if err != nil { - return *new(ITierProviderTier), err - } - - out0 := *abi.ConvertType(out[0], new(ITierProviderTier)).(*ITierProviderTier) - - return out0, err - -} - -// GetTier is a free data retrieval call binding the contract method 0x576c3de7. -// -// Solidity: function getTier(uint16 tierId) view returns((bytes32,uint96,uint96,uint24,uint16,uint8)) -func (_TaikoL1 *TaikoL1Session) GetTier(tierId uint16) (ITierProviderTier, error) { - return _TaikoL1.Contract.GetTier(&_TaikoL1.CallOpts, tierId) -} - -// GetTier is a free data retrieval call binding the contract method 0x576c3de7. -// -// Solidity: function getTier(uint16 tierId) view returns((bytes32,uint96,uint96,uint24,uint16,uint8)) -func (_TaikoL1 *TaikoL1CallerSession) GetTier(tierId uint16) (ITierProviderTier, error) { - return _TaikoL1.Contract.GetTier(&_TaikoL1.CallOpts, tierId) -} - -// GetTierIds is a free data retrieval call binding the contract method 0xd8cde1c6. -// -// Solidity: function getTierIds() view returns(uint16[] ids) -func (_TaikoL1 *TaikoL1Caller) GetTierIds(opts *bind.CallOpts) ([]uint16, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getTierIds") - - if err != nil { - return *new([]uint16), err - } - - out0 := *abi.ConvertType(out[0], new([]uint16)).(*[]uint16) - - return out0, err - -} - -// GetTierIds is a free data retrieval call binding the contract method 0xd8cde1c6. -// -// Solidity: function getTierIds() view returns(uint16[] ids) -func (_TaikoL1 *TaikoL1Session) GetTierIds() ([]uint16, error) { - return _TaikoL1.Contract.GetTierIds(&_TaikoL1.CallOpts) -} - -// GetTierIds is a free data retrieval call binding the contract method 0xd8cde1c6. -// -// Solidity: function getTierIds() view returns(uint16[] ids) -func (_TaikoL1 *TaikoL1CallerSession) GetTierIds() ([]uint16, error) { - return _TaikoL1.Contract.GetTierIds(&_TaikoL1.CallOpts) -} - // GetTransition is a free data retrieval call binding the contract method 0xfd257e29. // -// Solidity: function getTransition(uint64 blockId, bytes32 parentHash) view returns((bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8,bytes32[4])) -func (_TaikoL1 *TaikoL1Caller) GetTransition(opts *bind.CallOpts, blockId uint64, parentHash [32]byte) (TaikoDataTransitionState, error) { +// Solidity: function getTransition(uint64 _blockId, bytes32 _parentHash) view returns((bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8)) +func (_TaikoL1 *TaikoL1Caller) GetTransition(opts *bind.CallOpts, _blockId uint64, _parentHash [32]byte) (TaikoDataTransitionState, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getTransition", blockId, parentHash) + err := _TaikoL1.contract.Call(opts, &out, "getTransition", _blockId, _parentHash) if err != nil { return *new(TaikoDataTransitionState), err @@ -607,24 +483,24 @@ func (_TaikoL1 *TaikoL1Caller) GetTransition(opts *bind.CallOpts, blockId uint64 // GetTransition is a free data retrieval call binding the contract method 0xfd257e29. // -// Solidity: function getTransition(uint64 blockId, bytes32 parentHash) view returns((bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8,bytes32[4])) -func (_TaikoL1 *TaikoL1Session) GetTransition(blockId uint64, parentHash [32]byte) (TaikoDataTransitionState, error) { - return _TaikoL1.Contract.GetTransition(&_TaikoL1.CallOpts, blockId, parentHash) +// Solidity: function getTransition(uint64 _blockId, bytes32 _parentHash) view returns((bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8)) +func (_TaikoL1 *TaikoL1Session) GetTransition(_blockId uint64, _parentHash [32]byte) (TaikoDataTransitionState, error) { + return _TaikoL1.Contract.GetTransition(&_TaikoL1.CallOpts, _blockId, _parentHash) } // GetTransition is a free data retrieval call binding the contract method 0xfd257e29. // -// Solidity: function getTransition(uint64 blockId, bytes32 parentHash) view returns((bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8,bytes32[4])) -func (_TaikoL1 *TaikoL1CallerSession) GetTransition(blockId uint64, parentHash [32]byte) (TaikoDataTransitionState, error) { - return _TaikoL1.Contract.GetTransition(&_TaikoL1.CallOpts, blockId, parentHash) +// Solidity: function getTransition(uint64 _blockId, bytes32 _parentHash) view returns((bytes32,bytes32,bytes32,address,uint96,address,uint96,uint64,uint16,uint8)) +func (_TaikoL1 *TaikoL1CallerSession) GetTransition(_blockId uint64, _parentHash [32]byte) (TaikoDataTransitionState, error) { + return _TaikoL1.Contract.GetTransition(&_TaikoL1.CallOpts, _blockId, _parentHash) } // IsBlobReusable is a free data retrieval call binding the contract method 0xb67d7638. // -// Solidity: function isBlobReusable(bytes32 blobHash) view returns(bool) -func (_TaikoL1 *TaikoL1Caller) IsBlobReusable(opts *bind.CallOpts, blobHash [32]byte) (bool, error) { +// Solidity: function isBlobReusable(bytes32 _blobHash) view returns(bool) +func (_TaikoL1 *TaikoL1Caller) IsBlobReusable(opts *bind.CallOpts, _blobHash [32]byte) (bool, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "isBlobReusable", blobHash) + err := _TaikoL1.contract.Call(opts, &out, "isBlobReusable", _blobHash) if err != nil { return *new(bool), err @@ -638,47 +514,16 @@ func (_TaikoL1 *TaikoL1Caller) IsBlobReusable(opts *bind.CallOpts, blobHash [32] // IsBlobReusable is a free data retrieval call binding the contract method 0xb67d7638. // -// Solidity: function isBlobReusable(bytes32 blobHash) view returns(bool) -func (_TaikoL1 *TaikoL1Session) IsBlobReusable(blobHash [32]byte) (bool, error) { - return _TaikoL1.Contract.IsBlobReusable(&_TaikoL1.CallOpts, blobHash) +// Solidity: function isBlobReusable(bytes32 _blobHash) view returns(bool) +func (_TaikoL1 *TaikoL1Session) IsBlobReusable(_blobHash [32]byte) (bool, error) { + return _TaikoL1.Contract.IsBlobReusable(&_TaikoL1.CallOpts, _blobHash) } // IsBlobReusable is a free data retrieval call binding the contract method 0xb67d7638. // -// Solidity: function isBlobReusable(bytes32 blobHash) view returns(bool) -func (_TaikoL1 *TaikoL1CallerSession) IsBlobReusable(blobHash [32]byte) (bool, error) { - return _TaikoL1.Contract.IsBlobReusable(&_TaikoL1.CallOpts, blobHash) -} - -// IsConfigValid is a free data retrieval call binding the contract method 0xe3f1bdc5. -// -// Solidity: function isConfigValid() view returns(bool) -func (_TaikoL1 *TaikoL1Caller) IsConfigValid(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "isConfigValid") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsConfigValid is a free data retrieval call binding the contract method 0xe3f1bdc5. -// -// Solidity: function isConfigValid() view returns(bool) -func (_TaikoL1 *TaikoL1Session) IsConfigValid() (bool, error) { - return _TaikoL1.Contract.IsConfigValid(&_TaikoL1.CallOpts) -} - -// IsConfigValid is a free data retrieval call binding the contract method 0xe3f1bdc5. -// -// Solidity: function isConfigValid() view returns(bool) -func (_TaikoL1 *TaikoL1CallerSession) IsConfigValid() (bool, error) { - return _TaikoL1.Contract.IsConfigValid(&_TaikoL1.CallOpts) +// Solidity: function isBlobReusable(bytes32 _blobHash) view returns(bool) +func (_TaikoL1 *TaikoL1CallerSession) IsBlobReusable(_blobHash [32]byte) (bool, error) { + return _TaikoL1.Contract.IsBlobReusable(&_TaikoL1.CallOpts, _blobHash) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. @@ -743,6 +588,37 @@ func (_TaikoL1 *TaikoL1CallerSession) Paused() (bool, error) { return _TaikoL1.Contract.Paused(&_TaikoL1.CallOpts) } +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_TaikoL1 *TaikoL1Caller) PendingOwner(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _TaikoL1.contract.Call(opts, &out, "pendingOwner") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_TaikoL1 *TaikoL1Session) PendingOwner() (common.Address, error) { + return _TaikoL1.Contract.PendingOwner(&_TaikoL1.CallOpts) +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_TaikoL1 *TaikoL1CallerSession) PendingOwner() (common.Address, error) { + return _TaikoL1.Contract.PendingOwner(&_TaikoL1.CallOpts) +} + // ProxiableUUID is a free data retrieval call binding the contract method 0x52d1902d. // // Solidity: function proxiableUUID() view returns(bytes32) @@ -776,10 +652,10 @@ func (_TaikoL1 *TaikoL1CallerSession) ProxiableUUID() ([32]byte, error) { // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_TaikoL1 *TaikoL1Caller) Resolve(opts *bind.CallOpts, chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_TaikoL1 *TaikoL1Caller) Resolve(opts *bind.CallOpts, _chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "resolve", chainId, name, allowZeroAddress) + err := _TaikoL1.contract.Call(opts, &out, "resolve", _chainId, _name, _allowZeroAddress) if err != nil { return *new(common.Address), err @@ -793,24 +669,24 @@ func (_TaikoL1 *TaikoL1Caller) Resolve(opts *bind.CallOpts, chainId uint64, name // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_TaikoL1 *TaikoL1Session) Resolve(chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _TaikoL1.Contract.Resolve(&_TaikoL1.CallOpts, chainId, name, allowZeroAddress) +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_TaikoL1 *TaikoL1Session) Resolve(_chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _TaikoL1.Contract.Resolve(&_TaikoL1.CallOpts, _chainId, _name, _allowZeroAddress) } // Resolve is a free data retrieval call binding the contract method 0x3eb6b8cf. // -// Solidity: function resolve(uint64 chainId, bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_TaikoL1 *TaikoL1CallerSession) Resolve(chainId uint64, name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _TaikoL1.Contract.Resolve(&_TaikoL1.CallOpts, chainId, name, allowZeroAddress) +// Solidity: function resolve(uint64 _chainId, bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_TaikoL1 *TaikoL1CallerSession) Resolve(_chainId uint64, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _TaikoL1.Contract.Resolve(&_TaikoL1.CallOpts, _chainId, _name, _allowZeroAddress) } // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_TaikoL1 *TaikoL1Caller) Resolve0(opts *bind.CallOpts, name [32]byte, allowZeroAddress bool) (common.Address, error) { +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_TaikoL1 *TaikoL1Caller) Resolve0(opts *bind.CallOpts, _name [32]byte, _allowZeroAddress bool) (common.Address, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "resolve0", name, allowZeroAddress) + err := _TaikoL1.contract.Call(opts, &out, "resolve0", _name, _allowZeroAddress) if err != nil { return *new(common.Address), err @@ -824,21 +700,21 @@ func (_TaikoL1 *TaikoL1Caller) Resolve0(opts *bind.CallOpts, name [32]byte, allo // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_TaikoL1 *TaikoL1Session) Resolve0(name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _TaikoL1.Contract.Resolve0(&_TaikoL1.CallOpts, name, allowZeroAddress) +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_TaikoL1 *TaikoL1Session) Resolve0(_name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _TaikoL1.Contract.Resolve0(&_TaikoL1.CallOpts, _name, _allowZeroAddress) } // Resolve0 is a free data retrieval call binding the contract method 0xa86f9d9e. // -// Solidity: function resolve(bytes32 name, bool allowZeroAddress) view returns(address addr) -func (_TaikoL1 *TaikoL1CallerSession) Resolve0(name [32]byte, allowZeroAddress bool) (common.Address, error) { - return _TaikoL1.Contract.Resolve0(&_TaikoL1.CallOpts, name, allowZeroAddress) +// Solidity: function resolve(bytes32 _name, bool _allowZeroAddress) view returns(address) +func (_TaikoL1 *TaikoL1CallerSession) Resolve0(_name [32]byte, _allowZeroAddress bool) (common.Address, error) { + return _TaikoL1.Contract.Resolve0(&_TaikoL1.CallOpts, _name, _allowZeroAddress) } // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns((uint64,uint64,uint64,uint64) slotA, (uint64,uint64,bool) slotB) +// Solidity: function state() view returns((uint64,uint64,uint64,uint64) slotA, (uint64,uint64,bool,uint8,uint16,uint32,uint64) slotB) func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { SlotA TaikoDataSlotA SlotB TaikoDataSlotB @@ -863,7 +739,7 @@ func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns((uint64,uint64,uint64,uint64) slotA, (uint64,uint64,bool) slotB) +// Solidity: function state() view returns((uint64,uint64,uint64,uint64) slotA, (uint64,uint64,bool,uint8,uint16,uint32,uint64) slotB) func (_TaikoL1 *TaikoL1Session) State() (struct { SlotA TaikoDataSlotA SlotB TaikoDataSlotB @@ -873,7 +749,7 @@ func (_TaikoL1 *TaikoL1Session) State() (struct { // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns((uint64,uint64,uint64,uint64) slotA, (uint64,uint64,bool) slotB) +// Solidity: function state() view returns((uint64,uint64,uint64,uint64) slotA, (uint64,uint64,bool,uint8,uint16,uint32,uint64) slotB) func (_TaikoL1 *TaikoL1CallerSession) State() (struct { SlotA TaikoDataSlotA SlotB TaikoDataSlotB @@ -881,46 +757,67 @@ func (_TaikoL1 *TaikoL1CallerSession) State() (struct { return _TaikoL1.Contract.State(&_TaikoL1.CallOpts) } +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_TaikoL1 *TaikoL1Transactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "acceptOwnership") +} + +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_TaikoL1 *TaikoL1Session) AcceptOwnership() (*types.Transaction, error) { + return _TaikoL1.Contract.AcceptOwnership(&_TaikoL1.TransactOpts) +} + +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_TaikoL1 *TaikoL1TransactorSession) AcceptOwnership() (*types.Transaction, error) { + return _TaikoL1.Contract.AcceptOwnership(&_TaikoL1.TransactOpts) +} + // DepositEtherToL2 is a paid mutator transaction binding the contract method 0x047a289d. // -// Solidity: function depositEtherToL2(address recipient) payable returns() -func (_TaikoL1 *TaikoL1Transactor) DepositEtherToL2(opts *bind.TransactOpts, recipient common.Address) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "depositEtherToL2", recipient) +// Solidity: function depositEtherToL2(address _recipient) payable returns() +func (_TaikoL1 *TaikoL1Transactor) DepositEtherToL2(opts *bind.TransactOpts, _recipient common.Address) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "depositEtherToL2", _recipient) } // DepositEtherToL2 is a paid mutator transaction binding the contract method 0x047a289d. // -// Solidity: function depositEtherToL2(address recipient) payable returns() -func (_TaikoL1 *TaikoL1Session) DepositEtherToL2(recipient common.Address) (*types.Transaction, error) { - return _TaikoL1.Contract.DepositEtherToL2(&_TaikoL1.TransactOpts, recipient) +// Solidity: function depositEtherToL2(address _recipient) payable returns() +func (_TaikoL1 *TaikoL1Session) DepositEtherToL2(_recipient common.Address) (*types.Transaction, error) { + return _TaikoL1.Contract.DepositEtherToL2(&_TaikoL1.TransactOpts, _recipient) } // DepositEtherToL2 is a paid mutator transaction binding the contract method 0x047a289d. // -// Solidity: function depositEtherToL2(address recipient) payable returns() -func (_TaikoL1 *TaikoL1TransactorSession) DepositEtherToL2(recipient common.Address) (*types.Transaction, error) { - return _TaikoL1.Contract.DepositEtherToL2(&_TaikoL1.TransactOpts, recipient) +// Solidity: function depositEtherToL2(address _recipient) payable returns() +func (_TaikoL1 *TaikoL1TransactorSession) DepositEtherToL2(_recipient common.Address) (*types.Transaction, error) { + return _TaikoL1.Contract.DepositEtherToL2(&_TaikoL1.TransactOpts, _recipient) } -// Init is a paid mutator transaction binding the contract method 0x2cc0b254. +// Init is a paid mutator transaction binding the contract method 0x347258aa. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash) returns() -func (_TaikoL1 *TaikoL1Transactor) Init(opts *bind.TransactOpts, _addressManager common.Address, _genesisBlockHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "init", _addressManager, _genesisBlockHash) +// Solidity: function init(address _owner, address _addressManager, bytes32 _genesisBlockHash) returns() +func (_TaikoL1 *TaikoL1Transactor) Init(opts *bind.TransactOpts, _owner common.Address, _addressManager common.Address, _genesisBlockHash [32]byte) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "init", _owner, _addressManager, _genesisBlockHash) } -// Init is a paid mutator transaction binding the contract method 0x2cc0b254. +// Init is a paid mutator transaction binding the contract method 0x347258aa. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash) returns() -func (_TaikoL1 *TaikoL1Session) Init(_addressManager common.Address, _genesisBlockHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash) +// Solidity: function init(address _owner, address _addressManager, bytes32 _genesisBlockHash) returns() +func (_TaikoL1 *TaikoL1Session) Init(_owner common.Address, _addressManager common.Address, _genesisBlockHash [32]byte) (*types.Transaction, error) { + return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _owner, _addressManager, _genesisBlockHash) } -// Init is a paid mutator transaction binding the contract method 0x2cc0b254. +// Init is a paid mutator transaction binding the contract method 0x347258aa. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash) returns() -func (_TaikoL1 *TaikoL1TransactorSession) Init(_addressManager common.Address, _genesisBlockHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash) +// Solidity: function init(address _owner, address _addressManager, bytes32 _genesisBlockHash) returns() +func (_TaikoL1 *TaikoL1TransactorSession) Init(_owner common.Address, _addressManager common.Address, _genesisBlockHash [32]byte) (*types.Transaction, error) { + return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _owner, _addressManager, _genesisBlockHash) } // Pause is a paid mutator transaction binding the contract method 0x8456cb59. @@ -946,65 +843,65 @@ func (_TaikoL1 *TaikoL1TransactorSession) Pause() (*types.Transaction, error) { // PauseProving is a paid mutator transaction binding the contract method 0xff00c391. // -// Solidity: function pauseProving(bool pause) returns() -func (_TaikoL1 *TaikoL1Transactor) PauseProving(opts *bind.TransactOpts, pause bool) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "pauseProving", pause) +// Solidity: function pauseProving(bool _pause) returns() +func (_TaikoL1 *TaikoL1Transactor) PauseProving(opts *bind.TransactOpts, _pause bool) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "pauseProving", _pause) } // PauseProving is a paid mutator transaction binding the contract method 0xff00c391. // -// Solidity: function pauseProving(bool pause) returns() -func (_TaikoL1 *TaikoL1Session) PauseProving(pause bool) (*types.Transaction, error) { - return _TaikoL1.Contract.PauseProving(&_TaikoL1.TransactOpts, pause) +// Solidity: function pauseProving(bool _pause) returns() +func (_TaikoL1 *TaikoL1Session) PauseProving(_pause bool) (*types.Transaction, error) { + return _TaikoL1.Contract.PauseProving(&_TaikoL1.TransactOpts, _pause) } // PauseProving is a paid mutator transaction binding the contract method 0xff00c391. // -// Solidity: function pauseProving(bool pause) returns() -func (_TaikoL1 *TaikoL1TransactorSession) PauseProving(pause bool) (*types.Transaction, error) { - return _TaikoL1.Contract.PauseProving(&_TaikoL1.TransactOpts, pause) +// Solidity: function pauseProving(bool _pause) returns() +func (_TaikoL1 *TaikoL1TransactorSession) PauseProving(_pause bool) (*types.Transaction, error) { + return _TaikoL1.Contract.PauseProving(&_TaikoL1.TransactOpts, _pause) } // ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proposeBlock(bytes params, bytes txList) payable returns((bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) -func (_TaikoL1 *TaikoL1Transactor) ProposeBlock(opts *bind.TransactOpts, params []byte, txList []byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "proposeBlock", params, txList) +// Solidity: function proposeBlock(bytes _params, bytes _txList) payable returns((bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta_, (address,uint96,uint64)[] deposits_) +func (_TaikoL1 *TaikoL1Transactor) ProposeBlock(opts *bind.TransactOpts, _params []byte, _txList []byte) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "proposeBlock", _params, _txList) } // ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proposeBlock(bytes params, bytes txList) payable returns((bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) -func (_TaikoL1 *TaikoL1Session) ProposeBlock(params []byte, txList []byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, params, txList) +// Solidity: function proposeBlock(bytes _params, bytes _txList) payable returns((bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta_, (address,uint96,uint64)[] deposits_) +func (_TaikoL1 *TaikoL1Session) ProposeBlock(_params []byte, _txList []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, _params, _txList) } // ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proposeBlock(bytes params, bytes txList) payable returns((bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) -func (_TaikoL1 *TaikoL1TransactorSession) ProposeBlock(params []byte, txList []byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, params, txList) +// Solidity: function proposeBlock(bytes _params, bytes _txList) payable returns((bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta_, (address,uint96,uint64)[] deposits_) +func (_TaikoL1 *TaikoL1TransactorSession) ProposeBlock(_params []byte, _txList []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, _params, _txList) } // ProveBlock is a paid mutator transaction binding the contract method 0x10d008bd. // -// Solidity: function proveBlock(uint64 blockId, bytes input) returns() -func (_TaikoL1 *TaikoL1Transactor) ProveBlock(opts *bind.TransactOpts, blockId uint64, input []byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "proveBlock", blockId, input) +// Solidity: function proveBlock(uint64 _blockId, bytes _input) returns() +func (_TaikoL1 *TaikoL1Transactor) ProveBlock(opts *bind.TransactOpts, _blockId uint64, _input []byte) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "proveBlock", _blockId, _input) } // ProveBlock is a paid mutator transaction binding the contract method 0x10d008bd. // -// Solidity: function proveBlock(uint64 blockId, bytes input) returns() -func (_TaikoL1 *TaikoL1Session) ProveBlock(blockId uint64, input []byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, input) +// Solidity: function proveBlock(uint64 _blockId, bytes _input) returns() +func (_TaikoL1 *TaikoL1Session) ProveBlock(_blockId uint64, _input []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, _blockId, _input) } // ProveBlock is a paid mutator transaction binding the contract method 0x10d008bd. // -// Solidity: function proveBlock(uint64 blockId, bytes input) returns() -func (_TaikoL1 *TaikoL1TransactorSession) ProveBlock(blockId uint64, input []byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, input) +// Solidity: function proveBlock(uint64 _blockId, bytes _input) returns() +func (_TaikoL1 *TaikoL1TransactorSession) ProveBlock(_blockId uint64, _input []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, _blockId, _input) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. @@ -1114,23 +1011,23 @@ func (_TaikoL1 *TaikoL1TransactorSession) UpgradeToAndCall(newImplementation com // VerifyBlocks is a paid mutator transaction binding the contract method 0x8778209d. // -// Solidity: function verifyBlocks(uint64 maxBlocksToVerify) returns() -func (_TaikoL1 *TaikoL1Transactor) VerifyBlocks(opts *bind.TransactOpts, maxBlocksToVerify uint64) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "verifyBlocks", maxBlocksToVerify) +// Solidity: function verifyBlocks(uint64 _maxBlocksToVerify) returns() +func (_TaikoL1 *TaikoL1Transactor) VerifyBlocks(opts *bind.TransactOpts, _maxBlocksToVerify uint64) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "verifyBlocks", _maxBlocksToVerify) } // VerifyBlocks is a paid mutator transaction binding the contract method 0x8778209d. // -// Solidity: function verifyBlocks(uint64 maxBlocksToVerify) returns() -func (_TaikoL1 *TaikoL1Session) VerifyBlocks(maxBlocksToVerify uint64) (*types.Transaction, error) { - return _TaikoL1.Contract.VerifyBlocks(&_TaikoL1.TransactOpts, maxBlocksToVerify) +// Solidity: function verifyBlocks(uint64 _maxBlocksToVerify) returns() +func (_TaikoL1 *TaikoL1Session) VerifyBlocks(_maxBlocksToVerify uint64) (*types.Transaction, error) { + return _TaikoL1.Contract.VerifyBlocks(&_TaikoL1.TransactOpts, _maxBlocksToVerify) } // VerifyBlocks is a paid mutator transaction binding the contract method 0x8778209d. // -// Solidity: function verifyBlocks(uint64 maxBlocksToVerify) returns() -func (_TaikoL1 *TaikoL1TransactorSession) VerifyBlocks(maxBlocksToVerify uint64) (*types.Transaction, error) { - return _TaikoL1.Contract.VerifyBlocks(&_TaikoL1.TransactOpts, maxBlocksToVerify) +// Solidity: function verifyBlocks(uint64 _maxBlocksToVerify) returns() +func (_TaikoL1 *TaikoL1TransactorSession) VerifyBlocks(_maxBlocksToVerify uint64) (*types.Transaction, error) { + return _TaikoL1.Contract.VerifyBlocks(&_TaikoL1.TransactOpts, _maxBlocksToVerify) } // Receive is a paid mutator transaction binding the contract receive function. @@ -1567,9 +1464,9 @@ func (_TaikoL1 *TaikoL1Filterer) ParseBlobCached(log types.Log) (*TaikoL1BlobCac return event, nil } -// TaikoL1BlockProposedIterator is returned from FilterBlockProposed and is used to iterate over the raw logs and unpacked data for BlockProposed events raised by the TaikoL1 contract. -type TaikoL1BlockProposedIterator struct { - Event *TaikoL1BlockProposed // Event containing the contract specifics and raw log +// TaikoL1BlobCached0Iterator is returned from FilterBlobCached0 and is used to iterate over the raw logs and unpacked data for BlobCached0 events raised by the TaikoL1 contract. +type TaikoL1BlobCached0Iterator struct { + Event *TaikoL1BlobCached0 // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1583,7 +1480,7 @@ type TaikoL1BlockProposedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1BlockProposedIterator) Next() bool { +func (it *TaikoL1BlobCached0Iterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1592,7 +1489,7 @@ func (it *TaikoL1BlockProposedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1BlockProposed) + it.Event = new(TaikoL1BlobCached0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1607,7 +1504,7 @@ func (it *TaikoL1BlockProposedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1BlockProposed) + it.Event = new(TaikoL1BlobCached0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1623,63 +1520,41 @@ func (it *TaikoL1BlockProposedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1BlockProposedIterator) Error() error { +func (it *TaikoL1BlobCached0Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1BlockProposedIterator) Close() error { +func (it *TaikoL1BlobCached0Iterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1BlockProposed represents a BlockProposed event raised by the TaikoL1 contract. -type TaikoL1BlockProposed struct { - BlockId *big.Int - AssignedProver common.Address - LivenessBond *big.Int - Meta TaikoDataBlockMetadata - DepositsProcessed []TaikoDataEthDeposit - Raw types.Log // Blockchain specific contextual infos +// TaikoL1BlobCached0 represents a BlobCached0 event raised by the TaikoL1 contract. +type TaikoL1BlobCached0 struct { + BlobHash [32]byte + Raw types.Log // Blockchain specific contextual infos } -// FilterBlockProposed is a free log retrieval operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. +// FilterBlobCached0 is a free log retrieval operation binding the contract event 0xb303828b7c63a3e480df6d8239eb7be1d4a1eb1c8878d6fa461103b94f4ce852. // -// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) -func (_TaikoL1 *TaikoL1Filterer) FilterBlockProposed(opts *bind.FilterOpts, blockId []*big.Int, assignedProver []common.Address) (*TaikoL1BlockProposedIterator, error) { - - var blockIdRule []interface{} - for _, blockIdItem := range blockId { - blockIdRule = append(blockIdRule, blockIdItem) - } - var assignedProverRule []interface{} - for _, assignedProverItem := range assignedProver { - assignedProverRule = append(assignedProverRule, assignedProverItem) - } +// Solidity: event BlobCached(bytes32 blobHash) +func (_TaikoL1 *TaikoL1Filterer) FilterBlobCached0(opts *bind.FilterOpts) (*TaikoL1BlobCached0Iterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockProposed", blockIdRule, assignedProverRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlobCached0") if err != nil { return nil, err } - return &TaikoL1BlockProposedIterator{contract: _TaikoL1.contract, event: "BlockProposed", logs: logs, sub: sub}, nil + return &TaikoL1BlobCached0Iterator{contract: _TaikoL1.contract, event: "BlobCached0", logs: logs, sub: sub}, nil } -// WatchBlockProposed is a free log subscription operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. +// WatchBlobCached0 is a free log subscription operation binding the contract event 0xb303828b7c63a3e480df6d8239eb7be1d4a1eb1c8878d6fa461103b94f4ce852. // -// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) -func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockProposed, blockId []*big.Int, assignedProver []common.Address) (event.Subscription, error) { - - var blockIdRule []interface{} - for _, blockIdItem := range blockId { - blockIdRule = append(blockIdRule, blockIdItem) - } - var assignedProverRule []interface{} - for _, assignedProverItem := range assignedProver { - assignedProverRule = append(assignedProverRule, assignedProverItem) - } +// Solidity: event BlobCached(bytes32 blobHash) +func (_TaikoL1 *TaikoL1Filterer) WatchBlobCached0(opts *bind.WatchOpts, sink chan<- *TaikoL1BlobCached0) (event.Subscription, error) { - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockProposed", blockIdRule, assignedProverRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlobCached0") if err != nil { return nil, err } @@ -1689,8 +1564,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed(opts *bind.WatchOpts, sink c select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1BlockProposed) - if err := _TaikoL1.contract.UnpackLog(event, "BlockProposed", log); err != nil { + event := new(TaikoL1BlobCached0) + if err := _TaikoL1.contract.UnpackLog(event, "BlobCached0", log); err != nil { return err } event.Raw = log @@ -1711,21 +1586,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed(opts *bind.WatchOpts, sink c }), nil } -// ParseBlockProposed is a log parse operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. +// ParseBlobCached0 is a log parse operation binding the contract event 0xb303828b7c63a3e480df6d8239eb7be1d4a1eb1c8878d6fa461103b94f4ce852. // -// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) -func (_TaikoL1 *TaikoL1Filterer) ParseBlockProposed(log types.Log) (*TaikoL1BlockProposed, error) { - event := new(TaikoL1BlockProposed) - if err := _TaikoL1.contract.UnpackLog(event, "BlockProposed", log); err != nil { +// Solidity: event BlobCached(bytes32 blobHash) +func (_TaikoL1 *TaikoL1Filterer) ParseBlobCached0(log types.Log) (*TaikoL1BlobCached0, error) { + event := new(TaikoL1BlobCached0) + if err := _TaikoL1.contract.UnpackLog(event, "BlobCached0", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1BlockVerifiedIterator is returned from FilterBlockVerified and is used to iterate over the raw logs and unpacked data for BlockVerified events raised by the TaikoL1 contract. -type TaikoL1BlockVerifiedIterator struct { - Event *TaikoL1BlockVerified // Event containing the contract specifics and raw log +// TaikoL1BlockProposedIterator is returned from FilterBlockProposed and is used to iterate over the raw logs and unpacked data for BlockProposed events raised by the TaikoL1 contract. +type TaikoL1BlockProposedIterator struct { + Event *TaikoL1BlockProposed // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1739,7 +1614,7 @@ type TaikoL1BlockVerifiedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1BlockVerifiedIterator) Next() bool { +func (it *TaikoL1BlockProposedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1748,7 +1623,7 @@ func (it *TaikoL1BlockVerifiedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1BlockVerified) + it.Event = new(TaikoL1BlockProposed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1763,7 +1638,7 @@ func (it *TaikoL1BlockVerifiedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1BlockVerified) + it.Event = new(TaikoL1BlockProposed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1779,33 +1654,31 @@ func (it *TaikoL1BlockVerifiedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1BlockVerifiedIterator) Error() error { +func (it *TaikoL1BlockProposedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1BlockVerifiedIterator) Close() error { +func (it *TaikoL1BlockProposedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1BlockVerified represents a BlockVerified event raised by the TaikoL1 contract. -type TaikoL1BlockVerified struct { - BlockId *big.Int - AssignedProver common.Address - Prover common.Address - BlockHash [32]byte - SignalRoot [32]byte - Tier uint16 - Contestations uint8 - Raw types.Log // Blockchain specific contextual infos +// TaikoL1BlockProposed represents a BlockProposed event raised by the TaikoL1 contract. +type TaikoL1BlockProposed struct { + BlockId *big.Int + AssignedProver common.Address + LivenessBond *big.Int + Meta TaikoDataBlockMetadata + DepositsProcessed []TaikoDataEthDeposit + Raw types.Log // Blockchain specific contextual infos } -// FilterBlockVerified is a free log retrieval operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. +// FilterBlockProposed is a free log retrieval operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. // -// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 signalRoot, uint16 tier, uint8 contestations) -func (_TaikoL1 *TaikoL1Filterer) FilterBlockVerified(opts *bind.FilterOpts, blockId []*big.Int, assignedProver []common.Address, prover []common.Address) (*TaikoL1BlockVerifiedIterator, error) { +// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) +func (_TaikoL1 *TaikoL1Filterer) FilterBlockProposed(opts *bind.FilterOpts, blockId []*big.Int, assignedProver []common.Address) (*TaikoL1BlockProposedIterator, error) { var blockIdRule []interface{} for _, blockIdItem := range blockId { @@ -1815,22 +1688,18 @@ func (_TaikoL1 *TaikoL1Filterer) FilterBlockVerified(opts *bind.FilterOpts, bloc for _, assignedProverItem := range assignedProver { assignedProverRule = append(assignedProverRule, assignedProverItem) } - var proverRule []interface{} - for _, proverItem := range prover { - proverRule = append(proverRule, proverItem) - } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockVerified", blockIdRule, assignedProverRule, proverRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockProposed", blockIdRule, assignedProverRule) if err != nil { return nil, err } - return &TaikoL1BlockVerifiedIterator{contract: _TaikoL1.contract, event: "BlockVerified", logs: logs, sub: sub}, nil + return &TaikoL1BlockProposedIterator{contract: _TaikoL1.contract, event: "BlockProposed", logs: logs, sub: sub}, nil } -// WatchBlockVerified is a free log subscription operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. +// WatchBlockProposed is a free log subscription operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. // -// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 signalRoot, uint16 tier, uint8 contestations) -func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockVerified, blockId []*big.Int, assignedProver []common.Address, prover []common.Address) (event.Subscription, error) { +// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) +func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockProposed, blockId []*big.Int, assignedProver []common.Address) (event.Subscription, error) { var blockIdRule []interface{} for _, blockIdItem := range blockId { @@ -1840,12 +1709,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified(opts *bind.WatchOpts, sink c for _, assignedProverItem := range assignedProver { assignedProverRule = append(assignedProverRule, assignedProverItem) } - var proverRule []interface{} - for _, proverItem := range prover { - proverRule = append(proverRule, proverItem) - } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockVerified", blockIdRule, assignedProverRule, proverRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockProposed", blockIdRule, assignedProverRule) if err != nil { return nil, err } @@ -1855,8 +1720,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified(opts *bind.WatchOpts, sink c select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1BlockVerified) - if err := _TaikoL1.contract.UnpackLog(event, "BlockVerified", log); err != nil { + event := new(TaikoL1BlockProposed) + if err := _TaikoL1.contract.UnpackLog(event, "BlockProposed", log); err != nil { return err } event.Raw = log @@ -1877,21 +1742,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified(opts *bind.WatchOpts, sink c }), nil } -// ParseBlockVerified is a log parse operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. +// ParseBlockProposed is a log parse operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. // -// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 signalRoot, uint16 tier, uint8 contestations) -func (_TaikoL1 *TaikoL1Filterer) ParseBlockVerified(log types.Log) (*TaikoL1BlockVerified, error) { - event := new(TaikoL1BlockVerified) - if err := _TaikoL1.contract.UnpackLog(event, "BlockVerified", log); err != nil { +// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) +func (_TaikoL1 *TaikoL1Filterer) ParseBlockProposed(log types.Log) (*TaikoL1BlockProposed, error) { + event := new(TaikoL1BlockProposed) + if err := _TaikoL1.contract.UnpackLog(event, "BlockProposed", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1BlockVerified0Iterator is returned from FilterBlockVerified0 and is used to iterate over the raw logs and unpacked data for BlockVerified0 events raised by the TaikoL1 contract. -type TaikoL1BlockVerified0Iterator struct { - Event *TaikoL1BlockVerified0 // Event containing the contract specifics and raw log +// TaikoL1BlockProposed0Iterator is returned from FilterBlockProposed0 and is used to iterate over the raw logs and unpacked data for BlockProposed0 events raised by the TaikoL1 contract. +type TaikoL1BlockProposed0Iterator struct { + Event *TaikoL1BlockProposed0 // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1905,7 +1770,7 @@ type TaikoL1BlockVerified0Iterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1BlockVerified0Iterator) Next() bool { +func (it *TaikoL1BlockProposed0Iterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1914,7 +1779,7 @@ func (it *TaikoL1BlockVerified0Iterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1BlockVerified0) + it.Event = new(TaikoL1BlockProposed0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1929,7 +1794,7 @@ func (it *TaikoL1BlockVerified0Iterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1BlockVerified0) + it.Event = new(TaikoL1BlockProposed0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1945,33 +1810,31 @@ func (it *TaikoL1BlockVerified0Iterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1BlockVerified0Iterator) Error() error { +func (it *TaikoL1BlockProposed0Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1BlockVerified0Iterator) Close() error { +func (it *TaikoL1BlockProposed0Iterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1BlockVerified0 represents a BlockVerified0 event raised by the TaikoL1 contract. -type TaikoL1BlockVerified0 struct { - BlockId *big.Int - AssignedProver common.Address - Prover common.Address - BlockHash [32]byte - SignalRoot [32]byte - Tier uint16 - Contestations uint8 - Raw types.Log // Blockchain specific contextual infos +// TaikoL1BlockProposed0 represents a BlockProposed0 event raised by the TaikoL1 contract. +type TaikoL1BlockProposed0 struct { + BlockId *big.Int + AssignedProver common.Address + LivenessBond *big.Int + Meta TaikoDataBlockMetadata + DepositsProcessed []TaikoDataEthDeposit + Raw types.Log // Blockchain specific contextual infos } -// FilterBlockVerified0 is a free log retrieval operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. +// FilterBlockProposed0 is a free log retrieval operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. // -// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 signalRoot, uint16 tier, uint8 contestations) -func (_TaikoL1 *TaikoL1Filterer) FilterBlockVerified0(opts *bind.FilterOpts, blockId []*big.Int, assignedProver []common.Address, prover []common.Address) (*TaikoL1BlockVerified0Iterator, error) { +// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) +func (_TaikoL1 *TaikoL1Filterer) FilterBlockProposed0(opts *bind.FilterOpts, blockId []*big.Int, assignedProver []common.Address) (*TaikoL1BlockProposed0Iterator, error) { var blockIdRule []interface{} for _, blockIdItem := range blockId { @@ -1981,22 +1844,18 @@ func (_TaikoL1 *TaikoL1Filterer) FilterBlockVerified0(opts *bind.FilterOpts, blo for _, assignedProverItem := range assignedProver { assignedProverRule = append(assignedProverRule, assignedProverItem) } - var proverRule []interface{} - for _, proverItem := range prover { - proverRule = append(proverRule, proverItem) - } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockVerified0", blockIdRule, assignedProverRule, proverRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockProposed0", blockIdRule, assignedProverRule) if err != nil { return nil, err } - return &TaikoL1BlockVerified0Iterator{contract: _TaikoL1.contract, event: "BlockVerified0", logs: logs, sub: sub}, nil + return &TaikoL1BlockProposed0Iterator{contract: _TaikoL1.contract, event: "BlockProposed0", logs: logs, sub: sub}, nil } -// WatchBlockVerified0 is a free log subscription operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. +// WatchBlockProposed0 is a free log subscription operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. // -// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 signalRoot, uint16 tier, uint8 contestations) -func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified0(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockVerified0, blockId []*big.Int, assignedProver []common.Address, prover []common.Address) (event.Subscription, error) { +// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) +func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed0(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockProposed0, blockId []*big.Int, assignedProver []common.Address) (event.Subscription, error) { var blockIdRule []interface{} for _, blockIdItem := range blockId { @@ -2006,12 +1865,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified0(opts *bind.WatchOpts, sink for _, assignedProverItem := range assignedProver { assignedProverRule = append(assignedProverRule, assignedProverItem) } - var proverRule []interface{} - for _, proverItem := range prover { - proverRule = append(proverRule, proverItem) - } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockVerified0", blockIdRule, assignedProverRule, proverRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockProposed0", blockIdRule, assignedProverRule) if err != nil { return nil, err } @@ -2021,8 +1876,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified0(opts *bind.WatchOpts, sink select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1BlockVerified0) - if err := _TaikoL1.contract.UnpackLog(event, "BlockVerified0", log); err != nil { + event := new(TaikoL1BlockProposed0) + if err := _TaikoL1.contract.UnpackLog(event, "BlockProposed0", log); err != nil { return err } event.Raw = log @@ -2043,21 +1898,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified0(opts *bind.WatchOpts, sink }), nil } -// ParseBlockVerified0 is a log parse operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. +// ParseBlockProposed0 is a log parse operation binding the contract event 0xa62cea5af360b010ef0d23472a2a7493b54175fd9fd2f9c2aa2bb427d2f4d3ca. // -// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 signalRoot, uint16 tier, uint8 contestations) -func (_TaikoL1 *TaikoL1Filterer) ParseBlockVerified0(log types.Log) (*TaikoL1BlockVerified0, error) { - event := new(TaikoL1BlockVerified0) - if err := _TaikoL1.contract.UnpackLog(event, "BlockVerified0", log); err != nil { +// Solidity: event BlockProposed(uint256 indexed blockId, address indexed assignedProver, uint96 livenessBond, (bytes32,bytes32,bytes32,bytes32,bytes32,address,uint64,uint32,uint64,uint64,uint24,uint24,uint16,bool,bytes32) meta, (address,uint96,uint64)[] depositsProcessed) +func (_TaikoL1 *TaikoL1Filterer) ParseBlockProposed0(log types.Log) (*TaikoL1BlockProposed0, error) { + event := new(TaikoL1BlockProposed0) + if err := _TaikoL1.contract.UnpackLog(event, "BlockProposed0", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1CrossChainSyncedIterator is returned from FilterCrossChainSynced and is used to iterate over the raw logs and unpacked data for CrossChainSynced events raised by the TaikoL1 contract. -type TaikoL1CrossChainSyncedIterator struct { - Event *TaikoL1CrossChainSynced // Event containing the contract specifics and raw log +// TaikoL1BlockVerifiedIterator is returned from FilterBlockVerified and is used to iterate over the raw logs and unpacked data for BlockVerified events raised by the TaikoL1 contract. +type TaikoL1BlockVerifiedIterator struct { + Event *TaikoL1BlockVerified // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2071,7 +1926,7 @@ type TaikoL1CrossChainSyncedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1CrossChainSyncedIterator) Next() bool { +func (it *TaikoL1BlockVerifiedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2080,7 +1935,7 @@ func (it *TaikoL1CrossChainSyncedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1CrossChainSynced) + it.Event = new(TaikoL1BlockVerified) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2095,7 +1950,7 @@ func (it *TaikoL1CrossChainSyncedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1CrossChainSynced) + it.Event = new(TaikoL1BlockVerified) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2111,62 +1966,73 @@ func (it *TaikoL1CrossChainSyncedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1CrossChainSyncedIterator) Error() error { +func (it *TaikoL1BlockVerifiedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1CrossChainSyncedIterator) Close() error { +func (it *TaikoL1BlockVerifiedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1CrossChainSynced represents a CrossChainSynced event raised by the TaikoL1 contract. -type TaikoL1CrossChainSynced struct { - SyncedInBlock uint64 - BlockId uint64 - BlockHash [32]byte - SignalRoot [32]byte - Raw types.Log // Blockchain specific contextual infos +// TaikoL1BlockVerified represents a BlockVerified event raised by the TaikoL1 contract. +type TaikoL1BlockVerified struct { + BlockId *big.Int + AssignedProver common.Address + Prover common.Address + BlockHash [32]byte + StateRoot [32]byte + Tier uint16 + Contestations uint8 + Raw types.Log // Blockchain specific contextual infos } -// FilterCrossChainSynced is a free log retrieval operation binding the contract event 0xf35ec3b262cf74881db1b8051c635496bccb1497a1e776dacb463d0e0e2b0f51. +// FilterBlockVerified is a free log retrieval operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. // -// Solidity: event CrossChainSynced(uint64 indexed syncedInBlock, uint64 indexed blockId, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) FilterCrossChainSynced(opts *bind.FilterOpts, syncedInBlock []uint64, blockId []uint64) (*TaikoL1CrossChainSyncedIterator, error) { +// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 stateRoot, uint16 tier, uint8 contestations) +func (_TaikoL1 *TaikoL1Filterer) FilterBlockVerified(opts *bind.FilterOpts, blockId []*big.Int, assignedProver []common.Address, prover []common.Address) (*TaikoL1BlockVerifiedIterator, error) { - var syncedInBlockRule []interface{} - for _, syncedInBlockItem := range syncedInBlock { - syncedInBlockRule = append(syncedInBlockRule, syncedInBlockItem) - } var blockIdRule []interface{} for _, blockIdItem := range blockId { blockIdRule = append(blockIdRule, blockIdItem) } + var assignedProverRule []interface{} + for _, assignedProverItem := range assignedProver { + assignedProverRule = append(assignedProverRule, assignedProverItem) + } + var proverRule []interface{} + for _, proverItem := range prover { + proverRule = append(proverRule, proverItem) + } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "CrossChainSynced", syncedInBlockRule, blockIdRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockVerified", blockIdRule, assignedProverRule, proverRule) if err != nil { return nil, err } - return &TaikoL1CrossChainSyncedIterator{contract: _TaikoL1.contract, event: "CrossChainSynced", logs: logs, sub: sub}, nil + return &TaikoL1BlockVerifiedIterator{contract: _TaikoL1.contract, event: "BlockVerified", logs: logs, sub: sub}, nil } -// WatchCrossChainSynced is a free log subscription operation binding the contract event 0xf35ec3b262cf74881db1b8051c635496bccb1497a1e776dacb463d0e0e2b0f51. +// WatchBlockVerified is a free log subscription operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. // -// Solidity: event CrossChainSynced(uint64 indexed syncedInBlock, uint64 indexed blockId, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) WatchCrossChainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1CrossChainSynced, syncedInBlock []uint64, blockId []uint64) (event.Subscription, error) { +// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 stateRoot, uint16 tier, uint8 contestations) +func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockVerified, blockId []*big.Int, assignedProver []common.Address, prover []common.Address) (event.Subscription, error) { - var syncedInBlockRule []interface{} - for _, syncedInBlockItem := range syncedInBlock { - syncedInBlockRule = append(syncedInBlockRule, syncedInBlockItem) - } var blockIdRule []interface{} for _, blockIdItem := range blockId { blockIdRule = append(blockIdRule, blockIdItem) } + var assignedProverRule []interface{} + for _, assignedProverItem := range assignedProver { + assignedProverRule = append(assignedProverRule, assignedProverItem) + } + var proverRule []interface{} + for _, proverItem := range prover { + proverRule = append(proverRule, proverItem) + } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "CrossChainSynced", syncedInBlockRule, blockIdRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockVerified", blockIdRule, assignedProverRule, proverRule) if err != nil { return nil, err } @@ -2176,8 +2042,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchCrossChainSynced(opts *bind.WatchOpts, sin select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1CrossChainSynced) - if err := _TaikoL1.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { + event := new(TaikoL1BlockVerified) + if err := _TaikoL1.contract.UnpackLog(event, "BlockVerified", log); err != nil { return err } event.Raw = log @@ -2198,21 +2064,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchCrossChainSynced(opts *bind.WatchOpts, sin }), nil } -// ParseCrossChainSynced is a log parse operation binding the contract event 0xf35ec3b262cf74881db1b8051c635496bccb1497a1e776dacb463d0e0e2b0f51. +// ParseBlockVerified is a log parse operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. // -// Solidity: event CrossChainSynced(uint64 indexed syncedInBlock, uint64 indexed blockId, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) ParseCrossChainSynced(log types.Log) (*TaikoL1CrossChainSynced, error) { - event := new(TaikoL1CrossChainSynced) - if err := _TaikoL1.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { +// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 stateRoot, uint16 tier, uint8 contestations) +func (_TaikoL1 *TaikoL1Filterer) ParseBlockVerified(log types.Log) (*TaikoL1BlockVerified, error) { + event := new(TaikoL1BlockVerified) + if err := _TaikoL1.contract.UnpackLog(event, "BlockVerified", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1CrossChainSynced0Iterator is returned from FilterCrossChainSynced0 and is used to iterate over the raw logs and unpacked data for CrossChainSynced0 events raised by the TaikoL1 contract. -type TaikoL1CrossChainSynced0Iterator struct { - Event *TaikoL1CrossChainSynced0 // Event containing the contract specifics and raw log +// TaikoL1BlockVerified0Iterator is returned from FilterBlockVerified0 and is used to iterate over the raw logs and unpacked data for BlockVerified0 events raised by the TaikoL1 contract. +type TaikoL1BlockVerified0Iterator struct { + Event *TaikoL1BlockVerified0 // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2226,7 +2092,7 @@ type TaikoL1CrossChainSynced0Iterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1CrossChainSynced0Iterator) Next() bool { +func (it *TaikoL1BlockVerified0Iterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2235,7 +2101,7 @@ func (it *TaikoL1CrossChainSynced0Iterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1CrossChainSynced0) + it.Event = new(TaikoL1BlockVerified0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2250,7 +2116,7 @@ func (it *TaikoL1CrossChainSynced0Iterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1CrossChainSynced0) + it.Event = new(TaikoL1BlockVerified0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2266,62 +2132,73 @@ func (it *TaikoL1CrossChainSynced0Iterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1CrossChainSynced0Iterator) Error() error { +func (it *TaikoL1BlockVerified0Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1CrossChainSynced0Iterator) Close() error { +func (it *TaikoL1BlockVerified0Iterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1CrossChainSynced0 represents a CrossChainSynced0 event raised by the TaikoL1 contract. -type TaikoL1CrossChainSynced0 struct { - SyncedInBlock uint64 - BlockId uint64 - BlockHash [32]byte - SignalRoot [32]byte - Raw types.Log // Blockchain specific contextual infos +// TaikoL1BlockVerified0 represents a BlockVerified0 event raised by the TaikoL1 contract. +type TaikoL1BlockVerified0 struct { + BlockId *big.Int + AssignedProver common.Address + Prover common.Address + BlockHash [32]byte + StateRoot [32]byte + Tier uint16 + Contestations uint8 + Raw types.Log // Blockchain specific contextual infos } -// FilterCrossChainSynced0 is a free log retrieval operation binding the contract event 0xf35ec3b262cf74881db1b8051c635496bccb1497a1e776dacb463d0e0e2b0f51. +// FilterBlockVerified0 is a free log retrieval operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. // -// Solidity: event CrossChainSynced(uint64 indexed syncedInBlock, uint64 indexed blockId, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) FilterCrossChainSynced0(opts *bind.FilterOpts, syncedInBlock []uint64, blockId []uint64) (*TaikoL1CrossChainSynced0Iterator, error) { +// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 stateRoot, uint16 tier, uint8 contestations) +func (_TaikoL1 *TaikoL1Filterer) FilterBlockVerified0(opts *bind.FilterOpts, blockId []*big.Int, assignedProver []common.Address, prover []common.Address) (*TaikoL1BlockVerified0Iterator, error) { - var syncedInBlockRule []interface{} - for _, syncedInBlockItem := range syncedInBlock { - syncedInBlockRule = append(syncedInBlockRule, syncedInBlockItem) - } var blockIdRule []interface{} for _, blockIdItem := range blockId { blockIdRule = append(blockIdRule, blockIdItem) } + var assignedProverRule []interface{} + for _, assignedProverItem := range assignedProver { + assignedProverRule = append(assignedProverRule, assignedProverItem) + } + var proverRule []interface{} + for _, proverItem := range prover { + proverRule = append(proverRule, proverItem) + } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "CrossChainSynced0", syncedInBlockRule, blockIdRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockVerified0", blockIdRule, assignedProverRule, proverRule) if err != nil { return nil, err } - return &TaikoL1CrossChainSynced0Iterator{contract: _TaikoL1.contract, event: "CrossChainSynced0", logs: logs, sub: sub}, nil + return &TaikoL1BlockVerified0Iterator{contract: _TaikoL1.contract, event: "BlockVerified0", logs: logs, sub: sub}, nil } -// WatchCrossChainSynced0 is a free log subscription operation binding the contract event 0xf35ec3b262cf74881db1b8051c635496bccb1497a1e776dacb463d0e0e2b0f51. +// WatchBlockVerified0 is a free log subscription operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. // -// Solidity: event CrossChainSynced(uint64 indexed syncedInBlock, uint64 indexed blockId, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) WatchCrossChainSynced0(opts *bind.WatchOpts, sink chan<- *TaikoL1CrossChainSynced0, syncedInBlock []uint64, blockId []uint64) (event.Subscription, error) { +// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 stateRoot, uint16 tier, uint8 contestations) +func (_TaikoL1 *TaikoL1Filterer) WatchBlockVerified0(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockVerified0, blockId []*big.Int, assignedProver []common.Address, prover []common.Address) (event.Subscription, error) { - var syncedInBlockRule []interface{} - for _, syncedInBlockItem := range syncedInBlock { - syncedInBlockRule = append(syncedInBlockRule, syncedInBlockItem) - } var blockIdRule []interface{} for _, blockIdItem := range blockId { blockIdRule = append(blockIdRule, blockIdItem) } + var assignedProverRule []interface{} + for _, assignedProverItem := range assignedProver { + assignedProverRule = append(assignedProverRule, assignedProverItem) + } + var proverRule []interface{} + for _, proverItem := range prover { + proverRule = append(proverRule, proverItem) + } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "CrossChainSynced0", syncedInBlockRule, blockIdRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockVerified0", blockIdRule, assignedProverRule, proverRule) if err != nil { return nil, err } @@ -2331,8 +2208,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchCrossChainSynced0(opts *bind.WatchOpts, si select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1CrossChainSynced0) - if err := _TaikoL1.contract.UnpackLog(event, "CrossChainSynced0", log); err != nil { + event := new(TaikoL1BlockVerified0) + if err := _TaikoL1.contract.UnpackLog(event, "BlockVerified0", log); err != nil { return err } event.Raw = log @@ -2353,12 +2230,12 @@ func (_TaikoL1 *TaikoL1Filterer) WatchCrossChainSynced0(opts *bind.WatchOpts, si }), nil } -// ParseCrossChainSynced0 is a log parse operation binding the contract event 0xf35ec3b262cf74881db1b8051c635496bccb1497a1e776dacb463d0e0e2b0f51. +// ParseBlockVerified0 is a log parse operation binding the contract event 0xaeba6e73abba9419294b1017075cf8dc2e7de6f2d7fd3b336b3ba882a2acfca5. // -// Solidity: event CrossChainSynced(uint64 indexed syncedInBlock, uint64 indexed blockId, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) ParseCrossChainSynced0(log types.Log) (*TaikoL1CrossChainSynced0, error) { - event := new(TaikoL1CrossChainSynced0) - if err := _TaikoL1.contract.UnpackLog(event, "CrossChainSynced0", log); err != nil { +// Solidity: event BlockVerified(uint256 indexed blockId, address indexed assignedProver, address indexed prover, bytes32 blockHash, bytes32 stateRoot, uint16 tier, uint8 contestations) +func (_TaikoL1 *TaikoL1Filterer) ParseBlockVerified0(log types.Log) (*TaikoL1BlockVerified0, error) { + event := new(TaikoL1BlockVerified0) + if err := _TaikoL1.contract.UnpackLog(event, "BlockVerified0", log); err != nil { return nil, err } event.Raw = log @@ -2499,9 +2376,9 @@ func (_TaikoL1 *TaikoL1Filterer) ParseEthDeposited(log types.Log) (*TaikoL1EthDe return event, nil } -// TaikoL1InitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the TaikoL1 contract. -type TaikoL1InitializedIterator struct { - Event *TaikoL1Initialized // Event containing the contract specifics and raw log +// TaikoL1EthDeposited0Iterator is returned from FilterEthDeposited0 and is used to iterate over the raw logs and unpacked data for EthDeposited0 events raised by the TaikoL1 contract. +type TaikoL1EthDeposited0Iterator struct { + Event *TaikoL1EthDeposited0 // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2515,7 +2392,7 @@ type TaikoL1InitializedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1InitializedIterator) Next() bool { +func (it *TaikoL1EthDeposited0Iterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2524,7 +2401,7 @@ func (it *TaikoL1InitializedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1Initialized) + it.Event = new(TaikoL1EthDeposited0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2539,7 +2416,7 @@ func (it *TaikoL1InitializedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1Initialized) + it.Event = new(TaikoL1EthDeposited0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2555,41 +2432,41 @@ func (it *TaikoL1InitializedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1InitializedIterator) Error() error { +func (it *TaikoL1EthDeposited0Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1InitializedIterator) Close() error { +func (it *TaikoL1EthDeposited0Iterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1Initialized represents a Initialized event raised by the TaikoL1 contract. -type TaikoL1Initialized struct { - Version uint8 +// TaikoL1EthDeposited0 represents a EthDeposited0 event raised by the TaikoL1 contract. +type TaikoL1EthDeposited0 struct { + Deposit TaikoDataEthDeposit Raw types.Log // Blockchain specific contextual infos } -// FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// FilterEthDeposited0 is a free log retrieval operation binding the contract event 0x7120a3b075ad25974c5eed76dedb3a217c76c9c6d1f1e201caeba9b89de9a9d9. // -// Solidity: event Initialized(uint8 version) -func (_TaikoL1 *TaikoL1Filterer) FilterInitialized(opts *bind.FilterOpts) (*TaikoL1InitializedIterator, error) { +// Solidity: event EthDeposited((address,uint96,uint64) deposit) +func (_TaikoL1 *TaikoL1Filterer) FilterEthDeposited0(opts *bind.FilterOpts) (*TaikoL1EthDeposited0Iterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "Initialized") + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "EthDeposited0") if err != nil { return nil, err } - return &TaikoL1InitializedIterator{contract: _TaikoL1.contract, event: "Initialized", logs: logs, sub: sub}, nil + return &TaikoL1EthDeposited0Iterator{contract: _TaikoL1.contract, event: "EthDeposited0", logs: logs, sub: sub}, nil } -// WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// WatchEthDeposited0 is a free log subscription operation binding the contract event 0x7120a3b075ad25974c5eed76dedb3a217c76c9c6d1f1e201caeba9b89de9a9d9. // -// Solidity: event Initialized(uint8 version) -func (_TaikoL1 *TaikoL1Filterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *TaikoL1Initialized) (event.Subscription, error) { +// Solidity: event EthDeposited((address,uint96,uint64) deposit) +func (_TaikoL1 *TaikoL1Filterer) WatchEthDeposited0(opts *bind.WatchOpts, sink chan<- *TaikoL1EthDeposited0) (event.Subscription, error) { - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "Initialized") + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "EthDeposited0") if err != nil { return nil, err } @@ -2599,8 +2476,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchInitialized(opts *bind.WatchOpts, sink cha select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1Initialized) - if err := _TaikoL1.contract.UnpackLog(event, "Initialized", log); err != nil { + event := new(TaikoL1EthDeposited0) + if err := _TaikoL1.contract.UnpackLog(event, "EthDeposited0", log); err != nil { return err } event.Raw = log @@ -2621,21 +2498,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchInitialized(opts *bind.WatchOpts, sink cha }), nil } -// ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// ParseEthDeposited0 is a log parse operation binding the contract event 0x7120a3b075ad25974c5eed76dedb3a217c76c9c6d1f1e201caeba9b89de9a9d9. // -// Solidity: event Initialized(uint8 version) -func (_TaikoL1 *TaikoL1Filterer) ParseInitialized(log types.Log) (*TaikoL1Initialized, error) { - event := new(TaikoL1Initialized) - if err := _TaikoL1.contract.UnpackLog(event, "Initialized", log); err != nil { +// Solidity: event EthDeposited((address,uint96,uint64) deposit) +func (_TaikoL1 *TaikoL1Filterer) ParseEthDeposited0(log types.Log) (*TaikoL1EthDeposited0, error) { + event := new(TaikoL1EthDeposited0) + if err := _TaikoL1.contract.UnpackLog(event, "EthDeposited0", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1OwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the TaikoL1 contract. -type TaikoL1OwnershipTransferredIterator struct { - Event *TaikoL1OwnershipTransferred // Event containing the contract specifics and raw log +// TaikoL1InitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the TaikoL1 contract. +type TaikoL1InitializedIterator struct { + Event *TaikoL1Initialized // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2649,7 +2526,7 @@ type TaikoL1OwnershipTransferredIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1OwnershipTransferredIterator) Next() bool { +func (it *TaikoL1InitializedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2658,7 +2535,7 @@ func (it *TaikoL1OwnershipTransferredIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1OwnershipTransferred) + it.Event = new(TaikoL1Initialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2673,7 +2550,7 @@ func (it *TaikoL1OwnershipTransferredIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1OwnershipTransferred) + it.Event = new(TaikoL1Initialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2689,60 +2566,41 @@ func (it *TaikoL1OwnershipTransferredIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1OwnershipTransferredIterator) Error() error { +func (it *TaikoL1InitializedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1OwnershipTransferredIterator) Close() error { +func (it *TaikoL1InitializedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1OwnershipTransferred represents a OwnershipTransferred event raised by the TaikoL1 contract. -type TaikoL1OwnershipTransferred struct { - PreviousOwner common.Address - NewOwner common.Address - Raw types.Log // Blockchain specific contextual infos +// TaikoL1Initialized represents a Initialized event raised by the TaikoL1 contract. +type TaikoL1Initialized struct { + Version uint8 + Raw types.Log // Blockchain specific contextual infos } -// FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_TaikoL1 *TaikoL1Filterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*TaikoL1OwnershipTransferredIterator, error) { - - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) - } +// Solidity: event Initialized(uint8 version) +func (_TaikoL1 *TaikoL1Filterer) FilterInitialized(opts *bind.FilterOpts) (*TaikoL1InitializedIterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "Initialized") if err != nil { return nil, err } - return &TaikoL1OwnershipTransferredIterator{contract: _TaikoL1.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil + return &TaikoL1InitializedIterator{contract: _TaikoL1.contract, event: "Initialized", logs: logs, sub: sub}, nil } -// WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_TaikoL1 *TaikoL1Filterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *TaikoL1OwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { - - var previousOwnerRule []interface{} - for _, previousOwnerItem := range previousOwner { - previousOwnerRule = append(previousOwnerRule, previousOwnerItem) - } - var newOwnerRule []interface{} - for _, newOwnerItem := range newOwner { - newOwnerRule = append(newOwnerRule, newOwnerItem) - } +// Solidity: event Initialized(uint8 version) +func (_TaikoL1 *TaikoL1Filterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *TaikoL1Initialized) (event.Subscription, error) { - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "Initialized") if err != nil { return nil, err } @@ -2752,8 +2610,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchOwnershipTransferred(opts *bind.WatchOpts, select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1OwnershipTransferred) - if err := _TaikoL1.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { + event := new(TaikoL1Initialized) + if err := _TaikoL1.contract.UnpackLog(event, "Initialized", log); err != nil { return err } event.Raw = log @@ -2774,21 +2632,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchOwnershipTransferred(opts *bind.WatchOpts, }), nil } -// ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. +// ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // -// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) -func (_TaikoL1 *TaikoL1Filterer) ParseOwnershipTransferred(log types.Log) (*TaikoL1OwnershipTransferred, error) { - event := new(TaikoL1OwnershipTransferred) - if err := _TaikoL1.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { +// Solidity: event Initialized(uint8 version) +func (_TaikoL1 *TaikoL1Filterer) ParseInitialized(log types.Log) (*TaikoL1Initialized, error) { + event := new(TaikoL1Initialized) + if err := _TaikoL1.contract.UnpackLog(event, "Initialized", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1PausedIterator is returned from FilterPaused and is used to iterate over the raw logs and unpacked data for Paused events raised by the TaikoL1 contract. -type TaikoL1PausedIterator struct { - Event *TaikoL1Paused // Event containing the contract specifics and raw log +// TaikoL1OwnershipTransferStartedIterator is returned from FilterOwnershipTransferStarted and is used to iterate over the raw logs and unpacked data for OwnershipTransferStarted events raised by the TaikoL1 contract. +type TaikoL1OwnershipTransferStartedIterator struct { + Event *TaikoL1OwnershipTransferStarted // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2802,7 +2660,7 @@ type TaikoL1PausedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1PausedIterator) Next() bool { +func (it *TaikoL1OwnershipTransferStartedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2811,7 +2669,7 @@ func (it *TaikoL1PausedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1Paused) + it.Event = new(TaikoL1OwnershipTransferStarted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2826,7 +2684,7 @@ func (it *TaikoL1PausedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1Paused) + it.Event = new(TaikoL1OwnershipTransferStarted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2842,41 +2700,60 @@ func (it *TaikoL1PausedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1PausedIterator) Error() error { +func (it *TaikoL1OwnershipTransferStartedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1PausedIterator) Close() error { +func (it *TaikoL1OwnershipTransferStartedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1Paused represents a Paused event raised by the TaikoL1 contract. -type TaikoL1Paused struct { - Account common.Address - Raw types.Log // Blockchain specific contextual infos +// TaikoL1OwnershipTransferStarted represents a OwnershipTransferStarted event raised by the TaikoL1 contract. +type TaikoL1OwnershipTransferStarted struct { + PreviousOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos } -// FilterPaused is a free log retrieval operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. +// FilterOwnershipTransferStarted is a free log retrieval operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. // -// Solidity: event Paused(address account) -func (_TaikoL1 *TaikoL1Filterer) FilterPaused(opts *bind.FilterOpts) (*TaikoL1PausedIterator, error) { +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_TaikoL1 *TaikoL1Filterer) FilterOwnershipTransferStarted(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*TaikoL1OwnershipTransferStartedIterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "Paused") + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } - return &TaikoL1PausedIterator{contract: _TaikoL1.contract, event: "Paused", logs: logs, sub: sub}, nil + return &TaikoL1OwnershipTransferStartedIterator{contract: _TaikoL1.contract, event: "OwnershipTransferStarted", logs: logs, sub: sub}, nil } -// WatchPaused is a free log subscription operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. +// WatchOwnershipTransferStarted is a free log subscription operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. // -// Solidity: event Paused(address account) -func (_TaikoL1 *TaikoL1Filterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *TaikoL1Paused) (event.Subscription, error) { +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_TaikoL1 *TaikoL1Filterer) WatchOwnershipTransferStarted(opts *bind.WatchOpts, sink chan<- *TaikoL1OwnershipTransferStarted, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "Paused") + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } @@ -2886,8 +2763,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchPaused(opts *bind.WatchOpts, sink chan<- * select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1Paused) - if err := _TaikoL1.contract.UnpackLog(event, "Paused", log); err != nil { + event := new(TaikoL1OwnershipTransferStarted) + if err := _TaikoL1.contract.UnpackLog(event, "OwnershipTransferStarted", log); err != nil { return err } event.Raw = log @@ -2908,21 +2785,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchPaused(opts *bind.WatchOpts, sink chan<- * }), nil } -// ParsePaused is a log parse operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. +// ParseOwnershipTransferStarted is a log parse operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. // -// Solidity: event Paused(address account) -func (_TaikoL1 *TaikoL1Filterer) ParsePaused(log types.Log) (*TaikoL1Paused, error) { - event := new(TaikoL1Paused) - if err := _TaikoL1.contract.UnpackLog(event, "Paused", log); err != nil { +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_TaikoL1 *TaikoL1Filterer) ParseOwnershipTransferStarted(log types.Log) (*TaikoL1OwnershipTransferStarted, error) { + event := new(TaikoL1OwnershipTransferStarted) + if err := _TaikoL1.contract.UnpackLog(event, "OwnershipTransferStarted", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1ProvingPausedIterator is returned from FilterProvingPaused and is used to iterate over the raw logs and unpacked data for ProvingPaused events raised by the TaikoL1 contract. -type TaikoL1ProvingPausedIterator struct { - Event *TaikoL1ProvingPaused // Event containing the contract specifics and raw log +// TaikoL1OwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the TaikoL1 contract. +type TaikoL1OwnershipTransferredIterator struct { + Event *TaikoL1OwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2936,7 +2813,7 @@ type TaikoL1ProvingPausedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1ProvingPausedIterator) Next() bool { +func (it *TaikoL1OwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2945,7 +2822,7 @@ func (it *TaikoL1ProvingPausedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1ProvingPaused) + it.Event = new(TaikoL1OwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2960,7 +2837,7 @@ func (it *TaikoL1ProvingPausedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1ProvingPaused) + it.Event = new(TaikoL1OwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2976,41 +2853,60 @@ func (it *TaikoL1ProvingPausedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1ProvingPausedIterator) Error() error { +func (it *TaikoL1OwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1ProvingPausedIterator) Close() error { +func (it *TaikoL1OwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1ProvingPaused represents a ProvingPaused event raised by the TaikoL1 contract. -type TaikoL1ProvingPaused struct { - Paused bool - Raw types.Log // Blockchain specific contextual infos +// TaikoL1OwnershipTransferred represents a OwnershipTransferred event raised by the TaikoL1 contract. +type TaikoL1OwnershipTransferred struct { + PreviousOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos } -// FilterProvingPaused is a free log retrieval operation binding the contract event 0xed64db85835d07c3c990b8ebdd55e32d64e5ed53143b6ef2179e7bfaf17ddc3b. +// FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // -// Solidity: event ProvingPaused(bool paused) -func (_TaikoL1 *TaikoL1Filterer) FilterProvingPaused(opts *bind.FilterOpts) (*TaikoL1ProvingPausedIterator, error) { +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_TaikoL1 *TaikoL1Filterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*TaikoL1OwnershipTransferredIterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "ProvingPaused") + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } - return &TaikoL1ProvingPausedIterator{contract: _TaikoL1.contract, event: "ProvingPaused", logs: logs, sub: sub}, nil + return &TaikoL1OwnershipTransferredIterator{contract: _TaikoL1.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } -// WatchProvingPaused is a free log subscription operation binding the contract event 0xed64db85835d07c3c990b8ebdd55e32d64e5ed53143b6ef2179e7bfaf17ddc3b. +// WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // -// Solidity: event ProvingPaused(bool paused) -func (_TaikoL1 *TaikoL1Filterer) WatchProvingPaused(opts *bind.WatchOpts, sink chan<- *TaikoL1ProvingPaused) (event.Subscription, error) { +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_TaikoL1 *TaikoL1Filterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *TaikoL1OwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "ProvingPaused") + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } @@ -3020,8 +2916,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchProvingPaused(opts *bind.WatchOpts, sink c select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1ProvingPaused) - if err := _TaikoL1.contract.UnpackLog(event, "ProvingPaused", log); err != nil { + event := new(TaikoL1OwnershipTransferred) + if err := _TaikoL1.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log @@ -3042,21 +2938,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchProvingPaused(opts *bind.WatchOpts, sink c }), nil } -// ParseProvingPaused is a log parse operation binding the contract event 0xed64db85835d07c3c990b8ebdd55e32d64e5ed53143b6ef2179e7bfaf17ddc3b. +// ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // -// Solidity: event ProvingPaused(bool paused) -func (_TaikoL1 *TaikoL1Filterer) ParseProvingPaused(log types.Log) (*TaikoL1ProvingPaused, error) { - event := new(TaikoL1ProvingPaused) - if err := _TaikoL1.contract.UnpackLog(event, "ProvingPaused", log); err != nil { +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_TaikoL1 *TaikoL1Filterer) ParseOwnershipTransferred(log types.Log) (*TaikoL1OwnershipTransferred, error) { + event := new(TaikoL1OwnershipTransferred) + if err := _TaikoL1.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1TokenCreditedIterator is returned from FilterTokenCredited and is used to iterate over the raw logs and unpacked data for TokenCredited events raised by the TaikoL1 contract. -type TaikoL1TokenCreditedIterator struct { - Event *TaikoL1TokenCredited // Event containing the contract specifics and raw log +// TaikoL1PausedIterator is returned from FilterPaused and is used to iterate over the raw logs and unpacked data for Paused events raised by the TaikoL1 contract. +type TaikoL1PausedIterator struct { + Event *TaikoL1Paused // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -3070,7 +2966,7 @@ type TaikoL1TokenCreditedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1TokenCreditedIterator) Next() bool { +func (it *TaikoL1PausedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -3079,7 +2975,7 @@ func (it *TaikoL1TokenCreditedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1TokenCredited) + it.Event = new(TaikoL1Paused) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3094,7 +2990,7 @@ func (it *TaikoL1TokenCreditedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1TokenCredited) + it.Event = new(TaikoL1Paused) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3110,42 +3006,41 @@ func (it *TaikoL1TokenCreditedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1TokenCreditedIterator) Error() error { +func (it *TaikoL1PausedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1TokenCreditedIterator) Close() error { +func (it *TaikoL1PausedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1TokenCredited represents a TokenCredited event raised by the TaikoL1 contract. -type TaikoL1TokenCredited struct { - To common.Address - Amount *big.Int - Raw types.Log // Blockchain specific contextual infos +// TaikoL1Paused represents a Paused event raised by the TaikoL1 contract. +type TaikoL1Paused struct { + Account common.Address + Raw types.Log // Blockchain specific contextual infos } -// FilterTokenCredited is a free log retrieval operation binding the contract event 0xcc91b0b567e69e32d26830c50d1078f0baec319d458fa847f2633c1c2f71dd74. +// FilterPaused is a free log retrieval operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. // -// Solidity: event TokenCredited(address to, uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) FilterTokenCredited(opts *bind.FilterOpts) (*TaikoL1TokenCreditedIterator, error) { +// Solidity: event Paused(address account) +func (_TaikoL1 *TaikoL1Filterer) FilterPaused(opts *bind.FilterOpts) (*TaikoL1PausedIterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TokenCredited") + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "Paused") if err != nil { return nil, err } - return &TaikoL1TokenCreditedIterator{contract: _TaikoL1.contract, event: "TokenCredited", logs: logs, sub: sub}, nil + return &TaikoL1PausedIterator{contract: _TaikoL1.contract, event: "Paused", logs: logs, sub: sub}, nil } -// WatchTokenCredited is a free log subscription operation binding the contract event 0xcc91b0b567e69e32d26830c50d1078f0baec319d458fa847f2633c1c2f71dd74. +// WatchPaused is a free log subscription operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. // -// Solidity: event TokenCredited(address to, uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) WatchTokenCredited(opts *bind.WatchOpts, sink chan<- *TaikoL1TokenCredited) (event.Subscription, error) { +// Solidity: event Paused(address account) +func (_TaikoL1 *TaikoL1Filterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *TaikoL1Paused) (event.Subscription, error) { - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TokenCredited") + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "Paused") if err != nil { return nil, err } @@ -3155,8 +3050,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTokenCredited(opts *bind.WatchOpts, sink c select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1TokenCredited) - if err := _TaikoL1.contract.UnpackLog(event, "TokenCredited", log); err != nil { + event := new(TaikoL1Paused) + if err := _TaikoL1.contract.UnpackLog(event, "Paused", log); err != nil { return err } event.Raw = log @@ -3177,21 +3072,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTokenCredited(opts *bind.WatchOpts, sink c }), nil } -// ParseTokenCredited is a log parse operation binding the contract event 0xcc91b0b567e69e32d26830c50d1078f0baec319d458fa847f2633c1c2f71dd74. +// ParsePaused is a log parse operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. // -// Solidity: event TokenCredited(address to, uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) ParseTokenCredited(log types.Log) (*TaikoL1TokenCredited, error) { - event := new(TaikoL1TokenCredited) - if err := _TaikoL1.contract.UnpackLog(event, "TokenCredited", log); err != nil { +// Solidity: event Paused(address account) +func (_TaikoL1 *TaikoL1Filterer) ParsePaused(log types.Log) (*TaikoL1Paused, error) { + event := new(TaikoL1Paused) + if err := _TaikoL1.contract.UnpackLog(event, "Paused", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1TokenDebitedIterator is returned from FilterTokenDebited and is used to iterate over the raw logs and unpacked data for TokenDebited events raised by the TaikoL1 contract. -type TaikoL1TokenDebitedIterator struct { - Event *TaikoL1TokenDebited // Event containing the contract specifics and raw log +// TaikoL1ProvingPausedIterator is returned from FilterProvingPaused and is used to iterate over the raw logs and unpacked data for ProvingPaused events raised by the TaikoL1 contract. +type TaikoL1ProvingPausedIterator struct { + Event *TaikoL1ProvingPaused // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -3205,7 +3100,7 @@ type TaikoL1TokenDebitedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1TokenDebitedIterator) Next() bool { +func (it *TaikoL1ProvingPausedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -3214,7 +3109,7 @@ func (it *TaikoL1TokenDebitedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1TokenDebited) + it.Event = new(TaikoL1ProvingPaused) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3229,7 +3124,7 @@ func (it *TaikoL1TokenDebitedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1TokenDebited) + it.Event = new(TaikoL1ProvingPaused) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3245,42 +3140,41 @@ func (it *TaikoL1TokenDebitedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1TokenDebitedIterator) Error() error { +func (it *TaikoL1ProvingPausedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1TokenDebitedIterator) Close() error { +func (it *TaikoL1ProvingPausedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1TokenDebited represents a TokenDebited event raised by the TaikoL1 contract. -type TaikoL1TokenDebited struct { - From common.Address - Amount *big.Int +// TaikoL1ProvingPaused represents a ProvingPaused event raised by the TaikoL1 contract. +type TaikoL1ProvingPaused struct { + Paused bool Raw types.Log // Blockchain specific contextual infos } -// FilterTokenDebited is a free log retrieval operation binding the contract event 0x9414c932608e522aea77e1b5fd1cdb441e5d57daf49d9a9a0b7409ef8d9e0070. +// FilterProvingPaused is a free log retrieval operation binding the contract event 0xed64db85835d07c3c990b8ebdd55e32d64e5ed53143b6ef2179e7bfaf17ddc3b. // -// Solidity: event TokenDebited(address from, uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) FilterTokenDebited(opts *bind.FilterOpts) (*TaikoL1TokenDebitedIterator, error) { +// Solidity: event ProvingPaused(bool paused) +func (_TaikoL1 *TaikoL1Filterer) FilterProvingPaused(opts *bind.FilterOpts) (*TaikoL1ProvingPausedIterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TokenDebited") + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "ProvingPaused") if err != nil { return nil, err } - return &TaikoL1TokenDebitedIterator{contract: _TaikoL1.contract, event: "TokenDebited", logs: logs, sub: sub}, nil + return &TaikoL1ProvingPausedIterator{contract: _TaikoL1.contract, event: "ProvingPaused", logs: logs, sub: sub}, nil } -// WatchTokenDebited is a free log subscription operation binding the contract event 0x9414c932608e522aea77e1b5fd1cdb441e5d57daf49d9a9a0b7409ef8d9e0070. +// WatchProvingPaused is a free log subscription operation binding the contract event 0xed64db85835d07c3c990b8ebdd55e32d64e5ed53143b6ef2179e7bfaf17ddc3b. // -// Solidity: event TokenDebited(address from, uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) WatchTokenDebited(opts *bind.WatchOpts, sink chan<- *TaikoL1TokenDebited) (event.Subscription, error) { +// Solidity: event ProvingPaused(bool paused) +func (_TaikoL1 *TaikoL1Filterer) WatchProvingPaused(opts *bind.WatchOpts, sink chan<- *TaikoL1ProvingPaused) (event.Subscription, error) { - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TokenDebited") + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "ProvingPaused") if err != nil { return nil, err } @@ -3290,8 +3184,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTokenDebited(opts *bind.WatchOpts, sink ch select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1TokenDebited) - if err := _TaikoL1.contract.UnpackLog(event, "TokenDebited", log); err != nil { + event := new(TaikoL1ProvingPaused) + if err := _TaikoL1.contract.UnpackLog(event, "ProvingPaused", log); err != nil { return err } event.Raw = log @@ -3312,21 +3206,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTokenDebited(opts *bind.WatchOpts, sink ch }), nil } -// ParseTokenDebited is a log parse operation binding the contract event 0x9414c932608e522aea77e1b5fd1cdb441e5d57daf49d9a9a0b7409ef8d9e0070. +// ParseProvingPaused is a log parse operation binding the contract event 0xed64db85835d07c3c990b8ebdd55e32d64e5ed53143b6ef2179e7bfaf17ddc3b. // -// Solidity: event TokenDebited(address from, uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) ParseTokenDebited(log types.Log) (*TaikoL1TokenDebited, error) { - event := new(TaikoL1TokenDebited) - if err := _TaikoL1.contract.UnpackLog(event, "TokenDebited", log); err != nil { +// Solidity: event ProvingPaused(bool paused) +func (_TaikoL1 *TaikoL1Filterer) ParseProvingPaused(log types.Log) (*TaikoL1ProvingPaused, error) { + event := new(TaikoL1ProvingPaused) + if err := _TaikoL1.contract.UnpackLog(event, "ProvingPaused", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1TokenDepositedIterator is returned from FilterTokenDeposited and is used to iterate over the raw logs and unpacked data for TokenDeposited events raised by the TaikoL1 contract. -type TaikoL1TokenDepositedIterator struct { - Event *TaikoL1TokenDeposited // Event containing the contract specifics and raw log +// TaikoL1TransitionContestedIterator is returned from FilterTransitionContested and is used to iterate over the raw logs and unpacked data for TransitionContested events raised by the TaikoL1 contract. +type TaikoL1TransitionContestedIterator struct { + Event *TaikoL1TransitionContested // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -3340,7 +3234,7 @@ type TaikoL1TokenDepositedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1TokenDepositedIterator) Next() bool { +func (it *TaikoL1TransitionContestedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -3349,7 +3243,7 @@ func (it *TaikoL1TokenDepositedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1TokenDeposited) + it.Event = new(TaikoL1TransitionContested) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3364,7 +3258,7 @@ func (it *TaikoL1TokenDepositedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1TokenDeposited) + it.Event = new(TaikoL1TransitionContested) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3380,41 +3274,55 @@ func (it *TaikoL1TokenDepositedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1TokenDepositedIterator) Error() error { +func (it *TaikoL1TransitionContestedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1TokenDepositedIterator) Close() error { +func (it *TaikoL1TransitionContestedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1TokenDeposited represents a TokenDeposited event raised by the TaikoL1 contract. -type TaikoL1TokenDeposited struct { - Amount *big.Int - Raw types.Log // Blockchain specific contextual infos +// TaikoL1TransitionContested represents a TransitionContested event raised by the TaikoL1 contract. +type TaikoL1TransitionContested struct { + BlockId *big.Int + Tran TaikoDataTransition + Contester common.Address + ContestBond *big.Int + Tier uint16 + Raw types.Log // Blockchain specific contextual infos } -// FilterTokenDeposited is a free log retrieval operation binding the contract event 0x26a49ee784523ce049bcbe276a63c7c9dbd9f428b1aa53633e679c9c046e8858. +// FilterTransitionContested is a free log retrieval operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. // -// Solidity: event TokenDeposited(uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) FilterTokenDeposited(opts *bind.FilterOpts) (*TaikoL1TokenDepositedIterator, error) { +// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) FilterTransitionContested(opts *bind.FilterOpts, blockId []*big.Int) (*TaikoL1TransitionContestedIterator, error) { + + var blockIdRule []interface{} + for _, blockIdItem := range blockId { + blockIdRule = append(blockIdRule, blockIdItem) + } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TokenDeposited") + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TransitionContested", blockIdRule) if err != nil { return nil, err } - return &TaikoL1TokenDepositedIterator{contract: _TaikoL1.contract, event: "TokenDeposited", logs: logs, sub: sub}, nil + return &TaikoL1TransitionContestedIterator{contract: _TaikoL1.contract, event: "TransitionContested", logs: logs, sub: sub}, nil } -// WatchTokenDeposited is a free log subscription operation binding the contract event 0x26a49ee784523ce049bcbe276a63c7c9dbd9f428b1aa53633e679c9c046e8858. +// WatchTransitionContested is a free log subscription operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. // -// Solidity: event TokenDeposited(uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) WatchTokenDeposited(opts *bind.WatchOpts, sink chan<- *TaikoL1TokenDeposited) (event.Subscription, error) { +// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) WatchTransitionContested(opts *bind.WatchOpts, sink chan<- *TaikoL1TransitionContested, blockId []*big.Int) (event.Subscription, error) { + + var blockIdRule []interface{} + for _, blockIdItem := range blockId { + blockIdRule = append(blockIdRule, blockIdItem) + } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TokenDeposited") + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TransitionContested", blockIdRule) if err != nil { return nil, err } @@ -3424,8 +3332,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTokenDeposited(opts *bind.WatchOpts, sink select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1TokenDeposited) - if err := _TaikoL1.contract.UnpackLog(event, "TokenDeposited", log); err != nil { + event := new(TaikoL1TransitionContested) + if err := _TaikoL1.contract.UnpackLog(event, "TransitionContested", log); err != nil { return err } event.Raw = log @@ -3446,21 +3354,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTokenDeposited(opts *bind.WatchOpts, sink }), nil } -// ParseTokenDeposited is a log parse operation binding the contract event 0x26a49ee784523ce049bcbe276a63c7c9dbd9f428b1aa53633e679c9c046e8858. +// ParseTransitionContested is a log parse operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. // -// Solidity: event TokenDeposited(uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) ParseTokenDeposited(log types.Log) (*TaikoL1TokenDeposited, error) { - event := new(TaikoL1TokenDeposited) - if err := _TaikoL1.contract.UnpackLog(event, "TokenDeposited", log); err != nil { +// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) ParseTransitionContested(log types.Log) (*TaikoL1TransitionContested, error) { + event := new(TaikoL1TransitionContested) + if err := _TaikoL1.contract.UnpackLog(event, "TransitionContested", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1TokenWithdrawnIterator is returned from FilterTokenWithdrawn and is used to iterate over the raw logs and unpacked data for TokenWithdrawn events raised by the TaikoL1 contract. -type TaikoL1TokenWithdrawnIterator struct { - Event *TaikoL1TokenWithdrawn // Event containing the contract specifics and raw log +// TaikoL1TransitionContested0Iterator is returned from FilterTransitionContested0 and is used to iterate over the raw logs and unpacked data for TransitionContested0 events raised by the TaikoL1 contract. +type TaikoL1TransitionContested0Iterator struct { + Event *TaikoL1TransitionContested0 // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -3474,7 +3382,7 @@ type TaikoL1TokenWithdrawnIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1TokenWithdrawnIterator) Next() bool { +func (it *TaikoL1TransitionContested0Iterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -3483,7 +3391,7 @@ func (it *TaikoL1TokenWithdrawnIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1TokenWithdrawn) + it.Event = new(TaikoL1TransitionContested0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3498,7 +3406,7 @@ func (it *TaikoL1TokenWithdrawnIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1TokenWithdrawn) + it.Event = new(TaikoL1TransitionContested0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3514,41 +3422,55 @@ func (it *TaikoL1TokenWithdrawnIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1TokenWithdrawnIterator) Error() error { +func (it *TaikoL1TransitionContested0Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1TokenWithdrawnIterator) Close() error { +func (it *TaikoL1TransitionContested0Iterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1TokenWithdrawn represents a TokenWithdrawn event raised by the TaikoL1 contract. -type TaikoL1TokenWithdrawn struct { - Amount *big.Int - Raw types.Log // Blockchain specific contextual infos +// TaikoL1TransitionContested0 represents a TransitionContested0 event raised by the TaikoL1 contract. +type TaikoL1TransitionContested0 struct { + BlockId *big.Int + Tran TaikoDataTransition + Contester common.Address + ContestBond *big.Int + Tier uint16 + Raw types.Log // Blockchain specific contextual infos } -// FilterTokenWithdrawn is a free log retrieval operation binding the contract event 0xc172f6497c150fc242267f743e8e4034b31b16ee123408d6d5f75a81128de114. +// FilterTransitionContested0 is a free log retrieval operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. // -// Solidity: event TokenWithdrawn(uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) FilterTokenWithdrawn(opts *bind.FilterOpts) (*TaikoL1TokenWithdrawnIterator, error) { +// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) FilterTransitionContested0(opts *bind.FilterOpts, blockId []*big.Int) (*TaikoL1TransitionContested0Iterator, error) { + + var blockIdRule []interface{} + for _, blockIdItem := range blockId { + blockIdRule = append(blockIdRule, blockIdItem) + } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TokenWithdrawn") + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TransitionContested0", blockIdRule) if err != nil { return nil, err } - return &TaikoL1TokenWithdrawnIterator{contract: _TaikoL1.contract, event: "TokenWithdrawn", logs: logs, sub: sub}, nil + return &TaikoL1TransitionContested0Iterator{contract: _TaikoL1.contract, event: "TransitionContested0", logs: logs, sub: sub}, nil } -// WatchTokenWithdrawn is a free log subscription operation binding the contract event 0xc172f6497c150fc242267f743e8e4034b31b16ee123408d6d5f75a81128de114. +// WatchTransitionContested0 is a free log subscription operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. // -// Solidity: event TokenWithdrawn(uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) WatchTokenWithdrawn(opts *bind.WatchOpts, sink chan<- *TaikoL1TokenWithdrawn) (event.Subscription, error) { +// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) WatchTransitionContested0(opts *bind.WatchOpts, sink chan<- *TaikoL1TransitionContested0, blockId []*big.Int) (event.Subscription, error) { + + var blockIdRule []interface{} + for _, blockIdItem := range blockId { + blockIdRule = append(blockIdRule, blockIdItem) + } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TokenWithdrawn") + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TransitionContested0", blockIdRule) if err != nil { return nil, err } @@ -3558,8 +3480,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTokenWithdrawn(opts *bind.WatchOpts, sink select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1TokenWithdrawn) - if err := _TaikoL1.contract.UnpackLog(event, "TokenWithdrawn", log); err != nil { + event := new(TaikoL1TransitionContested0) + if err := _TaikoL1.contract.UnpackLog(event, "TransitionContested0", log); err != nil { return err } event.Raw = log @@ -3580,21 +3502,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTokenWithdrawn(opts *bind.WatchOpts, sink }), nil } -// ParseTokenWithdrawn is a log parse operation binding the contract event 0xc172f6497c150fc242267f743e8e4034b31b16ee123408d6d5f75a81128de114. +// ParseTransitionContested0 is a log parse operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. // -// Solidity: event TokenWithdrawn(uint256 amount) -func (_TaikoL1 *TaikoL1Filterer) ParseTokenWithdrawn(log types.Log) (*TaikoL1TokenWithdrawn, error) { - event := new(TaikoL1TokenWithdrawn) - if err := _TaikoL1.contract.UnpackLog(event, "TokenWithdrawn", log); err != nil { +// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) ParseTransitionContested0(log types.Log) (*TaikoL1TransitionContested0, error) { + event := new(TaikoL1TransitionContested0) + if err := _TaikoL1.contract.UnpackLog(event, "TransitionContested0", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1TransitionContestedIterator is returned from FilterTransitionContested and is used to iterate over the raw logs and unpacked data for TransitionContested events raised by the TaikoL1 contract. -type TaikoL1TransitionContestedIterator struct { - Event *TaikoL1TransitionContested // Event containing the contract specifics and raw log +// TaikoL1TransitionProvedIterator is returned from FilterTransitionProved and is used to iterate over the raw logs and unpacked data for TransitionProved events raised by the TaikoL1 contract. +type TaikoL1TransitionProvedIterator struct { + Event *TaikoL1TransitionProved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -3608,7 +3530,7 @@ type TaikoL1TransitionContestedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1TransitionContestedIterator) Next() bool { +func (it *TaikoL1TransitionProvedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -3617,7 +3539,7 @@ func (it *TaikoL1TransitionContestedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1TransitionContested) + it.Event = new(TaikoL1TransitionProved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3632,7 +3554,7 @@ func (it *TaikoL1TransitionContestedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1TransitionContested) + it.Event = new(TaikoL1TransitionProved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3648,55 +3570,55 @@ func (it *TaikoL1TransitionContestedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1TransitionContestedIterator) Error() error { +func (it *TaikoL1TransitionProvedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1TransitionContestedIterator) Close() error { +func (it *TaikoL1TransitionProvedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1TransitionContested represents a TransitionContested event raised by the TaikoL1 contract. -type TaikoL1TransitionContested struct { - BlockId *big.Int - Tran TaikoDataTransition - Contester common.Address - ContestBond *big.Int - Tier uint16 - Raw types.Log // Blockchain specific contextual infos +// TaikoL1TransitionProved represents a TransitionProved event raised by the TaikoL1 contract. +type TaikoL1TransitionProved struct { + BlockId *big.Int + Tran TaikoDataTransition + Prover common.Address + ValidityBond *big.Int + Tier uint16 + Raw types.Log // Blockchain specific contextual infos } -// FilterTransitionContested is a free log retrieval operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. +// FilterTransitionProved is a free log retrieval operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. // -// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) -func (_TaikoL1 *TaikoL1Filterer) FilterTransitionContested(opts *bind.FilterOpts, blockId []*big.Int) (*TaikoL1TransitionContestedIterator, error) { +// Solidity: event TransitionProved(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address prover, uint96 validityBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) FilterTransitionProved(opts *bind.FilterOpts, blockId []*big.Int) (*TaikoL1TransitionProvedIterator, error) { var blockIdRule []interface{} for _, blockIdItem := range blockId { blockIdRule = append(blockIdRule, blockIdItem) } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TransitionContested", blockIdRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TransitionProved", blockIdRule) if err != nil { return nil, err } - return &TaikoL1TransitionContestedIterator{contract: _TaikoL1.contract, event: "TransitionContested", logs: logs, sub: sub}, nil + return &TaikoL1TransitionProvedIterator{contract: _TaikoL1.contract, event: "TransitionProved", logs: logs, sub: sub}, nil } -// WatchTransitionContested is a free log subscription operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. +// WatchTransitionProved is a free log subscription operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. // -// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) -func (_TaikoL1 *TaikoL1Filterer) WatchTransitionContested(opts *bind.WatchOpts, sink chan<- *TaikoL1TransitionContested, blockId []*big.Int) (event.Subscription, error) { +// Solidity: event TransitionProved(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address prover, uint96 validityBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) WatchTransitionProved(opts *bind.WatchOpts, sink chan<- *TaikoL1TransitionProved, blockId []*big.Int) (event.Subscription, error) { var blockIdRule []interface{} for _, blockIdItem := range blockId { blockIdRule = append(blockIdRule, blockIdItem) } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TransitionContested", blockIdRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TransitionProved", blockIdRule) if err != nil { return nil, err } @@ -3706,8 +3628,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTransitionContested(opts *bind.WatchOpts, select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1TransitionContested) - if err := _TaikoL1.contract.UnpackLog(event, "TransitionContested", log); err != nil { + event := new(TaikoL1TransitionProved) + if err := _TaikoL1.contract.UnpackLog(event, "TransitionProved", log); err != nil { return err } event.Raw = log @@ -3728,21 +3650,21 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTransitionContested(opts *bind.WatchOpts, }), nil } -// ParseTransitionContested is a log parse operation binding the contract event 0xb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f6. +// ParseTransitionProved is a log parse operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. // -// Solidity: event TransitionContested(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address contester, uint96 contestBond, uint16 tier) -func (_TaikoL1 *TaikoL1Filterer) ParseTransitionContested(log types.Log) (*TaikoL1TransitionContested, error) { - event := new(TaikoL1TransitionContested) - if err := _TaikoL1.contract.UnpackLog(event, "TransitionContested", log); err != nil { +// Solidity: event TransitionProved(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address prover, uint96 validityBond, uint16 tier) +func (_TaikoL1 *TaikoL1Filterer) ParseTransitionProved(log types.Log) (*TaikoL1TransitionProved, error) { + event := new(TaikoL1TransitionProved) + if err := _TaikoL1.contract.UnpackLog(event, "TransitionProved", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL1TransitionProvedIterator is returned from FilterTransitionProved and is used to iterate over the raw logs and unpacked data for TransitionProved events raised by the TaikoL1 contract. -type TaikoL1TransitionProvedIterator struct { - Event *TaikoL1TransitionProved // Event containing the contract specifics and raw log +// TaikoL1TransitionProved0Iterator is returned from FilterTransitionProved0 and is used to iterate over the raw logs and unpacked data for TransitionProved0 events raised by the TaikoL1 contract. +type TaikoL1TransitionProved0Iterator struct { + Event *TaikoL1TransitionProved0 // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -3756,7 +3678,7 @@ type TaikoL1TransitionProvedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1TransitionProvedIterator) Next() bool { +func (it *TaikoL1TransitionProved0Iterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -3765,7 +3687,7 @@ func (it *TaikoL1TransitionProvedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1TransitionProved) + it.Event = new(TaikoL1TransitionProved0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3780,7 +3702,7 @@ func (it *TaikoL1TransitionProvedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1TransitionProved) + it.Event = new(TaikoL1TransitionProved0) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3796,19 +3718,19 @@ func (it *TaikoL1TransitionProvedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1TransitionProvedIterator) Error() error { +func (it *TaikoL1TransitionProved0Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1TransitionProvedIterator) Close() error { +func (it *TaikoL1TransitionProved0Iterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1TransitionProved represents a TransitionProved event raised by the TaikoL1 contract. -type TaikoL1TransitionProved struct { +// TaikoL1TransitionProved0 represents a TransitionProved0 event raised by the TaikoL1 contract. +type TaikoL1TransitionProved0 struct { BlockId *big.Int Tran TaikoDataTransition Prover common.Address @@ -3817,34 +3739,34 @@ type TaikoL1TransitionProved struct { Raw types.Log // Blockchain specific contextual infos } -// FilterTransitionProved is a free log retrieval operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. +// FilterTransitionProved0 is a free log retrieval operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. // // Solidity: event TransitionProved(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address prover, uint96 validityBond, uint16 tier) -func (_TaikoL1 *TaikoL1Filterer) FilterTransitionProved(opts *bind.FilterOpts, blockId []*big.Int) (*TaikoL1TransitionProvedIterator, error) { +func (_TaikoL1 *TaikoL1Filterer) FilterTransitionProved0(opts *bind.FilterOpts, blockId []*big.Int) (*TaikoL1TransitionProved0Iterator, error) { var blockIdRule []interface{} for _, blockIdItem := range blockId { blockIdRule = append(blockIdRule, blockIdItem) } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TransitionProved", blockIdRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "TransitionProved0", blockIdRule) if err != nil { return nil, err } - return &TaikoL1TransitionProvedIterator{contract: _TaikoL1.contract, event: "TransitionProved", logs: logs, sub: sub}, nil + return &TaikoL1TransitionProved0Iterator{contract: _TaikoL1.contract, event: "TransitionProved0", logs: logs, sub: sub}, nil } -// WatchTransitionProved is a free log subscription operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. +// WatchTransitionProved0 is a free log subscription operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. // // Solidity: event TransitionProved(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address prover, uint96 validityBond, uint16 tier) -func (_TaikoL1 *TaikoL1Filterer) WatchTransitionProved(opts *bind.WatchOpts, sink chan<- *TaikoL1TransitionProved, blockId []*big.Int) (event.Subscription, error) { +func (_TaikoL1 *TaikoL1Filterer) WatchTransitionProved0(opts *bind.WatchOpts, sink chan<- *TaikoL1TransitionProved0, blockId []*big.Int) (event.Subscription, error) { var blockIdRule []interface{} for _, blockIdItem := range blockId { blockIdRule = append(blockIdRule, blockIdItem) } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TransitionProved", blockIdRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "TransitionProved0", blockIdRule) if err != nil { return nil, err } @@ -3854,8 +3776,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTransitionProved(opts *bind.WatchOpts, sin select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1TransitionProved) - if err := _TaikoL1.contract.UnpackLog(event, "TransitionProved", log); err != nil { + event := new(TaikoL1TransitionProved0) + if err := _TaikoL1.contract.UnpackLog(event, "TransitionProved0", log); err != nil { return err } event.Raw = log @@ -3876,12 +3798,12 @@ func (_TaikoL1 *TaikoL1Filterer) WatchTransitionProved(opts *bind.WatchOpts, sin }), nil } -// ParseTransitionProved is a log parse operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. +// ParseTransitionProved0 is a log parse operation binding the contract event 0xc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f. // // Solidity: event TransitionProved(uint256 indexed blockId, (bytes32,bytes32,bytes32,bytes32) tran, address prover, uint96 validityBond, uint16 tier) -func (_TaikoL1 *TaikoL1Filterer) ParseTransitionProved(log types.Log) (*TaikoL1TransitionProved, error) { - event := new(TaikoL1TransitionProved) - if err := _TaikoL1.contract.UnpackLog(event, "TransitionProved", log); err != nil { +func (_TaikoL1 *TaikoL1Filterer) ParseTransitionProved0(log types.Log) (*TaikoL1TransitionProved0, error) { + event := new(TaikoL1TransitionProved0) + if err := _TaikoL1.contract.UnpackLog(event, "TransitionProved0", log); err != nil { return nil, err } event.Raw = log diff --git a/packages/eventindexer/indexer/save_transition_proved_event.go b/packages/eventindexer/indexer/save_transition_proved_event.go index 4c597c42249..787c1e92709 100644 --- a/packages/eventindexer/indexer/save_transition_proved_event.go +++ b/packages/eventindexer/indexer/save_transition_proved_event.go @@ -114,7 +114,7 @@ func (indxr *Indexer) updateAverageProofTime(ctx context.Context, event *taikol1 return errors.Wrap(err, "indxr.statRepo.Find") } - proposedAt := block.ProposedAt + proposedAt := block.Blk.ProposedAt provenAt := eventBlock.Time()