diff --git a/.gitignore b/.gitignore index 1607b87..9b41a2f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ b2-committer test-docker/mysql1 test-docker/mysql2 +test-docker/postgres1 +wallet +batchFile diff --git a/abi/Committer.json b/abi/Committer.json index 68fe329..8cc2c11 100644 --- a/abi/Committer.json +++ b/abi/Committer.json @@ -1,968 +1 @@ -[ - { - "inputs": [ - - ], - "name": "AccessControlBadConfirmation", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "neededRole", - "type": "bytes32" - } - ], - "name": "AccessControlUnauthorizedAccount", - "type": "error" - }, - { - "inputs": [ - - ], - "name": "InvalidInitialization", - "type": "error" - }, - { - "inputs": [ - - ], - "name": "NotInitializing", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint64", - "name": "version", - "type": "uint64" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "proofHash", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "stateRootHash", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "startIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endIndex", - "type": "uint256" - } - ], - "name": "ProposalSubmitted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "ProposalTimedOut", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "phase", - "type": "uint8" - } - ], - "name": "VoteProposal", - "type": "event" - }, - { - "inputs": [ - - ], - "name": "ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - - ], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "proposer", - "type": "address" - } - ], - "name": "addProposer", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - } - ], - "name": "allCommitPhaseVotes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - - ], - "name": "allProposers", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - } - ], - "name": "allTimeoutPhaseVotes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - }, - { - "internalType": "string", - "name": "txHash", - "type": "string" - } - ], - "name": "bitcoinTx", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitPhaseVotes", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - - ], - "name": "getLastProposal", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "startIndex", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "endIndex", - "type": "uint64" - }, - { - "internalType": "uint8", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "timeout", - "type": "uint256" - }, - { - "internalType": "address", - "name": "winner", - "type": "address" - }, - { - "internalType": "string", - "name": "proofHash", - "type": "string" - }, - { - "internalType": "string", - "name": "stateRootHash", - "type": "string" - }, - { - "internalType": "string", - "name": "txHash", - "type": "string" - } - ], - "internalType": "struct Committer.Proposal", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - - ], - "name": "initialize", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - } - ], - "name": "isProposalTimeout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "isProposer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "isVotedOnCommitPhase", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "isVotedOnTimeoutPhase", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - - ], - "name": "lastProposal", - "outputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "startIndex", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "endIndex", - "type": "uint64" - }, - { - "internalType": "uint8", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "timeout", - "type": "uint256" - }, - { - "internalType": "address", - "name": "winner", - "type": "address" - }, - { - "internalType": "string", - "name": "proofHash", - "type": "string" - }, - { - "internalType": "string", - "name": "stateRootHash", - "type": "string" - }, - { - "internalType": "string", - "name": "txHash", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - } - ], - "name": "proposal", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "startIndex", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "endIndex", - "type": "uint64" - }, - { - "internalType": "uint8", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "timeout", - "type": "uint256" - }, - { - "internalType": "address", - "name": "winner", - "type": "address" - }, - { - "internalType": "string", - "name": "proofHash", - "type": "string" - }, - { - "internalType": "string", - "name": "stateRootHash", - "type": "string" - }, - { - "internalType": "string", - "name": "txHash", - "type": "string" - } - ], - "internalType": "struct Committer.Proposal", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "name": "proposals", - "outputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "startIndex", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "endIndex", - "type": "uint64" - }, - { - "internalType": "uint8", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "timeout", - "type": "uint256" - }, - { - "internalType": "address", - "name": "winner", - "type": "address" - }, - { - "internalType": "string", - "name": "proofHash", - "type": "string" - }, - { - "internalType": "string", - "name": "stateRootHash", - "type": "string" - }, - { - "internalType": "string", - "name": "txHash", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "proposers", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposersList", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "proposer", - "type": "address" - } - ], - "name": "removeProposer", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "callerConfirmation", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "period", - "type": "uint256" - } - ], - "name": "setTimeoutPeriod", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - }, - { - "internalType": "string", - "name": "proofHash", - "type": "string" - }, - { - "internalType": "string", - "name": "stateRootHash", - "type": "string" - }, - { - "internalType": "uint64", - "name": "startIndex", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "endIndex", - "type": "uint64" - } - ], - "name": "submitProof", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - - ], - "name": "timeoutPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "timeoutPhaseVotes", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "id", - "type": "uint64" - } - ], - "name": "timeoutProposal", - "outputs": [ - - ], - "stateMutability": "nonpayable", - "type": "function" - } -] +[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ProposalIsNotExist","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"chainID","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"proposalID","type":"uint64"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"string","name":"proofHash","type":"string"},{"indexed":false,"internalType":"string","name":"stateRootHash","type":"string"},{"indexed":true,"internalType":"uint256","name":"startIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endIndex","type":"uint256"}],"name":"ProposalSubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"chainID","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"proposalID","type":"uint64"}],"name":"ProposalTimedOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"chainID","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"proposalID","type":"uint64"},{"indexed":false,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint8","name":"phase","type":"uint8"}],"name":"VoteProposal","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"}],"name":"addChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"name":"addProposer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allChains","outputs":[{"internalType":"uint64[]","name":"","type":"uint64[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allProposers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"}],"name":"allSubmitBitcoinTxVotes","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"}],"name":"allSubmitProofVotes","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"}],"name":"arweaveTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"},{"internalType":"string","name":"txHash","type":"string"}],"name":"bitcoinTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"}],"name":"chains","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"chainsList","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"a","type":"string"},{"internalType":"string","name":"b","type":"string"}],"name":"compareStrings","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"}],"name":"getLastProposal","outputs":[{"components":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint64","name":"startIndex","type":"uint64"},{"internalType":"uint64","name":"endIndex","type":"uint64"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"uint256","name":"timeout","type":"uint256"},{"internalType":"address","name":"winner","type":"address"},{"internalType":"string","name":"proofHash","type":"string"},{"internalType":"string","name":"stateRootHash","type":"string"},{"internalType":"string","name":"btcTxHash","type":"string"},{"internalType":"string","name":"arweaveTxHash","type":"string"}],"internalType":"struct Committer.Proposal","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"}],"name":"isProposalTimeout","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"isProposer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"}],"name":"isSupportedChain","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"},{"internalType":"address","name":"voter","type":"address"}],"name":"isVotedOnBitcoinTxPhase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"},{"internalType":"address","name":"voter","type":"address"}],"name":"isVotedOnSubmitProofPhase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"}],"name":"lastProposal","outputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint64","name":"startIndex","type":"uint64"},{"internalType":"uint64","name":"endIndex","type":"uint64"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"uint256","name":"timeout","type":"uint256"},{"internalType":"address","name":"winner","type":"address"},{"internalType":"string","name":"proofHash","type":"string"},{"internalType":"string","name":"stateRootHash","type":"string"},{"internalType":"string","name":"btcTxHash","type":"string"},{"internalType":"string","name":"arweaveTxHash","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"}],"name":"proposal","outputs":[{"components":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint64","name":"startIndex","type":"uint64"},{"internalType":"uint64","name":"endIndex","type":"uint64"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"uint256","name":"timeout","type":"uint256"},{"internalType":"address","name":"winner","type":"address"},{"internalType":"string","name":"proofHash","type":"string"},{"internalType":"string","name":"stateRootHash","type":"string"},{"internalType":"string","name":"btcTxHash","type":"string"},{"internalType":"string","name":"arweaveTxHash","type":"string"}],"internalType":"struct Committer.Proposal","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"}],"name":"proposals","outputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint64","name":"startIndex","type":"uint64"},{"internalType":"uint64","name":"endIndex","type":"uint64"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"uint256","name":"timeout","type":"uint256"},{"internalType":"address","name":"winner","type":"address"},{"internalType":"string","name":"proofHash","type":"string"},{"internalType":"string","name":"stateRootHash","type":"string"},{"internalType":"string","name":"btcTxHash","type":"string"},{"internalType":"string","name":"arweaveTxHash","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"proposers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposersList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"}],"name":"removeChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"name":"removeProposer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"period","type":"uint256"}],"name":"setTimeoutPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"submitBitcoinTxPhaseVotes","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"},{"internalType":"string","name":"proofHash","type":"string"},{"internalType":"string","name":"stateRootHash","type":"string"},{"internalType":"uint64","name":"startIndex","type":"uint64"},{"internalType":"uint64","name":"endIndex","type":"uint64"}],"name":"submitProof","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"submitProofPhaseVotes","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeoutPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"chainID","type":"uint64"},{"internalType":"uint64","name":"proposalID","type":"uint64"}],"name":"timeoutProposal","outputs":[],"stateMutability":"nonpayable","type":"function"}] diff --git a/abi/PolygonSequence.json b/abi/PolygonSequence.json new file mode 100644 index 0000000..c2da512 --- /dev/null +++ b/abi/PolygonSequence.json @@ -0,0 +1,1352 @@ +[ + { + "inputs": [ + { + "internalType": "contract IPolygonZkEVMGlobalExitRootV2", + "name": "_globalExitRootManager", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "_pol", + "type": "address" + }, + { + "internalType": "contract IPolygonZkEVMBridgeV2", + "name": "_bridgeAddress", + "type": "address" + }, + { + "internalType": "contract PolygonRollupManager", + "name": "_rollupManager", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + + ], + "name": "BatchAlreadyVerified", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "BatchNotSequencedOrNotSequenceEnd", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "ExceedMaxVerifyBatches", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "FinalNumBatchBelowLastVerifiedBatch", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "FinalNumBatchDoesNotMatchPendingState", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "FinalPendingStateNumInvalid", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "ForceBatchNotAllowed", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "ForceBatchTimeoutNotExpired", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "ForceBatchesAlreadyActive", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "ForceBatchesDecentralized", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "ForceBatchesNotAllowedOnEmergencyState", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "ForceBatchesOverflow", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "ForcedDataDoesNotMatch", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "GasTokenNetworkMustBeZeroOnEther", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "GlobalExitRootNotExist", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "HaltTimeoutNotExpired", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "HaltTimeoutNotExpiredAfterEmergencyState", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "HugeTokenMetadataNotSupported", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "InitNumBatchAboveLastVerifiedBatch", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "InitNumBatchDoesNotMatchPendingState", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "InitSequencedBatchDoesNotMatch", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "InvalidInitializeTransaction", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "InvalidProof", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "InvalidRangeBatchTimeTarget", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "InvalidRangeForceBatchTimeout", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "InvalidRangeMultiplierBatchFee", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "MaxTimestampSequenceInvalid", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "NewAccInputHashDoesNotExist", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "NewPendingStateTimeoutMustBeLower", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "NewStateRootNotInsidePrime", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "NewTrustedAggregatorTimeoutMustBeLower", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "NotEnoughMaticAmount", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "NotEnoughPOLAmount", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "OldAccInputHashDoesNotExist", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "OldStateRootDoesNotExist", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "OnlyAdmin", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "OnlyPendingAdmin", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "OnlyRollupManager", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "OnlyTrustedAggregator", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "OnlyTrustedSequencer", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "PendingStateDoesNotExist", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "PendingStateInvalid", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "PendingStateNotConsolidable", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "PendingStateTimeoutExceedHaltAggregationTimeout", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "SequenceZeroBatches", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "SequencedTimestampBelowForcedTimestamp", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "SequencedTimestampInvalid", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "StoredRootMustBeDifferentThanNewRoot", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "TransactionsLengthAboveMax", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "TrustedAggregatorTimeoutExceedHaltAggregationTimeout", + "type": "error" + }, + { + "inputs": [ + + ], + "name": "TrustedAggregatorTimeoutNotExpired", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AcceptAdminRole", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "forceBatchNum", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "lastGlobalExitRoot", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "sequencer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "transactions", + "type": "bytes" + } + ], + "name": "ForceBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes", + "name": "transactions", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "lastGlobalExitRoot", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "sequencer", + "type": "address" + } + ], + "name": "InitialSequenceBatches", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "numBatch", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "l1InfoRoot", + "type": "bytes32" + } + ], + "name": "SequenceBatches", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "numBatch", + "type": "uint64" + } + ], + "name": "SequenceForceBatches", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newForceBatchAddress", + "type": "address" + } + ], + "name": "SetForceBatchAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "newforceBatchTimeout", + "type": "uint64" + } + ], + "name": "SetForceBatchTimeout", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newTrustedSequencer", + "type": "address" + } + ], + "name": "SetTrustedSequencer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "newTrustedSequencerURL", + "type": "string" + } + ], + "name": "SetTrustedSequencerURL", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "TransferAdminRole", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "numBatch", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "stateRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "VerifyBatches", + "type": "event" + }, + { + "inputs": [ + + ], + "name": "GLOBAL_EXIT_ROOT_MANAGER_L2", + "outputs": [ + { + "internalType": "contract IBasePolygonZkEVMGlobalExitRoot", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "INITIALIZE_TX_BRIDGE_LIST_LEN_LEN", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "INITIALIZE_TX_BRIDGE_PARAMS", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS_EMPTY_METADATA", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "INITIALIZE_TX_CONSTANT_BYTES", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "INITIALIZE_TX_CONSTANT_BYTES_EMPTY_METADATA", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "INITIALIZE_TX_DATA_LEN_EMPTY_METADATA", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "INITIALIZE_TX_EFFECTIVE_PERCENTAGE", + "outputs": [ + { + "internalType": "bytes1", + "name": "", + "type": "bytes1" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "SIGNATURE_INITIALIZE_TX_R", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "SIGNATURE_INITIALIZE_TX_S", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "SIGNATURE_INITIALIZE_TX_V", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "TIMESTAMP_RANGE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "acceptAdminRole", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "bridgeAddress", + "outputs": [ + { + "internalType": "contract IPolygonZkEVMBridgeV2", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "calculatePolPerForceBatch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "transactions", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "polAmount", + "type": "uint256" + } + ], + "name": "forceBatch", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "forceBatchAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "forceBatchTimeout", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "name": "forcedBatches", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "gasTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "gasTokenNetwork", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "networkID", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_gasTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_gasTokenNetwork", + "type": "uint32" + }, + { + "internalType": "bytes", + "name": "_gasTokenMetadata", + "type": "bytes" + } + ], + "name": "generateInitializeTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "globalExitRootManager", + "outputs": [ + { + "internalType": "contract IPolygonZkEVMGlobalExitRootV2", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + }, + { + "internalType": "address", + "name": "sequencer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "networkID", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_gasTokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "sequencerURL", + "type": "string" + }, + { + "internalType": "string", + "name": "_networkName", + "type": "string" + } + ], + "name": "initialize", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "lastAccInputHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "lastForceBatch", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "lastForceBatchSequenced", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "networkName", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "lastVerifiedBatch", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "newStateRoot", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "onVerifyBatches", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "pol", + "outputs": [ + { + "internalType": "contract IERC20Upgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "rollupManager", + "outputs": [ + { + "internalType": "contract PolygonRollupManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "transactions", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "forcedGlobalExitRoot", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "forcedTimestamp", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "forcedBlockHashL1", + "type": "bytes32" + } + ], + "internalType": "struct PolygonRollupBaseEtrog.BatchData[]", + "name": "batches", + "type": "tuple[]" + }, + { + "internalType": "uint64", + "name": "maxSequenceTimestamp", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "initSequencedBatch", + "type": "uint64" + }, + { + "internalType": "address", + "name": "l2Coinbase", + "type": "address" + } + ], + "name": "sequenceBatches", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "transactions", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "forcedGlobalExitRoot", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "forcedTimestamp", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "forcedBlockHashL1", + "type": "bytes32" + } + ], + "internalType": "struct PolygonRollupBaseEtrog.BatchData[]", + "name": "batches", + "type": "tuple[]" + } + ], + "name": "sequenceForceBatches", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newForceBatchAddress", + "type": "address" + } + ], + "name": "setForceBatchAddress", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "newforceBatchTimeout", + "type": "uint64" + } + ], + "name": "setForceBatchTimeout", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newTrustedSequencer", + "type": "address" + } + ], + "name": "setTrustedSequencer", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "newTrustedSequencerURL", + "type": "string" + } + ], + "name": "setTrustedSequencerURL", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "transferAdminRole", + "outputs": [ + + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "trustedSequencer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + + ], + "name": "trustedSequencerURL", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } +] diff --git a/abi/PolygonZkEVM.json b/abi/PolygonVerify.json similarity index 54% rename from abi/PolygonZkEVM.json rename to abi/PolygonVerify.json index ed26822..f24bdaa 100644 --- a/abi/PolygonZkEVM.json +++ b/abi/PolygonVerify.json @@ -1,103 +1,75 @@ -[ - { - "inputs": [ - { - "internalType": "contract IPolygonZkEVMGlobalExitRoot", - "name": "_globalExitRootManager", - "type": "address" - }, - { - "internalType": "contract IERC20Upgradeable", - "name": "_matic", - "type": "address" - }, - { - "internalType": "contract IVerifierRollup", - "name": "_rollupVerifier", - "type": "address" - }, - { - "internalType": "contract IPolygonZkEVMBridge", - "name": "_bridgeAddress", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_chainID", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_forkID", - "type": "uint64" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "BatchAlreadyVerified", +[{ + "inputs": [{ + "internalType": "contract IPolygonZkEVMGlobalExitRootV2", + "name": "_globalExitRootManager", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "_pol", + "type": "address" + }, + { + "internalType": "contract IPolygonZkEVMBridge", + "name": "_bridgeAddress", + "type": "address" + }], + "stateMutability": "nonpayable", + "type": "constructor" +}, + { + "inputs": [], + "name": "AccessControlOnlyCanRenounceRolesForSelf", "type": "error" }, { "inputs": [], - "name": "BatchNotSequencedOrNotSequenceEnd", + "name": "AddressDoNotHaveRequiredRole", "type": "error" }, { "inputs": [], - "name": "ExceedMaxVerifyBatches", + "name": "AllzkEVMSequencedBatchesMustBeVerified", "type": "error" }, { "inputs": [], - "name": "FinalNumBatchBelowLastVerifiedBatch", + "name": "BatchFeeOutOfRange", "type": "error" }, { "inputs": [], - "name": "FinalNumBatchDoesNotMatchPendingState", + "name": "ChainIDAlreadyExist", "type": "error" }, { "inputs": [], - "name": "FinalPendingStateNumInvalid", - "type": "error" - }, - { - "inputs": [], - "name": "ForceBatchNotAllowed", - "type": "error" - }, - { - "inputs": [], - "name": "ForceBatchTimeoutNotExpired", + "name": "ExceedMaxVerifyBatches", "type": "error" }, { "inputs": [], - "name": "ForceBatchesAlreadyActive", + "name": "FinalNumBatchBelowLastVerifiedBatch", "type": "error" }, { "inputs": [], - "name": "ForceBatchesOverflow", + "name": "FinalNumBatchDoesNotMatchPendingState", "type": "error" }, { "inputs": [], - "name": "ForcedDataDoesNotMatch", + "name": "FinalPendingStateNumInvalid", "type": "error" }, { "inputs": [], - "name": "GlobalExitRootNotExist", + "name": "HaltTimeoutNotExpired", "type": "error" }, { "inputs": [], - "name": "HaltTimeoutNotExpired", + "name": "InitBatchMustMatchCurrentForkID", "type": "error" }, { @@ -122,12 +94,12 @@ }, { "inputs": [], - "name": "InvalidRangeForceBatchTimeout", + "name": "InvalidRangeMultiplierBatchFee", "type": "error" }, { "inputs": [], - "name": "InvalidRangeMultiplierBatchFee", + "name": "MustSequenceSomeBatch", "type": "error" }, { @@ -150,11 +122,6 @@ "name": "NewTrustedAggregatorTimeoutMustBeLower", "type": "error" }, - { - "inputs": [], - "name": "NotEnoughMaticAmount", - "type": "error" - }, { "inputs": [], "name": "OldAccInputHashDoesNotExist", @@ -165,11 +132,6 @@ "name": "OldStateRootDoesNotExist", "type": "error" }, - { - "inputs": [], - "name": "OnlyAdmin", - "type": "error" - }, { "inputs": [], "name": "OnlyEmergencyState", @@ -182,52 +144,42 @@ }, { "inputs": [], - "name": "OnlyPendingAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "OnlyTrustedAggregator", - "type": "error" - }, - { - "inputs": [], - "name": "OnlyTrustedSequencer", + "name": "PendingStateDoesNotExist", "type": "error" }, { "inputs": [], - "name": "PendingStateDoesNotExist", + "name": "PendingStateInvalid", "type": "error" }, { "inputs": [], - "name": "PendingStateInvalid", + "name": "PendingStateNotConsolidable", "type": "error" }, { "inputs": [], - "name": "PendingStateNotConsolidable", + "name": "RollupAddressAlreadyExist", "type": "error" }, { "inputs": [], - "name": "PendingStateTimeoutExceedHaltAggregationTimeout", + "name": "RollupMustExist", "type": "error" }, { "inputs": [], - "name": "SequenceZeroBatches", + "name": "RollupTypeDoesNotExist", "type": "error" }, { "inputs": [], - "name": "SequencedTimestampBelowForcedTimestamp", + "name": "RollupTypeObsolete", "type": "error" }, { "inputs": [], - "name": "SequencedTimestampInvalid", + "name": "SenderMustBeRollup", "type": "error" }, { @@ -237,43 +189,117 @@ }, { "inputs": [], - "name": "TransactionsLengthAboveMax", + "name": "TrustedAggregatorTimeoutNotExpired", "type": "error" }, { "inputs": [], - "name": "TrustedAggregatorTimeoutExceedHaltAggregationTimeout", + "name": "UpdateNotCompatible", "type": "error" }, { "inputs": [], - "name": "TrustedAggregatorTimeoutNotExpired", + "name": "UpdateToSameRollupTypeID", "type": "error" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "forkID", + "type": "uint64" + }, { "indexed": false, "internalType": "address", - "name": "newAdmin", + "name": "rollupAddress", "type": "address" - } - ], - "name": "AcceptAdminRole", + }, + { + "indexed": false, + "internalType": "uint64", + "name": "chainID", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "rollupCompatibilityID", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "lastVerifiedBatchBeforeUpgrade", + "type": "uint64" + }], + "name": "AddExistingRollup", "type": "event" }, { "anonymous": false, - "inputs": [], - "name": "ActivateForceBatches", + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupTypeID", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "consensusImplementation", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "verifier", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "forkID", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "rollupCompatibilityID", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "genesis", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "description", + "type": "string" + }], + "name": "AddNewRollupType", "type": "event" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { - "indexed": true, + "indexed": false, "internalType": "uint64", "name": "numBatch", "type": "uint64" @@ -285,15 +311,55 @@ "type": "bytes32" }, { - "indexed": true, + "indexed": false, + "internalType": "bytes32", + "name": "exitRoot", + "type": "bytes32" + }, + { + "indexed": false, "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" - } - ], + }], "name": "ConsolidatePendingState", "type": "event" }, + { + "anonymous": false, + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "rollupTypeID", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "rollupAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "chainID", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "address", + "name": "gasTokenAddress", + "type": "address" + }], + "name": "CreateNewRollup", + "type": "event" + }, { "anonymous": false, "inputs": [], @@ -308,53 +374,53 @@ }, { "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint64", - "name": "forceBatchNum", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "lastGlobalExitRoot", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "sequencer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "transactions", - "type": "bytes" - } - ], - "name": "ForceBatch", + "inputs": [{ + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + }], + "name": "Initialized", "type": "event" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupTypeID", + "type": "uint32" + }], + "name": "ObsoleteRollupType", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", + "internalType": "uint64", + "name": "lastBatchSequenced", + "type": "uint64" + }], + "name": "OnSequenceBatches", "type": "event" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { - "indexed": true, + "indexed": false, "internalType": "uint64", "name": "numBatch", "type": "uint64" @@ -366,199 +432,203 @@ "type": "bytes32" }, { - "indexed": true, + "indexed": false, + "internalType": "bytes32", + "name": "exitRoot", + "type": "bytes32" + }, + { + "indexed": false, "internalType": "address", "name": "aggregator", "type": "address" - } - ], + }], "name": "OverridePendingState", "type": "event" }, { "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, + "inputs": [{ + "indexed": false, + "internalType": "bytes32", + "name": "storedStateRoot", + "type": "bytes32" + }, { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", + "indexed": false, + "internalType": "bytes32", + "name": "provedStateRoot", + "type": "bytes32" + }], + "name": "ProveNonDeterministicPendingState", "type": "event" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, { - "indexed": false, + "indexed": true, "internalType": "bytes32", - "name": "storedStateRoot", + "name": "previousAdminRole", "type": "bytes32" }, { - "indexed": false, + "indexed": true, "internalType": "bytes32", - "name": "provedStateRoot", + "name": "newAdminRole", "type": "bytes32" - } - ], - "name": "ProveNonDeterministicPendingState", + }], + "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, { "indexed": true, - "internalType": "uint64", - "name": "numBatch", - "type": "uint64" - } - ], - "name": "SequenceBatches", + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }], + "name": "RoleGranted", "type": "event" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, { "indexed": true, - "internalType": "uint64", - "name": "numBatch", - "type": "uint64" - } - ], - "name": "SequenceForceBatches", + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }], + "name": "RoleRevoked", "type": "event" }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint64", - "name": "newforceBatchTimeout", - "type": "uint64" - } - ], - "name": "SetForceBatchTimeout", + "inputs": [{ + "indexed": false, + "internalType": "uint256", + "name": "newBatchFee", + "type": "uint256" + }], + "name": "SetBatchFee", "type": "event" }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "newMultiplierBatchFee", - "type": "uint16" - } - ], + "inputs": [{ + "indexed": false, + "internalType": "uint16", + "name": "newMultiplierBatchFee", + "type": "uint16" + }], "name": "SetMultiplierBatchFee", "type": "event" }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint64", - "name": "newPendingStateTimeout", - "type": "uint64" - } - ], + "inputs": [{ + "indexed": false, + "internalType": "uint64", + "name": "newPendingStateTimeout", + "type": "uint64" + }], "name": "SetPendingStateTimeout", "type": "event" }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newTrustedAggregator", - "type": "address" - } - ], + "inputs": [{ + "indexed": false, + "internalType": "address", + "name": "newTrustedAggregator", + "type": "address" + }], "name": "SetTrustedAggregator", "type": "event" }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint64", - "name": "newTrustedAggregatorTimeout", - "type": "uint64" - } - ], + "inputs": [{ + "indexed": false, + "internalType": "uint64", + "name": "newTrustedAggregatorTimeout", + "type": "uint64" + }], "name": "SetTrustedAggregatorTimeout", "type": "event" }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newTrustedSequencer", - "type": "address" - } - ], - "name": "SetTrustedSequencer", + "inputs": [{ + "indexed": false, + "internalType": "uint64", + "name": "newVerifyBatchTimeTarget", + "type": "uint64" + }], + "name": "SetVerifyBatchTimeTarget", "type": "event" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "indexed": false, - "internalType": "string", - "name": "newTrustedSequencerURL", - "type": "string" - } - ], - "name": "SetTrustedSequencerURL", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ + "internalType": "uint32", + "name": "newRollupTypeID", + "type": "uint32" + }, { "indexed": false, "internalType": "uint64", - "name": "newVerifyBatchTimeTarget", + "name": "lastVerifiedBatchBeforeUpgrade", "type": "uint64" - } - ], - "name": "SetVerifyBatchTimeTarget", + }], + "name": "UpdateRollup", "type": "event" }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newPendingAdmin", - "type": "address" - } - ], - "name": "TransferAdminRole", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "indexed": false, "internalType": "uint64", @@ -567,33 +637,14 @@ }, { "indexed": false, - "internalType": "uint64", - "name": "forkID", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "name": "UpdateZkEVMVersion", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint64", - "name": "numBatch", - "type": "uint64" + "internalType": "bytes32", + "name": "stateRoot", + "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", - "name": "stateRoot", + "name": "exitRoot", "type": "bytes32" }, { @@ -601,16 +652,20 @@ "internalType": "address", "name": "aggregator", "type": "address" - } - ], + }], "name": "VerifyBatches", "type": "event" }, { "anonymous": false, - "inputs": [ + "inputs": [{ + "indexed": true, + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { - "indexed": true, + "indexed": false, "internalType": "uint64", "name": "numBatch", "type": "uint64" @@ -621,244 +676,240 @@ "name": "stateRoot", "type": "bytes32" }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exitRoot", + "type": "bytes32" + }, { "indexed": true, "internalType": "address", "name": "aggregator", "type": "address" - } - ], + }], "name": "VerifyBatchesTrustedAggregator", "type": "event" }, { "inputs": [], - "name": "acceptAdminRole", - "outputs": [], - "stateMutability": "nonpayable", + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [{ + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }], + "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "internalType": "uint64", - "name": "sequencedBatchNum", - "type": "uint64" - } - ], + "inputs": [], "name": "activateEmergencyState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "name": "activateForceBatches", + "inputs": [{ + "internalType": "contract IPolygonRollupBase", + "name": "rollupAddress", + "type": "address" + }, + { + "internalType": "contract IVerifierRollup", + "name": "verifier", + "type": "address" + }, + { + "internalType": "uint64", + "name": "forkID", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "chainID", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "genesis", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "rollupCompatibilityID", + "type": "uint8" + }], + "name": "addExistingRollup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "name": "admin", - "outputs": [ + "inputs": [{ + "internalType": "address", + "name": "consensusImplementation", + "type": "address" + }, { - "internalType": "address", - "name": "", + "internalType": "contract IVerifierRollup", + "name": "verifier", "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "batchFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ + }, { "internalType": "uint64", - "name": "", + "name": "forkID", "type": "uint64" - } - ], - "name": "batchNumToStateRoot", - "outputs": [ + }, + { + "internalType": "uint8", + "name": "rollupCompatibilityID", + "type": "uint8" + }, { "internalType": "bytes32", - "name": "", + "name": "genesis", "type": "bytes32" - } - ], - "stateMutability": "view", + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }], + "name": "addNewRollupType", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "bridgeAddress", - "outputs": [ - { - "internalType": "contract IPolygonZkEVMBridge", - "name": "", - "type": "address" - } - ], + "outputs": [{ + "internalType": "contract IPolygonZkEVMBridge", + "name": "", + "type": "address" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "calculateRewardPerBatch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], + "outputs": [{ + "internalType": "uint256", + "name": "", + "type": "uint256" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "chainID", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], + "inputs": [{ + "internalType": "uint64", + "name": "chainID", + "type": "uint64" + }], + "name": "chainIDToRollupID", + "outputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "internalType": "uint256", - "name": "newStateRoot", - "type": "uint256" - } - ], - "name": "checkStateRootInsidePrime", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" - } - ], + }], "name": "consolidatePendingState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "name": "deactivateEmergencyState", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupTypeID", + "type": "uint32" + }, { - "internalType": "bytes", - "name": "transactions", - "type": "bytes" + "internalType": "uint64", + "name": "chainID", + "type": "uint64" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "sequencer", + "type": "address" + }, + { + "internalType": "address", + "name": "gasTokenAddress", + "type": "address" }, { - "internalType": "uint256", - "name": "maticAmount", - "type": "uint256" - } - ], - "name": "forceBatch", + "internalType": "string", + "name": "sequencerURL", + "type": "string" + }, + { + "internalType": "string", + "name": "networkName", + "type": "string" + }], + "name": "createNewRollup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "forceBatchTimeout", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "name": "forcedBatches", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", + "name": "deactivateEmergencyState", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "forkID", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], + "name": "getBatchFee", + "outputs": [{ + "internalType": "uint256", + "name": "", + "type": "uint256" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getForcedBatchFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], + "outputs": [{ + "internalType": "uint256", + "name": "", + "type": "uint256" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "internalType": "uint64", "name": "initNumBatch", @@ -883,282 +934,356 @@ "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" - } - ], + }], "name": "getInputSnarkBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], + "outputs": [{ + "internalType": "bytes", + "name": "", + "type": "bytes" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [], + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }], "name": "getLastVerifiedBatch", - "outputs": [ + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }], + "name": "getRoleAdmin", + "outputs": [{ + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "internalType": "uint64", - "name": "", + "name": "batchNum", "type": "uint64" - } - ], + }], + "name": "getRollupBatchNumToStateRoot", + "outputs": [{ + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "globalExitRootManager", - "outputs": [ - { - "internalType": "contract IPolygonZkEVMGlobalExitRoot", - "name": "", - "type": "address" - } - ], + "name": "getRollupExitRoot", + "outputs": [{ + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "admin", - "type": "address" - }, - { - "internalType": "address", - "name": "trustedSequencer", - "type": "address" - }, - { - "internalType": "uint64", - "name": "pendingStateTimeout", - "type": "uint64" - }, - { - "internalType": "address", - "name": "trustedAggregator", - "type": "address" - }, - { - "internalType": "uint64", - "name": "trustedAggregatorTimeout", - "type": "uint64" - } - ], - "internalType": "struct PolygonZkEVM.InitializePackedParameters", - "name": "initializePackedParameters", - "type": "tuple" - }, - { - "internalType": "bytes32", - "name": "genesisRoot", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "_trustedSequencerURL", - "type": "string" - }, + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { - "internalType": "string", - "name": "_networkName", - "type": "string" + "internalType": "uint64", + "name": "batchNum", + "type": "uint64" + }], + "name": "getRollupPendingStateTransitions", + "outputs": [{ + "components": [{ + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" }, - { - "internalType": "string", - "name": "_version", - "type": "string" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", + { + "internalType": "uint64", + "name": "lastVerifiedBatch", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "exitRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "stateRoot", + "type": "bytes32" + }], + "internalType": "struct LegacyZKEVMStateVariables.PendingState", + "name": "", + "type": "tuple" + }], + "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "isEmergencyState", - "outputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], + "internalType": "uint64", + "name": "batchNum", + "type": "uint64" + }], + "name": "getRollupSequencedBatches", + "outputs": [{ + "components": [{ + "internalType": "bytes32", + "name": "accInputHash", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "sequencedTimestamp", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "previousLastBatchSequenced", + "type": "uint64" + }], + "internalType": "struct LegacyZKEVMStateVariables.SequencedBatchData", + "name": "", + "type": "tuple" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "isForcedBatchDisallowed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], + "name": "globalExitRootManager", + "outputs": [{ + "internalType": "contract IPolygonZkEVMGlobalExitRootV2", + "name": "", + "type": "address" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [ + "inputs": [{ + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, { - "internalType": "uint64", - "name": "pendingStateNum", - "type": "uint64" - } - ], - "name": "isPendingStateConsolidable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", + "internalType": "address", + "name": "account", + "type": "address" + }], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "name": "lastBatchSequenced", - "outputs": [ + "inputs": [{ + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], + "internalType": "address", + "name": "account", + "type": "address" + }], + "name": "hasRole", + "outputs": [{ + "internalType": "bool", + "name": "", + "type": "bool" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "lastForceBatch", - "outputs": [ + "inputs": [{ + "internalType": "address", + "name": "trustedAggregator", + "type": "address" + }, { "internalType": "uint64", - "name": "", + "name": "_pendingStateTimeout", "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastForceBatchSequenced", - "outputs": [ + }, { "internalType": "uint64", - "name": "", + "name": "_trustedAggregatorTimeout", "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastPendingState", - "outputs": [ + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "timelock", + "type": "address" + }, + { + "internalType": "address", + "name": "emergencyCouncil", + "type": "address" + }, + { + "internalType": "contract PolygonZkEVMExistentEtrog", + "name": "polygonZkEVM", + "type": "address" + }, + { + "internalType": "contract IVerifierRollup", + "name": "zkEVMVerifier", + "type": "address" + }, { "internalType": "uint64", - "name": "", + "name": "zkEVMForkID", "type": "uint64" - } - ], - "stateMutability": "view", + }, + { + "internalType": "uint64", + "name": "zkEVMChainID", + "type": "uint64" + }], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "lastPendingStateConsolidated", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], + "name": "isEmergencyState", + "outputs": [{ + "internalType": "bool", + "name": "", + "type": "bool" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "lastTimestamp", - "outputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "internalType": "uint64", - "name": "", + "name": "pendingStateNum", "type": "uint64" - } - ], + }], + "name": "isPendingStateConsolidable", + "outputs": [{ + "internalType": "bool", + "name": "", + "type": "bool" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "lastVerifiedBatch", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], + "name": "lastAggregationTimestamp", + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "matic", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], + "name": "lastDeactivatedEmergencyStateTimestamp", + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "multiplierBatchFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], + "outputs": [{ + "internalType": "uint16", + "name": "", + "type": "uint16" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "networkName", - "outputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupTypeID", + "type": "uint32" + }], + "name": "obsoleteRollupType", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ + "internalType": "uint64", + "name": "newSequencedBatches", + "type": "uint64" + }, { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", + "internalType": "bytes32", + "name": "newAccInputHash", + "type": "bytes32" + }], + "name": "onSequenceBatches", + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], + "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "internalType": "uint64", "name": "initPendingStateNum", @@ -1193,88 +1318,40 @@ "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" - } - ], + }], "name": "overridePendingState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pendingAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "pendingStateTimeout", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "pendingStateTransitions", - "outputs": [ - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "lastVerifiedBatch", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "exitRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "stateRoot", - "type": "bytes32" - } - ], + "inputs": [], + "name": "pol", + "outputs": [{ + "internalType": "contract IERC20Upgradeable", + "name": "", + "type": "address" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "internalType": "uint64", "name": "initPendingStateNum", @@ -1309,329 +1386,317 @@ "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" - } - ], + }], "name": "proveNonDeterministicPendingState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rollupVerifier", - "outputs": [ + "inputs": [{ + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, { - "internalType": "contract IVerifierRollup", - "name": "", + "internalType": "address", + "name": "account", "type": "address" - } - ], - "stateMutability": "view", + }], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ - { - "components": [ - { - "internalType": "bytes", - "name": "transactions", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "globalExitRoot", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "minForcedTimestamp", - "type": "uint64" - } - ], - "internalType": "struct PolygonZkEVM.BatchData[]", - "name": "batches", - "type": "tuple[]" - }, + "inputs": [{ + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, { "internalType": "address", - "name": "l2Coinbase", + "name": "account", "type": "address" - } - ], - "name": "sequenceBatches", + }], + "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ - { - "components": [ - { - "internalType": "bytes", - "name": "transactions", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "globalExitRoot", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "minForcedTimestamp", - "type": "uint64" - } - ], - "internalType": "struct PolygonZkEVM.ForcedBatchData[]", - "name": "batches", - "type": "tuple[]" - } - ], - "name": "sequenceForceBatches", - "outputs": [], - "stateMutability": "nonpayable", + "inputs": [{ + "internalType": "address", + "name": "rollupAddress", + "type": "address" + }], + "name": "rollupAddressToID", + "outputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rollupCount", + "outputs": [{ + "internalType": "uint32", + "name": "", + "type": "uint32" + }], + "stateMutability": "view", "type": "function" }, { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }], + "name": "rollupIDToRollupData", + "outputs": [{ + "internalType": "contract IPolygonRollupBase", + "name": "rollupContract", + "type": "address" + }, + { + "internalType": "uint64", + "name": "chainID", + "type": "uint64" + }, + { + "internalType": "contract IVerifierRollup", + "name": "verifier", + "type": "address" + }, { "internalType": "uint64", - "name": "", + "name": "forkID", "type": "uint64" - } - ], - "name": "sequencedBatches", - "outputs": [ + }, { "internalType": "bytes32", - "name": "accInputHash", + "name": "lastLocalExitRoot", "type": "bytes32" }, { "internalType": "uint64", - "name": "sequencedTimestamp", + "name": "lastBatchSequenced", "type": "uint64" }, { "internalType": "uint64", - "name": "previousLastBatchSequenced", + "name": "lastVerifiedBatch", "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ + }, { "internalType": "uint64", - "name": "newforceBatchTimeout", + "name": "lastPendingState", "type": "uint64" - } - ], - "name": "setForceBatchTimeout", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ + }, { - "internalType": "uint16", - "name": "newMultiplierBatchFee", - "type": "uint16" - } - ], - "name": "setMultiplierBatchFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ + "internalType": "uint64", + "name": "lastPendingStateConsolidated", + "type": "uint64" + }, { "internalType": "uint64", - "name": "newPendingStateTimeout", + "name": "lastVerifiedBatchBeforeUpgrade", "type": "uint64" - } - ], - "name": "setPendingStateTimeout", - "outputs": [], - "stateMutability": "nonpayable", + }, + { + "internalType": "uint64", + "name": "rollupTypeID", + "type": "uint64" + }, + { + "internalType": "uint8", + "name": "rollupCompatibilityID", + "type": "uint8" + }], + "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "internalType": "address", - "name": "newTrustedAggregator", - "type": "address" - } - ], - "name": "setTrustedAggregator", - "outputs": [], - "stateMutability": "nonpayable", + "inputs": [], + "name": "rollupTypeCount", + "outputs": [{ + "internalType": "uint32", + "name": "", + "type": "uint32" + }], + "stateMutability": "view", "type": "function" }, { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupTypeID", + "type": "uint32" + }], + "name": "rollupTypeMap", + "outputs": [{ + "internalType": "address", + "name": "consensusImplementation", + "type": "address" + }, + { + "internalType": "contract IVerifierRollup", + "name": "verifier", + "type": "address" + }, { "internalType": "uint64", - "name": "newTrustedAggregatorTimeout", + "name": "forkID", "type": "uint64" - } - ], - "name": "setTrustedAggregatorTimeout", - "outputs": [], - "stateMutability": "nonpayable", + }, + { + "internalType": "uint8", + "name": "rollupCompatibilityID", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "obsolete", + "type": "bool" + }, + { + "internalType": "bytes32", + "name": "genesis", + "type": "bytes32" + }], + "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "internalType": "address", - "name": "newTrustedSequencer", - "type": "address" - } - ], - "name": "setTrustedSequencer", + "inputs": [{ + "internalType": "uint256", + "name": "newBatchFee", + "type": "uint256" + }], + "name": "setBatchFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ - { - "internalType": "string", - "name": "newTrustedSequencerURL", - "type": "string" - } - ], - "name": "setTrustedSequencerURL", + "inputs": [{ + "internalType": "uint16", + "name": "newMultiplierBatchFee", + "type": "uint16" + }], + "name": "setMultiplierBatchFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ - { - "internalType": "uint64", - "name": "newVerifyBatchTimeTarget", - "type": "uint64" - } - ], - "name": "setVerifyBatchTimeTarget", + "inputs": [{ + "internalType": "uint64", + "name": "newPendingStateTimeout", + "type": "uint64" + }], + "name": "setPendingStateTimeout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ - { - "internalType": "address", - "name": "newPendingAdmin", - "type": "address" - } - ], - "name": "transferAdminRole", + "inputs": [{ + "internalType": "uint64", + "name": "newTrustedAggregatorTimeout", + "type": "uint64" + }], + "name": "setTrustedAggregatorTimeout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", + "inputs": [{ + "internalType": "uint64", + "name": "newVerifyBatchTimeTarget", + "type": "uint64" + }], + "name": "setVerifyBatchTimeTarget", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "trustedAggregator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], + "name": "totalSequencedBatches", + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "trustedAggregatorTimeout", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], + "name": "totalVerifiedBatches", + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "trustedSequencer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], + "name": "trustedAggregatorTimeout", + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "trustedSequencerURL", - "outputs": [ + "inputs": [{ + "internalType": "contract ITransparentUpgradeableProxy", + "name": "rollupContract", + "type": "address" + }, { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", + "internalType": "uint32", + "name": "newRollupTypeID", + "type": "uint32" + }, + { + "internalType": "bytes", + "name": "upgradeData", + "type": "bytes" + }], + "name": "updateRollup", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "verifyBatchTimeTarget", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], + "outputs": [{ + "internalType": "uint64", + "name": "", + "type": "uint64" + }], "stateMutability": "view", "type": "function" }, { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "internalType": "uint64", "name": "pendingStateNum", @@ -1657,19 +1722,27 @@ "name": "newStateRoot", "type": "bytes32" }, + { + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, { "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" - } - ], + }], "name": "verifyBatches", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ + "inputs": [{ + "internalType": "uint32", + "name": "rollupID", + "type": "uint32" + }, { "internalType": "uint64", "name": "pendingStateNum", @@ -1695,15 +1768,18 @@ "name": "newStateRoot", "type": "bytes32" }, + { + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, { "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" - } - ], + }], "name": "verifyBatchesTrustedAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" - } -] + }] diff --git a/docs/sql/listener.sql b/docs/sql/listener.sql index b2a1712..f9fb930 100644 --- a/docs/sql/listener.sql +++ b/docs/sql/listener.sql @@ -1,5 +1,5 @@ -Create Database If Not Exists b2_committer Character Set UTF8; -USE b2_committer; +Create Database If Not Exists b2_committer2 Character Set UTF8; +USE b2_committer2; SET NAMES utf8mb4; @@ -145,11 +145,12 @@ CREATE TABLE `proposal` ( `proof_root_hash` varchar(128) NOT NULL, `start_batch_num` bigint NOT NULL, `end_batch_num` bigint NOT NULL, - `btc_commit_tx_hash` varchar(128) , - `btc_reveal_tx_hash` varchar(128) , + `btc_tx_hash` varchar(128) , `winner` varchar(128), `status` bigint NOT NULL DEFAULT 0, - `upload_details` tinyint(1) default 0, + `generate_details_file` tinyint default 0 comment '0:no generate details file 1:already generate details file for uploading', + `generate_details_file_time` datetime, + `ar_tx_hash` varchar(128), PRIMARY KEY (`id`), KEY `proposal_id_index` (`proposal_id`) ) diff --git a/go.mod b/go.mod index bac179c..9520d14 100644 --- a/go.mod +++ b/go.mod @@ -3,197 +3,99 @@ module github.com/b2network/b2committer go 1.21 require ( - cosmossdk.io/math v1.0.0-rc.0 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcec/v2 v2.3.2 - github.com/btcsuite/btcd/btcutil v1.1.2 + github.com/btcsuite/btcd/btcutil v1.1.3 github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 github.com/caarlos0/env/v6 v6.10.1 - github.com/cosmos/cosmos-sdk v0.46.11 github.com/ethereum/go-ethereum v1.13.14 - github.com/evmos/ethermint v0.22.0 github.com/pkg/errors v0.9.1 github.com/shopspring/decimal v1.3.1 github.com/stretchr/testify v1.8.4 github.com/txaty/go-merkletree v0.2.2 go.uber.org/zap v1.23.0 google.golang.org/grpc v1.60.1 - gorm.io/driver/mysql v1.5.2 - gorm.io/gorm v1.25.5 + gorm.io/driver/postgres v1.5.7 + gorm.io/gorm v1.25.7-0.20240204074919-46816ad31dde ) require ( - cloud.google.com/go v0.111.0 // indirect - cloud.google.com/go/compute v1.23.3 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.5 // indirect - cloud.google.com/go/storage v1.30.1 // indirect - cosmossdk.io/errors v1.0.0-beta.7 // indirect - filippo.io/edwards25519 v1.0.0-rc.1 // indirect - github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect - github.com/99designs/keyring v1.2.1 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/StackExchange/wmi v1.2.1 // indirect github.com/aead/siphash v1.0.1 // indirect - github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.44.122 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect - github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect github.com/bits-and-blooms/bitset v1.10.0 // indirect github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f // indirect github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect - github.com/cockroachdb/apd/v2 v2.0.2 // indirect - github.com/confio/ics23/go v0.9.0 // indirect github.com/consensys/bavard v0.1.13 // indirect github.com/consensys/gnark-crypto v0.12.1 // indirect - github.com/cosmos/btcutil v1.0.5 // indirect - github.com/cosmos/cosmos-proto v1.0.0-beta.3 // indirect - github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.7 // indirect - github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.5 // indirect - github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect - github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deckarep/golang-set/v2 v2.1.0 // indirect github.com/decred/dcrd/crypto/blake256 v1.0.0 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect - github.com/dgraph-io/badger/v2 v2.2007.4 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect - github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/dvsekhvalnov/jose2go v1.5.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect github.com/ethereum/c-kzg-4844 v0.4.0 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/everFinance/arseeding v1.0.3 // indirect + github.com/everFinance/ethrpc v1.0.4 // indirect + github.com/everFinance/goar v1.6.2 // indirect + github.com/everFinance/goether v1.1.9 // indirect + github.com/everFinance/gojwk v1.0.0 // indirect + github.com/everFinance/ttcrsa v1.1.3 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-kit/kit v0.12.0 // indirect - github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/go-logr/logr v1.2.4 // indirect - github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.3.0 // indirect github.com/go-sql-driver/mysql v1.7.0 // indirect - github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/gateway v1.1.0 // indirect + github.com/go-stack/stack v1.8.1 // indirect github.com/gogo/protobuf v1.3.3 // indirect - github.com/golang/glog v1.1.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect - github.com/google/btree v1.1.2 // indirect github.com/google/go-cmp v0.6.0 // indirect - github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.4.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.0 // indirect - github.com/gorilla/handlers v1.5.1 // indirect - github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect - github.com/gtank/merlin v0.1.1 // indirect - github.com/gtank/ristretto255 v0.1.2 // indirect - github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-getter v1.7.0 // indirect - github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/go-safetemp v1.0.0 // indirect - github.com/hashicorp/go-version v1.6.0 // indirect - github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/hamba/avro v1.5.6 // indirect github.com/holiman/uint256 v1.2.4 // indirect - github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac // indirect + github.com/jackc/pgpassfile v1.0.0 // indirect + github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect + github.com/jackc/pgx/v5 v5.4.3 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/jmhodges/levigo v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 // indirect - github.com/klauspost/compress v1.15.15 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/magiconair/properties v1.8.7 // indirect - github.com/manifoldco/promptui v0.9.0 // indirect + github.com/linkedin/goavro/v2 v2.12.0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.17 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mmcloughlin/addchain v0.4.0 // indirect - github.com/mtibben/percent v0.2.1 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/panjf2000/ants/v2 v2.6.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.14.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/rakyll/statik v0.1.7 // indirect - github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/rs/cors v1.8.2 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect - github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.7.0 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.15.0 // indirect - github.com/subosito/gotenv v1.4.2 // indirect github.com/supranational/blst v0.3.11 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect - github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tendermint/tendermint v0.34.27 // indirect - github.com/tendermint/tm-db v0.6.7 // indirect - github.com/tidwall/btree v1.5.0 // indirect - github.com/tidwall/gjson v1.14.4 // indirect + github.com/tidwall/gjson v1.14.1 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect - github.com/tidwall/sjson v1.2.5 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect - github.com/ulikunitz/xz v0.5.10 // indirect - github.com/zondax/hid v0.9.1 // indirect - github.com/zondax/ledger-go v0.14.1 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/otel v1.19.0 // indirect - go.opentelemetry.io/otel/metric v1.19.0 // indirect - go.opentelemetry.io/otel/trace v1.19.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect golang.org/x/crypto v0.18.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect golang.org/x/mod v0.14.0 // indirect golang.org/x/net v0.20.0 // indirect - golang.org/x/oauth2 v0.15.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.17.0 // indirect - google.golang.org/api v0.149.0 // indirect - google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20231212172506-995d672761c0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 // indirect google.golang.org/protobuf v1.32.0 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/h2non/gentleman.v2 v2.0.5 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + gorm.io/datatypes v1.0.1 // indirect + gorm.io/driver/mysql v1.5.4 // indirect rsc.io/tmplfunc v0.0.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect ) -replace ( - github.com/evmos/ethermint => github.com/b2network/b2-node v0.0.0-20240204125823-c364bff9b6f1 - github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27 - -) +replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 diff --git a/go.sum b/go.sum index 642aa51..0150058 100644 --- a/go.sum +++ b/go.sum @@ -1,249 +1,21 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= -cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= -cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.111.0 h1:YHLKNupSD1KqjDbQ3+LVdQ81h/UJbJyZG203cEfnQgM= -cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU= -cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= -cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= -cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= -cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= -cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= -cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= -cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= -cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= -cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= -cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= -cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= -cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= -cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= -cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= -cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= -cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= -cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= -cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= -cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= -cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= -cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= -cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= -cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= -cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= -cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= -cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= -cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= -cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= -cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= -cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= -cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= -cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= -cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= -cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= -cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= -cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= -cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= -cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= -cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= -cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= -cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= -cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= -cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= -cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= -cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= -cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= -cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= -cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= -cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= -cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= -cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= -cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= -cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= -cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= -cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= -cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= -cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= -cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= -cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= -cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= -cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= -cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= -cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= -cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= -cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= -cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= -cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= -cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= -cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= -cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= -cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= -cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= -cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= -cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= -cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= -cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= -cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= -cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= -cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= -cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= -cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= -cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= -cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= -cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= -cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= -cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= -cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= -cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= -cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= -cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= -cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= -cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= -cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= -cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= -cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= -cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= -cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= -cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= -cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= -cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= -cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= -cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= -cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= -cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= -cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= -cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= -cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= -cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= -cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= -cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= -cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= -cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= -cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= -cosmossdk.io/math v1.0.0-rc.0 h1:ml46ukocrAAoBpYKMidF0R2tQJ1Uxfns0yH8wqgMAFc= -cosmossdk.io/math v1.0.0-rc.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= -filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= -github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= -github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= -github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA= github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VictoriaMetrics/fastcache v1.12.1 h1:i0mICQuojGDL3KblA7wUNlY5lOK6a4bwt3uRKnkZU40= github.com/VictoriaMetrics/fastcache v1.12.1/go.mod h1:tX04vaqcNoQeGLD+ra5pU5sWkuxnzWhEzLwhP9w653o= -github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= -github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/agiledragon/gomonkey/v2 v2.11.0 h1:5oxSgA+tC1xuGsrIorR+sYiziYltmJyEZ9qA25b6l5U= github.com/agiledragon/gomonkey/v2 v2.11.0/go.mod h1:ap1AmDzcVOAz1YpeJ3TCzIgstoaWLA6jbbgxfB4w2iY= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= -github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/aws/aws-sdk-go v1.44.122 h1:p6mw01WBaNpbdP2xrisz5tIkcNwzj/HysobNoaAHjgo= -github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/b2network/b2-node v0.0.0-20240204125823-c364bff9b6f1 h1:qBbJcGEcqVqF9pPi62Af7cwZx8oW7mNcGpaltM0p36A= -github.com/b2network/b2-node v0.0.0-20240204125823-c364bff9b6f1/go.mod h1:5JgEd35fH7HW6rqfYOpvHS7SlUoQUCCPoCiOzTo/EME= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= -github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= -github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= -github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.10.0 h1:ePXTeiPEazB5+opbv5fr8umg2R/1NlzgDsyepwsSr88= github.com/bits-and-blooms/bitset v1.10.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= @@ -259,6 +31,8 @@ github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9Ur github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= github.com/btcsuite/btcd/btcutil v1.1.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ= github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= +github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= @@ -276,39 +50,14 @@ github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtE github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/caarlos0/env/v6 v6.10.1 h1:t1mPSxNpei6M5yAeu1qtRdPAK29Nbcf/n3G7x+b3/II= github.com/caarlos0/env/v6 v6.10.1/go.mod h1:hvp/ryKXKipEkcuYjs9mI4bBCg+UI0Yhgm5Zu0ddvwc= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= -github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/errors v1.8.1 h1:A5+txlVZfOqFBDa4mGz2bUWSp0aHElvHX2bKkdbQu+Y= github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= @@ -321,52 +70,19 @@ github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 h1:IKgmqgMQlVJIZj19CdocBeS github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= -github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= -github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= -github.com/cometbft/cometbft v0.34.27 h1:ri6BvmwjWR0gurYjywcBqRe4bbwc3QVs9KRcCzgh/J0= -github.com/cometbft/cometbft v0.34.27/go.mod h1:BcCbhKv7ieM0KEddnYXvQZR+pZykTKReJJYf7YC7qhw= -github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= -github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= -github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= -github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ= github.com/consensys/bavard v0.1.13/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= github.com/consensys/gnark-crypto v0.12.1 h1:lHH39WuuFgVHONRl3J0LRBtuYdQTumFSDtJF7HpyG8M= github.com/consensys/gnark-crypto v0.12.1/go.mod h1:v2Gy7L/4ZRosZ7Ivs+9SfUDr0f5UlG+EM5t7MPHiLuY= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= -github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= -github.com/cosmos/cosmos-proto v1.0.0-beta.3 h1:VitvZ1lPORTVxkmF2fAp3IiA61xVwArQYKXTdEcpW6o= -github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= -github.com/cosmos/cosmos-sdk v0.46.11 h1:csMJQHtcb/EIu2EJmeg/2NaGkGw3ZScFwa4CRpCCw18= -github.com/cosmos/cosmos-sdk v0.46.11/go.mod h1:bG4AkW9bqc8ycrryyKGQEl3YV9BY2wr6HggGq8kvcgM= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= -github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= -github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/gogoproto v1.4.7 h1:RzYKVnsEC7UIkDnhTIkqEB7LnIQbsySvmNEqPCiPevk= -github.com/cosmos/gogoproto v1.4.7/go.mod h1:gxGePp9qedovvl/StQL2BIJ6qlIBn1+9YxR0IulGBKA= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= -github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.5 h1:rGA3hOrgNxgRM5wYcSCxgQBap7fW82WZgY78V9po/iY= -github.com/cosmos/iavl v0.19.5/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v6 v6.1.0 h1:o7oXws2vKkKfOFzJI+oNylRn44PCNt5wzHd/zKQKbvQ= -github.com/cosmos/ibc-go/v6 v6.1.0/go.mod h1:CY3zh2HLfetRiW8LY6kVHMATe90Wj/UOoY8T6cuB0is= -github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= -github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= -github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 h1:d28BXYi+wUpz1KBmiF9bWrjEMacUEREV6MBi2ODnrfQ= github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233/go.mod h1:geZJZH3SzKCqnz5VT0q/DyIG/tvu/dZk+VIfXicupJs= github.com/crate-crypto/go-kzg-4844 v0.7.0 h1:C0vgZRk4q4EZ/JgPfzuSoxdCq3C3mOZMBShovmncxvA= github.com/crate-crypto/go-kzg-4844 v0.7.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc= -github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= -github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= -github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= -github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -377,54 +93,32 @@ github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= -github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= -github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= -github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dlclark/regexp2 v1.7.0 h1:7lJfhqlPssTb1WQx4yvTHN0uElPEv52sbaECrAQxjAo= -github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/dop251/goja v0.0.0-20230806174421-c933cf95e127 h1:qwcF+vdFrvPSEUDSX5RVoRccG8a5DhOdWdQ4zN62zzo= -github.com/dop251/goja v0.0.0-20230806174421-c933cf95e127/go.mod h1:QMWlm50DNe14hD7t24KEqZuUdC9sOTy8W6XbCU1mlw4= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY= github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= github.com/ethereum/go-ethereum v1.13.14 h1:EwiY3FZP94derMCIam1iW4HFVrSgIcpsu0HwTQtm6CQ= github.com/ethereum/go-ethereum v1.13.14/go.mod h1:TN8ZiHrdJwSe8Cb6x+p0hs5CxhJZPbqB7hHkaUXcmIU= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/everFinance/arseeding v1.0.3 h1:V1e98ehAGFJch6T7aP9jeb2cpoll68fB/GyuMmoBesM= +github.com/everFinance/arseeding v1.0.3/go.mod h1:fxoIIXIL7G7nd6glaEvtbOxbvY/6UWD1E/bVsdD9Qio= +github.com/everFinance/ethrpc v1.0.4 h1:Ww+qr8D93Id5QkyG5Mvw58edu5tqy0sL6hDP0IfhYsE= +github.com/everFinance/ethrpc v1.0.4/go.mod h1:cQipdwW4kM1v8C+q8Z+jDDXwL7a3KngvNk9Yo+lbXpI= +github.com/everFinance/goar v1.6.2 h1:Hfhanc++MpRmmJeppML3M4K164NJBatllZ1rzR4fcRQ= +github.com/everFinance/goar v1.6.2/go.mod h1:D9b5v9Xs/W6A7odVWtIU3EBWuQfQ0qcLH4zSjGPLxAo= +github.com/everFinance/goether v1.1.9 h1:Y/zz/chv0CmoXz119J3ZK4WbGoHnMjm/IDH5qwKrvVU= +github.com/everFinance/goether v1.1.9/go.mod h1:QhUIRE3g4CPN4+OGz96pIwguyRH1hZfYo2gAUSY00Qw= +github.com/everFinance/gojwk v1.0.0 h1:le/oI2NgXlrqg3MHU6ka+V30EWcD7TD6+Ilh+go7924= +github.com/everFinance/gojwk v1.0.0/go.mod h1:icXSXsIdpAczlpAtSljQlmABkMTRZENr73KHmo0GOGc= +github.com/everFinance/ttcrsa v1.1.3 h1:RJl9UizbevHZUiWPHVKz1aM6yA8cmkZWaCbOGTD/L0I= +github.com/everFinance/ttcrsa v1.1.3/go.mod h1:Ws7b/oDbYKaZlvyT17nm+zHmzVhGl51r/yPx/Ib5RQk= github.com/fjl/memsize v0.0.2 h1:27txuSD9or+NZlnOWdKUxeBzTAUkWCVh+4Gf2dWFOzA= github.com/fjl/memsize v0.0.2/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= @@ -433,206 +127,60 @@ github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqG github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46 h1:BAIP2GihuqhwdILrV+7GJel5lyPV3u1+PgzrWLc0TkE= github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46/go.mod h1:QNpY22eby74jVhqH4WhDLDwxc/vqsern6pW+u2kbkpc= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= -github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= -github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= -github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= -github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20230207041349-798e818bf904 h1:4/hN5RUoecvl+RmJRE2YxKWtnnQls6rQjjW5oV7qg2U= -github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= -github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= -github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= -github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= -github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= -github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= -github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= +github.com/hamba/avro v1.5.6 h1:/UBljlJ9hLjkcY7PhpI/bFYb4RMEXHEwHr17gAm/+l8= +github.com/hamba/avro v1.5.6/go.mod h1:3vNT0RLXXpFm2Tb/5KC71ZRJlOroggq1Rcitb6k4Fr8= github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-getter v1.7.0 h1:bzrYP+qu/gMrL1au7/aDvkoOVGUJpeKBgbqRHACAFDY= -github.com/hashicorp/go-getter v1.7.0/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= -github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= -github.com/hashicorp/go-uuid v1.0.0 h1:RS8zrF7PhGwyNPOtxSClXXj9HA8feRnJzgnI1RJCSnM= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= -github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4 h1:X4egAf/gcS1zATw6wn4Ej8vjuVGxeHdan+bRb2ebyv4= github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4/go.mod h1:5GuXa7vkL8u9FkFuWdVvfR5ix8hRB7DbOAaYULamFpc= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= @@ -642,54 +190,82 @@ github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXei github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= -github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac h1:n1DqxAo4oWPMvH1+v+DLYlMCecgumhhgnxAPdqDIFHI= +github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac/go.mod h1:cOaXtrgN4ScfRrD9Bre7U1thNq5RtJ8ZoP4iXVGRj6o= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= +github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= +github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= +github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= +github.com/jackc/pgtype v1.6.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= +github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= +github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= +github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1raylkA= +github.com/jackc/pgx/v5 v5.4.3 h1:cxFyXhxlvAifxnkKKdlxv8XqUf59tDlYjnV5YYfsJJY= +github.com/jackc/pgx/v5 v5.4.3/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jarcoal/httpmock v1.0.6/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= -github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw= github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -697,37 +273,30 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c= github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= -github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= -github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= -github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= -github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/linkedin/goavro/v2 v2.12.0 h1:rIQQSj8jdAUlKQh6DttK8wCRv4t4QO09g1C4aBWXslg= +github.com/linkedin/goavro/v2 v2.12.0/go.mod h1:KXx+erlq+RPlGSPmLF7xGo6SAbh8sCQ53x064+ioxhk= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= -github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= -github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= @@ -736,134 +305,68 @@ github.com/mmcloughlin/addchain v0.4.0 h1:SobOdjm2xLj1KkXN5/n0xTIWyZA2+s99UCY1iP github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqkyU72HC5wJ4RlU= github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= -github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= -github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/panjf2000/ants/v2 v2.6.0 h1:xOSpw42m+BMiJ2I33we7h6fYzG4DAlpE1xyI7VS2gxU= +github.com/panjf2000/ants/v2 v2.6.0/go.mod h1:cU93usDlihJZ5CfRGNDYsiBYvoilLvBF5Qp/BT2GNRE= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= -github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rs/cors v1.9.0 h1:l9HGsTsHJcvW14Nk7J9KFz8bzeAWXn3CG6bgt7LsrAE= -github.com/rs/cors v1.9.0/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= -github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= -github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= -github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= -github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= github.com/status-im/keycard-go v0.2.0 h1:QDLFswOQu1r5jsycloeQh3bVU8n/NatHHaZobtDnDzA= github.com/status-im/keycard-go v0.2.0/go.mod h1:wlp8ZLbsmrF6g6WjugPAx+IzoLrkdf9+mHxBEeo3Hbg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -871,334 +374,125 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= -github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4= github.com/supranational/blst v0.3.11/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= -github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= -github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= -github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= -github.com/tidwall/btree v1.5.0 h1:iV0yVY/frd7r6qGBXfEYs7DH0gTDgrKTrDjS7xt/IyQ= -github.com/tidwall/btree v1.5.0/go.mod h1:LGm8L/DZjPLmeWGjv5kFrY8dL4uVhMmzmmLYmsObdKE= -github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= -github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.6.3/go.mod h1:BaHyNc5bjzYkPqgLq7mdVzeiRtULKULXLgZFKsxEHI0= +github.com/tidwall/gjson v1.14.1 h1:iymTbGkQBhveq21bEvAQ81I0LEBork8BFe1CUZXdyuo= +github.com/tidwall/gjson v1.14.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= -github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/txaty/go-merkletree v0.2.2 h1:K5bHDFK+Q3KK+gEJeyTOECKuIwl/LVo4CI+cm0/p34g= github.com/txaty/go-merkletree v0.2.2/go.mod h1:w5HPEu7ubNw5LzS+91m+1/GtuZcWHKiPU3vEGi+ThJM= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/tyler-smith/go-bip39 v1.1.0/go.mod h1:gUYDtqQw1JS3ZJ8UWVcGTGqqr6YIN3CWg+kkNaLt55U= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8= -github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs= github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= -github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= -github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= -go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= -go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= -go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= -go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= -go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= -go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= -go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= -golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1207,345 +501,73 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= -google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= -google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY= -google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= -google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= -google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= -google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20231212172506-995d672761c0 h1:YJ5pD9rF8o9Qtta0Cmy9rdBwkSjrTCT6XTiUQVOtIos= -google.golang.org/genproto v0.0.0-20231212172506-995d672761c0/go.mod h1:l/k7rMz0vFTBPy+tFSGvXEd3z+BcoG1k7EHbqm+YBsY= -google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 h1:rcS6EyEaoCO52hQDupoSfrxI3R6C2Tq741is7X8OvnM= -google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917/go.mod h1:CmlNWB9lSezaYELKS5Ym1r44VrrbPUa7JTvw+6MbpJ0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 h1:6G8oQ016D88m1xAKljMlBOOGWDZkes4kMhgGFlf8WcQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917/go.mod h1:xtjpI3tXFPP051KaWnhvxkiubL/6dJ18vLVf7q2pTOU= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= -gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/h2non/gentleman.v2 v2.0.5 h1:ckmb6cLxL2DDk7WN7LSdxXDq7jNkOicFg4JZ4ZnDNuE= +gopkg.in/h2non/gentleman.v2 v2.0.5/go.mod h1:A1c7zwrTgAyyf6AbpvVksYtBayTB4STBUGmdkEtlHeA= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= @@ -1553,26 +575,25 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/mysql v1.5.2 h1:QC2HRskSE75wBuOxe0+iCkyJZ+RqpudsQtqkp+IMuXs= -gorm.io/driver/mysql v1.5.2/go.mod h1:pQLhh1Ut/WUAySdTHwBpBv6+JKcj+ua4ZFx1QQTBzb8= -gorm.io/gorm v1.25.2-0.20230530020048-26663ab9bf55/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= -gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= -gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= +gorm.io/datatypes v1.0.1 h1:6npnXbBtjpSb7FFVA2dG/llyTN8tvZfbUqs+WyLrYgQ= +gorm.io/datatypes v1.0.1/go.mod h1:HEHoUU3/PO5ZXfAJcVWl11+zWlE16+O0X2DgJEb4Ixs= +gorm.io/driver/mysql v1.0.5/go.mod h1:N1OIhHAIhx5SunkMGqWbGFVeh4yTNWKmMo1GOAsohLI= +gorm.io/driver/mysql v1.5.4 h1:igQmHfKcbaTVyAIHNhhB888vvxh8EdQ2uSUT0LPcBso= +gorm.io/driver/mysql v1.5.4/go.mod h1:9rYxJph/u9SWkWc9yY4XJ1F/+xO0S/ChOmbk3+Z5Tvs= +gorm.io/driver/postgres v1.0.8/go.mod h1:4eOzrI1MUfm6ObJU/UcmbXyiHSs8jSwH95G5P5dxcAg= +gorm.io/driver/postgres v1.5.7 h1:8ptbNJTDbEmhdr62uReG5BGkdQyeasu/FZHxI0IMGnM= +gorm.io/driver/postgres v1.5.7/go.mod h1:3e019WlBaYI5o5LIdNV+LyxCMNtLOQETBXL2h4chKpA= +gorm.io/driver/sqlite v1.1.4/go.mod h1:mJCeTFr7+crvS+TRnWc5Z3UvwxUN1BGBLMrf5LA9DYw= +gorm.io/driver/sqlserver v1.0.7/go.mod h1:ng66aHI47ZIKz/vvnxzDoonzmTS8HXP+JYlgg67wOog= +gorm.io/gorm v1.20.7/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.20.12/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.21.3/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.21.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.21.6/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= +gorm.io/gorm v1.25.7-0.20240204074919-46816ad31dde h1:9DShaph9qhkIYw7QF91I/ynrr4cOO2PZra2PFD7Mfeg= +gorm.io/gorm v1.25.7-0.20240204074919-46816ad31dde/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= -nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= -pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/tmplfunc v0.0.3 h1:53XFQh69AfOa8Tw0Jm7t+GV7KZhOi6jzsCzTtKbMvzU= rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/internal/blockchain/blockchain.go b/internal/blockchain/blockchain.go index 1a8a384..2fac333 100644 --- a/internal/blockchain/blockchain.go +++ b/internal/blockchain/blockchain.go @@ -25,7 +25,8 @@ func init() { register(&zkevm.VerifyBatches{}) register(&zkevm.SequenceBatches{}) cfg := config.GetConfig() - addContract(cfg.PolygonZKEVMAddress) + addContract(cfg.PolygonVerifyBatchContract) + addContract(cfg.PolygonSequenceContract) } func register(event Event) { diff --git a/internal/handler/checkstatus.go b/internal/handler/checkstatus.go index cc2f8b1..40af04f 100644 --- a/internal/handler/checkstatus.go +++ b/internal/handler/checkstatus.go @@ -9,56 +9,31 @@ import ( "github.com/pkg/errors" ) -// CheckStatus check proposal vote status -func CheckStatus(ctx *svc.ServiceContext) { +// CheckStatusByContract sync check proposal status +func CheckStatusByContract(ctx *svc.ServiceContext) { for { - var dbProposal schema.Proposal - err := ctx.DB.Where("status=?", schema.ProposalVotingStatus).Order("end_batch_num asc").First(&dbProposal).Error + proposal, err := ctx.NodeClient.QueryLastProposal() if err != nil { - log.Errorf("[Handler.CheckStatus] find Voting proposal err: %s\n", errors.WithStack(err).Error()) - time.Sleep(5 * time.Second) + log.Errorf("[Handler.CheckStatusByContract][QueryLastProposalID] error info: %s", errors.WithStack(err).Error()) continue } - proposal, err := ctx.NodeClient.QueryProposalByID(dbProposal.ProposalID) + proposalContract, err := ctx.NodeClient.QueryProposalByID(proposal.Id) if err != nil { - log.Errorf("[Handler.CheckStatus] QueryProposalByID err: %s\n", errors.WithStack(err).Error()) + log.Errorf("[Handler.CheckStatusByContract][QueryProposalByID] error info: %s", errors.WithStack(err).Error()) continue } - if proposal.Status != schema.ProposalVotingStatus && proposal.Winner.String() != "" { - dbProposal.Winner = proposal.Winner.String() - dbProposal.Status = uint64(proposal.Status) - ctx.DB.Save(dbProposal) - } - time.Sleep(3 * time.Second) - } -} - -func CheckStatusTimeOut(ctx *svc.ServiceContext) { - for { - time.Sleep(30 * time.Second) var dbProposal schema.Proposal - err := ctx.DB.Where("status not in (? , ?)", schema.ProposalSucceedStatus, schema.ProposalTimeoutStatus).Order("end_batch_num asc").First(&dbProposal).Error + err = ctx.DB.Where("proposal_id=?", proposal.Id).First(&dbProposal).Error if err != nil { - log.Errorf("[Handler.CheckStatusTimeOut] find Voting proposal err: %s\n", errors.WithStack(err)) - time.Sleep(5 * time.Second) + log.Errorf("[Handler.CheckStatusByContract] find proposal err: %s\n", errors.WithStack(err).Error()) continue } - proposal, err := ctx.NodeClient.QueryProposalByID(dbProposal.ProposalID) - if err != nil { - log.Errorf("[Handler.CheckStatusTimeOut] QueryProposalByID err: %s\n", errors.WithStack(err)) - continue - } - if proposal.TxHash == "" && proposal.Status == schema.ProposalPendingStatus && proposal.Winner.String() != ctx.B2NodeConfig.Address { - res, err := ctx.NodeClient.IsProposalTimeout(proposal.Id) - if err != nil { - log.Errorf("[Handler.CheckStatusTimeOut] TimeoutProposal err: %s\n", errors.WithStack(err)) - continue - } - if res { - dbProposal.Status = schema.ProposalTimeoutStatus - ctx.DB.Save(dbProposal) - } - time.Sleep(2 * time.Second) - } + dbProposal.BtcTxHash = proposalContract.BtcTxHash + dbProposal.ArTxHash = proposalContract.ArweaveTxHash + dbProposal.Winner = proposalContract.Winner.String() + dbProposal.Status = uint64(proposalContract.Status) + ctx.DB.Save(&dbProposal) + time.Sleep(20 * time.Second) } + } diff --git a/internal/handler/committer.go b/internal/handler/committer.go index ce4fe8c..5887841 100644 --- a/internal/handler/committer.go +++ b/internal/handler/committer.go @@ -44,7 +44,6 @@ type VerifyRangBatchInfo struct { // Committer find verifyBatchesTrustedAggregator event and commit stateRoot proof to b2node func Committer(ctx *svc.ServiceContext) { for { - var proposals []schema.Proposal proposal, err := ctx.NodeClient.QueryLastProposal() lastProposalID, lastFinalBatchNum := proposal.Id, proposal.EndIndex if err != nil { @@ -52,39 +51,59 @@ func Committer(ctx *svc.ServiceContext) { time.Sleep(10 * time.Second) continue } - err = ctx.DB.Where("end_batch_num > ?", lastFinalBatchNum).Find(&proposals).Error + if lastProposalID == 0 { + lastProposalID = 1 + } + + if proposal.Status == schema.ProposalSucceedStatus { + lastProposalID++ + proposal, err = ctx.NodeClient.QueryProposalByID(lastProposalID) + if err != nil { + log.Errorf("[Handler.Committer][QueryProposalByID] error info: %s", errors.WithStack(err).Error()) + time.Sleep(10 * time.Second) + continue + } + } + + res, err := ctx.NodeClient.CheckProposalTimeout(lastProposalID) if err != nil { - log.Errorf("[Handler.Committer][DB] error info: %s", errors.WithStack(err).Error()) - time.Sleep(10 * time.Second) + log.Errorf("[Handler.Committer][CheckProposalTimeout] error info: %s", errors.WithStack(err).Error()) continue } - if len(proposals) > 0 { - log.Errorf("[Handler.Committer] proposal already is existed, lastFinalBatchNum: %s", lastFinalBatchNum) + + if !res && proposal.Status != schema.ProposalVotingStatus { + log.Infof("[Handler.Committer] proposal status is processing, proposalID: %d", lastProposalID) + time.Sleep(10 * time.Second) continue } + if res && lastProposalID == 1 { + lastFinalBatchNum = 0 + } + verifyBatchInfo, err := GetVerifyBatchInfoByLastBatchNum(ctx, lastFinalBatchNum) if err != nil { log.Errorf("[Handler.Committer] error info: %s", errors.WithStack(err).Error()) time.Sleep(10 * time.Second) continue } + err = committerProposal(ctx, verifyBatchInfo, lastProposalID) if err != nil { log.Errorf("[Handler.Committer] error info: %s", errors.WithStack(err).Error()) time.Sleep(10 * time.Second) continue } - time.Sleep(3 * time.Second) + time.Sleep(30 * time.Second) } } func GetVerifyBatchInfoByLastBatchNum(ctx *svc.ServiceContext, lastFinalBatchNum uint64) (*VerifyRangBatchInfo, error) { - verifyBatchesAndTxHashs, err := GetVerifyBatchesFromStartBatchNum(ctx, lastFinalBatchNum, ctx.Config.LimitNum) - if err != nil || len(verifyBatchesAndTxHashs) != ctx.Config.LimitNum { + verifyBatchesAndTxHashes, err := GetVerifyBatchesFromStartBatchNum(ctx, lastFinalBatchNum, ctx.Config.LimitNum) + if err != nil || len(verifyBatchesAndTxHashes) != ctx.Config.LimitNum { return nil, fmt.Errorf("[GetVerifyBatchInfoByLastBatchNum] error info: %s", errors.WithStack(err)) } verifyBatchesParams := make([]*VerifyBatchesTrustedAggregatorParams, 0, ctx.Config.LimitNum) - for _, verifyBatch := range verifyBatchesAndTxHashs { + for _, verifyBatch := range verifyBatchesAndTxHashes { verifyBatchParam, err := GetVerifyBatchesParamsByTxHash(ctx, common.HexToHash(verifyBatch.txHash)) if err != nil { return nil, fmt.Errorf("[GetVerifyBatchInfoByLastBatchNum] error info: %s", errors.WithStack(err)) @@ -100,29 +119,10 @@ func GetVerifyBatchInfoByLastBatchNum(ctx *svc.ServiceContext, lastFinalBatchNum // CommitterProposal committer transaction to b2-node func committerProposal(ctx *svc.ServiceContext, verifyBatchInfo *VerifyRangBatchInfo, lastProposalID uint64) error { - proposalID := lastProposalID + 1 - _, err := ctx.NodeClient.SubmitProof(proposalID, verifyBatchInfo.proofRootHash, verifyBatchInfo.stateRootHash, + _, err := ctx.NodeClient.SubmitProof(lastProposalID, verifyBatchInfo.proofRootHash, verifyBatchInfo.stateRootHash, verifyBatchInfo.startBatchNum, verifyBatchInfo.endBatchNum) if err != nil { - return fmt.Errorf("[committerProposal] submit proof error info: %s", errors.WithStack(err)) - } - dbProposal := &schema.Proposal{ - Base: schema.Base{ - CreatedAt: time.Now(), - UpdatedAt: time.Now(), - }, - EndBatchNum: verifyBatchInfo.endBatchNum, - ProposalID: proposalID, - Status: schema.ProposalVotingStatus, - StateRootHash: verifyBatchInfo.stateRootHash, - ProofRootHash: verifyBatchInfo.proofRootHash, - StartBatchNum: verifyBatchInfo.startBatchNum, - } - - // store db - err = ctx.DB.Save(dbProposal).Error - if err != nil { - return fmt.Errorf("[committerProposal] save proposal error info: %s", errors.WithStack(err)) + return fmt.Errorf("[committerProposal] submit proof error info: %s, %d", errors.WithStack(err), verifyBatchInfo.startBatchNum) } return nil } @@ -213,7 +213,7 @@ func DecodeTransactionInputData(contractABI abi.ABI, data []byte) (map[string]in } func GetVerifyBatchesParamsByTxHash(ctx *svc.ServiceContext, txHash common.Hash) (*VerifyBatchesTrustedAggregatorParams, error) { - abiObject, err := abi.JSON(strings.NewReader(contract.ZkEVMMetaData.ABI)) + abiObject, err := abi.JSON(strings.NewReader(contract.VerifyMetaData.ABI)) if err != nil { return nil, fmt.Errorf("[GetVerifyBatchesParamsByTxHash] parse abi error: %s", errors.WithStack(err)) } diff --git a/internal/handler/committer_test.go b/internal/handler/committer_test.go index e40086c..4d4e559 100644 --- a/internal/handler/committer_test.go +++ b/internal/handler/committer_test.go @@ -25,7 +25,7 @@ func TestGetVerifyBatchesParamsByTxHash(t *testing.T) { methodSigData := tx.Data()[:4] inputsSigData := tx.Data()[4:] - abiObject, err := abi.JSON(strings.NewReader(contract.ZkEVMMetaData.ABI)) + abiObject, err := abi.JSON(strings.NewReader(contract.VerifyMetaData.ABI)) require.NoError(t, err) method, err := abiObject.MethodById(methodSigData) require.NoError(t, err) diff --git a/internal/handler/handler.go b/internal/handler/handler.go index 4f0f82c..3ee8b68 100644 --- a/internal/handler/handler.go +++ b/internal/handler/handler.go @@ -7,21 +7,19 @@ import ( func Run(ctx *svc.ServiceContext) { // query last block number - go LatestBlackNumber(ctx) - // sync blocks - go SyncBlock(ctx) - // sync events - go SyncEvent(ctx) + //go LatestBlackNumber(ctx) + //// sync blocks + //go SyncBlock(ctx) + //// sync events + //go SyncEvent(ctx) // execute committer go Committer(ctx) - // check status - go CheckStatus(ctx) // check and inscribe go Inscribe(ctx) - //// check time out - go CheckStatusTimeOut(ctx) - //// sync proposal + // check status + go CheckStatusByContract(ctx) + // sync proposal go SyncProposal(ctx) - //// sequence batches - //go SequenceBatches(ctx) + // sequence batches + go SequenceBatches(ctx) } diff --git a/internal/handler/inscribe.go b/internal/handler/inscribe.go index dcd5daf..f6b4a6f 100644 --- a/internal/handler/inscribe.go +++ b/internal/handler/inscribe.go @@ -19,9 +19,9 @@ func Inscribe(ctx *svc.ServiceContext) { time.Sleep(30 * time.Second) for { var dbProposal schema.Proposal - err := ctx.DB.Where("status=?", schema.ProposalPendingStatus).Order("end_batch_num asc").First(&dbProposal).Error + err := ctx.DB.Where("status=? AND btc_tx_hash=''", schema.ProposalPendingStatus).Order("end_batch_num asc").First(&dbProposal).Error if err != nil { - log.Errorf("[Handler.Inscribe] Pending and timeout proposal err: %s\n", errors.WithStack(err).Error()) + log.Errorf("[Handler.Inscribe] no proposal wait for inscribe. err: %s\n", errors.WithStack(err).Error()) time.Sleep(5 * time.Second) continue } @@ -30,14 +30,9 @@ func Inscribe(ctx *svc.ServiceContext) { log.Errorf("[CheckProposalPending] QueryProposalByID err: %s\n", errors.WithStack(err).Error()) continue } - if proposal.Status == schema.ProposalSucceedStatus { - dbProposal.Status = uint64(proposal.Status) - dbProposal.Winner = proposal.Winner.String() - dbProposal.BtcRevealTxHash = proposal.TxHash - ctx.DB.Save(dbProposal) - } + if proposal.Status == schema.ProposalPendingStatus && - proposal.Winner.String() == ctx.B2NodeConfig.Address && proposal.TxHash == "" { + proposal.Winner.String() == ctx.B2NodeConfig.Address && proposal.BtcTxHash == "" { rs, err := inscribe.Inscribe(ctx.BTCConfig.PrivateKey, proposal.StateRootHash, proposal.ProofHash, ctx.BTCConfig.DestinationAddress, btcapi.ChainParams(ctx.BTCConfig.NetworkName)) if err != nil { @@ -57,21 +52,19 @@ func Inscribe(ctx *svc.ServiceContext) { log.Errorf("[Handler.Inscribe] BitcoinTx err: %s\n", errors.WithStack(err).Error()) continue } - dbProposal.BtcRevealTxHash = bitcoinTxHash - dbProposal.BtcCommitTxHash = rs.CommitTxHash.String() - + dbProposal.BtcTxHash = bitcoinTxHash ctx.DB.Save(dbProposal) } - if proposal.Status == schema.ProposalPendingStatus && proposal.TxHash != "" && proposal.Winner.String() != ctx.B2NodeConfig.Address { + if proposal.Status == schema.ProposalPendingStatus && proposal.BtcTxHash != "" && proposal.Winner.String() != ctx.B2NodeConfig.Address { // Get bitcoin txHash and query on btc network confirm status If the comparison is greater than 6 heights, submit the proposal after confirmation btcAPIClient := btcmempool.NewClient(btcapi.ChainParams(ctx.BTCConfig.NetworkName)) - transaction, err := btcAPIClient.GetTransactionByID(proposal.TxHash) + transaction, err := btcAPIClient.GetTransactionByID(proposal.BtcTxHash) if err != nil { log.Errorf("[Handler.Inscribe] GetTransactionByID err: %s\n", errors.WithStack(err).Error()) continue } if transaction.Status.Confirmed && (ctx.LatestBTCBlockNumber-transaction.Status.BlockHeight) >= 6 { - _, err = ctx.NodeClient.BitcoinTxHash(proposal.Id, proposal.TxHash) + _, err = ctx.NodeClient.BitcoinTxHash(proposal.Id, proposal.BtcTxHash) if err != nil { log.Errorf("[Handler.Inscribe] BitcoinTx err: %s\n", errors.WithStack(err).Error()) continue diff --git a/internal/handler/sequenceBatchers_test.go b/internal/handler/sequenceBatchers_test.go new file mode 100644 index 0000000..7e94ac6 --- /dev/null +++ b/internal/handler/sequenceBatchers_test.go @@ -0,0 +1,19 @@ +package handler + +import ( + "fmt" + "testing" + "time" +) + +func TestReadFile(t *testing.T) { + //content, _ := os.ReadFile("../../batchFile/56908-56949.json") + ////fmt.Println(content) + //seq := make(map[uint64][]byte) + //json.Unmarshal(content, &seq) + //for k, v := range seq { + // fmt.Println(k) + // fmt.Println(string(v)) + //} + fmt.Println(time.Now().Format("2006-01-02")) +} diff --git a/internal/handler/sequenceBatches.go b/internal/handler/sequenceBatches.go index 8626317..37d0416 100644 --- a/internal/handler/sequenceBatches.go +++ b/internal/handler/sequenceBatches.go @@ -6,14 +6,14 @@ import ( "fmt" "github.com/b2network/b2committer/internal/schema" "github.com/b2network/b2committer/internal/svc" - "github.com/b2network/b2committer/pkg/contract" "github.com/b2network/b2committer/pkg/event/zkevm" "github.com/b2network/b2committer/pkg/log" - "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/common" + "github.com/everFinance/goar" + "github.com/everFinance/goar/types" "github.com/pkg/errors" "os" - "strings" + "strconv" "time" ) @@ -30,30 +30,82 @@ type SequenceBatchesAndTxHash struct { } func SequenceBatches(ctx *svc.ServiceContext) { + time.Sleep(40 * time.Second) for { var dbProposal schema.Proposal - err := ctx.DB.Where("status = ?", schema.ProposalSucceedStatus).Order("proposal_id asc").First(&dbProposal).Error - //dbProposal.StartBatchNum - //dbProposal.EndBatchNum - //collectionSequenceBatches, err := GetSequenceBatchesFromStartBatchNum(ctx, 718506, 719063) - collectionSequenceBatches, err := GetSequenceBatchesFromStartBatchNum(ctx, dbProposal.StartBatchNum, dbProposal.EndBatchNum) + err := ctx.DB.Where("status = ? and ar_tx_hash=''", schema.ProposalCommitting).Order("proposal_id desc").First(&dbProposal).Error if err != nil { - log.Errorf("[Handler.SequenceBatches][GetSequenceBatchesFromStartBatchNum] error info: %s", errors.WithStack(err).Error()) - time.Sleep(10 * time.Second) + log.Errorf("[Handler.SequenceBatches]query proposal from db, error info: %s", errors.WithStack(err).Error()) + time.Sleep(5 * time.Second) continue } - if !collectionSequenceBatches.IsCompleted { - log.Errorf("[Handler.SequenceBatches] sync batches not completed") - time.Sleep(10 * time.Second) - continue - } - sequenceBatchesMap, err := GetSequenceBatchesDetails(ctx, collectionSequenceBatches.SequenceBatches) + proposal, err := ctx.NodeClient.QueryProposalByID(dbProposal.ProposalID) if err != nil { - log.Errorf("[Handler.SequenceBatches][GetSequenceBatchesDetails] error info: %s", errors.WithStack(err).Error()) + log.Errorf("[Handler.SequenceBatches] QueryProposalByID err: %s\n", errors.WithStack(err).Error()) time.Sleep(3 * time.Second) continue } - WriteFile(ctx, sequenceBatchesMap) + if proposal.Status == schema.ProposalCommitting && proposal.Winner.String() == ctx.B2NodeConfig.Address && + proposal.ArweaveTxHash == "" { + collectionSequenceBatches, err := GetSequenceBatchesFromStartBatchNum(ctx, dbProposal.StartBatchNum, dbProposal.EndBatchNum) + if err != nil { + log.Errorf("[Handler.SequenceBatches][GetSequenceBatchesFromStartBatchNum] error info: %s", errors.WithStack(err).Error()) + time.Sleep(10 * time.Second) + continue + } + if !collectionSequenceBatches.IsCompleted { + log.Errorf("[Handler.SequenceBatches] sync batches not completed") + time.Sleep(10 * time.Second) + continue + } + sequenceBatchesMap, err := GetSequenceBatchesDetails(ctx, collectionSequenceBatches.SequenceBatches) + if err != nil { + log.Errorf("[Handler.SequenceBatches][GetSequenceBatchesDetails] error info: %s", errors.WithStack(err).Error()) + time.Sleep(3 * time.Second) + continue + } + jsonData, err := json.Marshal(sequenceBatchesMap) + if err != nil { + log.Errorf("[WriteFile] json marshal error: %s", errors.WithStack(err)) + continue + } + tags := []types.Tag{ + {Name: "Content-Type", Value: "application/json"}, + {Name: "title", Value: "b2-batch"}, + {Name: "chainID", Value: strconv.FormatInt(ctx.B2NodeConfig.ChainID, 10)}, + } + arNode := ctx.Config.ArweaveRPC + wallet := ctx.Config.ArweaveWallet + w, err := goar.NewWalletFromPath(wallet, arNode) + arTx, err := w.SendData(jsonData, tags) + + _, err = ctx.NodeClient.ArweaveTx(dbProposal.ProposalID, arTx.ID) + if err != nil { + log.Errorf("[Handler.BatchDetailsToAr] get ar tx error: %s", errors.WithStack(err).Error()) + continue + } + err = ctx.DB.Model(&dbProposal).Update("ar_tx_hash", arTx.ID).Error + if err != nil { + log.Errorf("[Handler.BatchDetailsToAr] update proposal error: %s", errors.WithStack(err).Error()) + continue + } + + res, err := WriteFile(ctx, dbProposal.StartBatchNum, dbProposal.EndBatchNum, sequenceBatchesMap) + if err != nil { + log.Errorf("[Handler.SequenceBatches][WriteFile] error info: %s", errors.WithStack(err).Error()) + time.Sleep(3 * time.Second) + continue + } + if res { + err = ctx.DB.Model(&dbProposal).Update("generate_details_file", true).Error + if err != nil { + log.Errorf("[Handler.SequenceBatches][Update] error info: %s", errors.WithStack(err).Error()) + time.Sleep(3 * time.Second) + continue + } + } + } + time.Sleep(3 * time.Second) } } @@ -92,48 +144,56 @@ func GetSequenceBatchesFromStartBatchNum(ctx *svc.ServiceContext, startBatchNum }, nil } -func GetSequenceBatchesDetails(ctx *svc.ServiceContext, sequenceBatches []*SequenceBatchesAndTxHash) (map[uint64]map[string]interface{}, error) { - abiObject, err := abi.JSON(strings.NewReader(contract.ZkEVMMetaData.ABI)) - - if err != nil { - return nil, fmt.Errorf("[GetSequenceBatchesDetails] parse abi error: %s", errors.WithStack(err)) - } - sequenceBatchesMap := make(map[uint64]map[string]interface{}) +func GetSequenceBatchesDetails(ctx *svc.ServiceContext, sequenceBatches []*SequenceBatchesAndTxHash) (map[uint64][]byte, error) { + sequenceBatchesMap := make(map[uint64][]byte) for _, sequenceBatch := range sequenceBatches { txHash := sequenceBatch.TxHash tx, _, err := ctx.RPC.TransactionByHash(context.Background(), common.HexToHash(txHash)) if err != nil { return nil, fmt.Errorf("[GetSequenceBatchesDetails] get tx error: %s", errors.WithStack(err)) } - inputsMap, methodName := DecodeTransactionInputData(abiObject, tx.Data()) - - if methodName != "sequenceBatches" { - return nil, fmt.Errorf("[GetSequenceBatchesDetails] methodName is : %s parse method error: %s", methodName, errors.WithStack(err)) - } - sequenceBatchesMap[sequenceBatch.NumBatch] = inputsMap + sequenceBatchesMap[sequenceBatch.NumBatch] = tx.Data() } return sequenceBatchesMap, nil } -func WriteFile(ctx *svc.ServiceContext, sequenceBatchesMap map[uint64]map[string]interface{}) { +func WriteFile(ctx *svc.ServiceContext, startBatchNum uint64, endBatchNum uint64, sequenceBatchesMap map[uint64][]byte) (bool, error) { + fileName := strconv.FormatUint(startBatchNum, 10) + "-" + strconv.FormatUint(endBatchNum, 10) + ".json" jsonData, err := json.Marshal(sequenceBatchesMap) if err != nil { log.Errorf("[WriteFile] json marshal error: %s", errors.WithStack(err)) - return + return false, err } - - file, err := os.Create("output.json") + path, err := os.Getwd() if err != nil { - fmt.Println("create file error:", err) - return + log.Errorf("[WriteFile] get current path error: %s", errors.WithStack(err)) + return false, err } - defer file.Close() + filePath := path + "/" + ctx.Config.BatchPath + _, err2 := os.Stat(filePath) + if os.IsNotExist(err2) { + errDir := os.MkdirAll(filePath, os.ModePerm) + if errDir != nil { + log.Errorf("[WriteFile] create dir error: %s", errors.WithStack(errDir)) + return false, errDir + } + } + file, err := os.Create(filePath + "/" + fileName) + if err != nil { + log.Errorf("[WriteFile] create file error: %s", errors.WithStack(err)) + return false, err + } + defer func(file *os.File) { + err := file.Close() + if err != nil { + log.Errorf("[WriteFile] close file error: %s", errors.WithStack(err)) + } + }(file) _, err = file.Write(jsonData) if err != nil { - fmt.Println("write file error:", err) - return + log.Errorf("[WriteFile] write file error: %s", errors.WithStack(err)) + return false, nil } - - fmt.Println("map write file output.json success") + return true, nil } diff --git a/internal/handler/syncBlock.go b/internal/handler/syncBlock.go index a549122..254cc35 100644 --- a/internal/handler/syncBlock.go +++ b/internal/handler/syncBlock.go @@ -19,7 +19,6 @@ func SyncBlock(ctx *svc.ServiceContext) { time.Sleep(10 * time.Second) var syncedBlock schema.SyncBlock err := ctx.DB.Where("status = ? or status = ? ", schema.BlockValid, schema.BlockPending).Order("block_number desc").First(&syncedBlock).Error - if err != nil && err != gorm.ErrRecordNotFound { panic(err) } diff --git a/internal/handler/syncEvent.go b/internal/handler/syncEvent.go index 5dcc37c..63836d7 100644 --- a/internal/handler/syncEvent.go +++ b/internal/handler/syncEvent.go @@ -57,8 +57,8 @@ func SyncEvent(ctx *svc.ServiceContext) { func HandlePendingBlock(ctx *svc.ServiceContext, block schema.SyncBlock) error { log.Infof("[Handler.SyncEvent.PendingBlock]Start: %d, %s \n", block.BlockNumber, block.BlockHash) - //log.Infof("[Handler.SyncEvent.PendingBlock]GetContracts: %v\n", blockchain.GetContracts()) - //log.Infof("[Handler.SyncEvent.PendingBlock]GetEvents: %v\n", blockchain.GetEvents()) + log.Infof("[Handler.SyncEvent.PendingBlock]GetContracts: %v\n", blockchain.GetContracts()) + log.Infof("[Handler.SyncEvent.PendingBlock]GetEvents: %v\n", blockchain.GetEvents()) events, err := LogFilter(ctx, block, blockchain.GetContracts(), [][]common.Hash{blockchain.GetEvents()}) log.Infof("[Handler.SyncEvent.PendingBlock] block %d, events number is %d:", block.BlockNumber, len(events)) if err != nil { diff --git a/internal/handler/syncProposal.go b/internal/handler/syncProposal.go index c4ae528..078fbdc 100644 --- a/internal/handler/syncProposal.go +++ b/internal/handler/syncProposal.go @@ -35,7 +35,6 @@ func SyncProposal(ctx *svc.ServiceContext) { } if proposal == nil { log.Infof("[Handler.SyncProposal] proposal is nil", proposalID) - proposalID++ continue } var dbProposal schema.Proposal @@ -51,46 +50,26 @@ func SyncProposal(ctx *svc.ServiceContext) { CreatedAt: time.Now(), UpdatedAt: time.Now(), }, - ProposalID: proposal.Id, - StateRootHash: proposal.StateRootHash, - ProofRootHash: proposal.ProofHash, - StartBatchNum: proposal.StartIndex, - EndBatchNum: proposal.EndIndex, - BtcRevealTxHash: proposal.TxHash, - Winner: proposal.Winner.String(), - Status: uint64(proposal.Status), + ProposalID: proposal.Id, + StateRootHash: proposal.StateRootHash, + ProofRootHash: proposal.ProofHash, + StartBatchNum: proposal.StartIndex, + EndBatchNum: proposal.EndIndex, + BtcTxHash: proposal.BtcTxHash, + Winner: proposal.Winner.String(), + Status: uint64(proposal.Status), + ArTxHash: proposal.ArweaveTxHash, } err = ctx.DB.Create(&dbProposal).Error if err != nil { - log.Errorf("[Handler.SyncProposal] db create error info:", errors.WithStack(err)) + log.Errorf("[Handler.SyncProposal] db create error info: %s", errors.WithStack(err).Error()) } } - if dbProposal.ProposalID != 0 && dbProposal.Status != uint64(schema.ProposalVotingStatus) { - log.Infof("[Handler.SyncProposal] already voted :", ctx.B2NodeConfig.Address) - proposalID++ - continue - } - - if proposal.Status == schema.ProposalVotingStatus { - // voting - verifyBatchInfo, err := GetVerifyBatchInfoByLastBatchNum(ctx, proposal.StartIndex) - if err != nil { - log.Errorf("[Handler.SyncProposal] GetVerifyBatchInfoByLastBatchNum error info:", errors.WithStack(err)) - time.Sleep(3 * time.Second) - continue - } - - _, err = ctx.NodeClient.SubmitProof(proposal.Id, verifyBatchInfo.proofRootHash, verifyBatchInfo.stateRootHash, - verifyBatchInfo.startBatchNum, verifyBatchInfo.endBatchNum) - if err != nil { - log.Errorf("[Handler.SyncProposal] vote proposal error info", errors.WithStack(err)) - time.Sleep(3 * time.Second) - continue - } + if dbProposal.ProposalID != 0 { + log.Infof("[Handler.SyncProposal] already sync :", ctx.B2NodeConfig.Address) proposalID++ continue } - time.Sleep(10 * time.Second) } } diff --git a/internal/handler/vote.go b/internal/handler/vote.go deleted file mode 100644 index abeebd1..0000000 --- a/internal/handler/vote.go +++ /dev/null @@ -1 +0,0 @@ -package handler diff --git a/internal/schema/proposal.go b/internal/schema/proposal.go index f2a2f2e..be2dc7e 100644 --- a/internal/schema/proposal.go +++ b/internal/schema/proposal.go @@ -3,23 +3,25 @@ package schema const ( ProposalVotingStatus = 0 ProposalPendingStatus = 1 - ProposalSucceedStatus = 2 - ProposalTimeoutStatus = 3 + ProposalCommitting = 2 + ProposalSucceedStatus = 3 + ProposalTimeoutStatus = 4 ) type Proposal struct { Base - ProposalID uint64 `json:"proposal_id"` - StateRootHash string `json:"state_root_hash"` - ProofRootHash string `json:"proof_root_hash"` - StartBatchNum uint64 `json:"start_batch_num"` - EndBatchNum uint64 `json:"end_batch_num"` - BtcCommitTxHash string `json:"btc_commit_tx_hash"` - BtcRevealTxHash string `json:"btc_reveal_tx_hash"` - Winner string `json:"winner"` - Status uint64 `json:"status"` + ProposalID uint64 `json:"proposal_id"` + StateRootHash string `json:"state_root_hash"` + ProofRootHash string `json:"proof_root_hash"` + StartBatchNum uint64 `json:"start_batch_num"` + EndBatchNum uint64 `json:"end_batch_num"` + BtcTxHash string `json:"btc_tx_hash"` + Winner string `json:"winner"` + Status uint64 `json:"status"` + GenerateDetailsFile bool `json:"generate_details_file"` + ArTxHash string `json:"ar_tx_hash"` } func (Proposal) TableName() string { - return "`proposal`" + return "proposal" } diff --git a/internal/schema/sync_blocks.go b/internal/schema/sync_blocks.go index 3972ffe..0afa244 100644 --- a/internal/schema/sync_blocks.go +++ b/internal/schema/sync_blocks.go @@ -22,11 +22,11 @@ type SyncBlock struct { } func (SyncBlock) TableName() string { - return "`sync_blocks`" + return "sync_blocks" } type SyncBlockHistory SyncBlock func (SyncBlockHistory) TableName() string { - return "`sync_blocks_history`" + return "sync_blocks_history" } diff --git a/internal/schema/sync_events.go b/internal/schema/sync_events.go index ea2bce8..a5fd184 100644 --- a/internal/schema/sync_events.go +++ b/internal/schema/sync_events.go @@ -26,11 +26,11 @@ type SyncEvent struct { } func (SyncEvent) TableName() string { - return "`sync_events`" + return "sync_events" } type SyncEventHistory SyncEvent func (SyncEventHistory) TableName() string { - return "`sync_events_history`" + return "sync_events_history" } diff --git a/internal/svc/svc.go b/internal/svc/svc.go index b5d4b5a..bad6814 100644 --- a/internal/svc/svc.go +++ b/internal/svc/svc.go @@ -1,17 +1,15 @@ package svc import ( + "github.com/b2network/b2committer/internal/types" "github.com/b2network/b2committer/pkg/b2node" - "time" - "github.com/b2network/b2committer/pkg/log" - - "github.com/b2network/b2committer/internal/types" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/ethclient" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" + "time" ) var svc *ServiceContext @@ -41,11 +39,11 @@ func NewServiceContext(cfg *types.Config, bitcoinCfg *types.BitcoinRPCConfig, b2 if err != nil { log.Panicf("[svc]gorm get sqlDB panic: %s\n", err) } - // SetMaxIdleConns 设置空闲连接池中连接的最大数量 + // SetMaxIdleConns sqlDB.SetMaxIdleConns(cfg.MySQLMaxIdleConns) - // SetMaxOpenConns 设置打开数据库连接的最大数量。 + // SetMaxOpenConns sqlDB.SetMaxOpenConns(cfg.MySQLMaxOpenConns) - // SetConnMaxLifetime 设置了连接可复用的最大时间。 + // SetConnMaxLifetime sqlDB.SetConnMaxLifetime(time.Duration(cfg.MySQLConnMaxLifetime) * time.Second) rpc, err := ethclient.Dial(cfg.RPCUrl) diff --git a/internal/types/config.go b/internal/types/config.go index 79bafcd..0596345 100644 --- a/internal/types/config.go +++ b/internal/types/config.go @@ -9,24 +9,29 @@ type Config struct { // debug", "info", "warn", "error", "panic", "fatal" LogLevel string `env:"LOG_LEVEL" envDefault:"info"` // "console","json" - LogFormat string `env:"LOG_FORMAT" envDefault:"console"` - MySQLDataSource string `env:"MYSQL_DATA_SOURCE" envDefault:"root:root@tcp(127.0.0.1:3366)/b2_committer?charset=utf8mb4&parseTime=True&loc=Local&multiStatements=true"` - MySQLMaxIdleConns int `env:"MYSQL_MAX_IDLE_CONNS" envDefault:"10"` - MySQLMaxOpenConns int `env:"MYSQL_MAX_OPEN_CONNS" envDefault:"20"` - MySQLConnMaxLifetime int `env:"MYSQL_CONN_MAX_LIFETIME" envDefault:"3600"` - RPCUrl string `env:"RPC_URL" envDefault:"https://ethereum-goerli-rpc.publicnode.com"` - Blockchain string `env:"BLOCKCHAIN" envDefault:"b2-node"` - InitBlockNumber int64 `env:"INIT_BLOCK_NUMBER" envDefault:"10619156"` - InitBlockHash string `env:"INIT_BLOCK_HASH" envDefault:"0x401b2ba6be4133f37485c9af320be4ca88b2972523d7d816b463fb772444de10"` - PolygonZKEVMAddress string `env:"POLYGON_ZKEVM_ADDRESS" envDefault:"0xa997cfD539E703921fD1e3Cf25b4c241a27a4c7A"` - LimitNum int `evn:"PROPOSAL_BATCHES_LIMITNUM" envDefault:"10"` - InitProposalID uint64 `evn:"INIT_PROPOSAL_ID" envDefault:"1"` + LogFormat string `env:"LOG_FORMAT" envDefault:"console"` + PostgresqlDataSource string `env:"POSTGRESQL_DATA_SOURCE" envDefault:"host=localhost port=5433 user=postgres password=postgres dbname=b2_committer sslmode=disable"` + MySQLDataSource string `env:"MYSQL_DATA_SOURCE" envDefault:"root:root@tcp(127.0.0.1:3366)/b2_committer2?charset=utf8mb4&parseTime=True&loc=Local&multiStatements=true"` + MySQLMaxIdleConns int `env:"MYSQL_MAX_IDLE_CONNS" envDefault:"10"` + MySQLMaxOpenConns int `env:"MYSQL_MAX_OPEN_CONNS" envDefault:"20"` + MySQLConnMaxLifetime int `env:"MYSQL_CONN_MAX_LIFETIME" envDefault:"3600"` + RPCUrl string `env:"RPC_URL" envDefault:"https://habitat-hub-rpc.bsquared.network"` + Blockchain string `env:"BLOCKCHAIN" envDefault:"b2-node"` + InitBlockNumber int64 `env:"INIT_BLOCK_NUMBER" envDefault:"0"` + InitBlockHash string `env:"INIT_BLOCK_HASH" envDefault:"0x49a34ca5e11dbcd56b4cad717a98efe5c76552a2dcfbdcd693a248e2fd5f8d51"` + PolygonSequenceContract string `env:"POLYGON_SEQUENCE_CONTRACT" envDefault:"0xa6AAdA6845b2083ff6812bAc773038442e7f4dE6"` + PolygonVerifyBatchContract string `env:"POLYGON_VERIFY_BATCH_CONTRACT" envDefault:"0xDdee8ddfA81F5E36373637240038DCCC14529BF7"` + LimitNum int `evn:"PROPOSAL_BATCHES_LIMITNUM" envDefault:"10"` + InitProposalID uint64 `evn:"INIT_PROPOSAL_ID" envDefault:"1"` + BatchPath string `env:"BATCH_PATH" envDefault:"batchFile"` + ArweaveWallet string `env:"B2NODE_ARWEAVE_WALLET" envDefault:"./wallet/account.json"` + ArweaveRPC string `env:"B2NODE_ARWEAVE_RPC" envDefault:"https://arweave.net"` } type B2NODEConfig struct { - ChainID int64 `env:"B2NODE_CHAIN_ID" envDefault:"11155111"` - RPCUrl string `env:"B2NODE_RPC_URL" envDefault:"https://eth-sepolia.g.alchemy.com/v2/lV2e-64nNnEMUA7UG0IT0uwjzlxEI512"` - CommitterAddress string `env:"B2NODE_COMMITTER_ADDRESS" envDefault:"0x9bb873a9772D2356192C6D299ABcfa1F69F5b3e4"` + ChainID int64 `env:"B2NODE_CHAIN_ID" envDefault:"1113"` + RPCUrl string `env:"B2NODE_RPC_URL" envDefault:"https://habitat-hub-rpc.bsquared.network"` + CommitterAddress string `env:"B2NODE_COMMITTER_ADDRESS" envDefault:"0x85D40bDc724bcabF6D17d8343a74e0d916dfD40D"` Address string `env:"B2NODE_CREATOR_ADDRESS" envDefault:"0xb634434CA448c39b05b460dEC51f458EaC1e2759"` PrivateKey string `env:"B2NODE_CREATOR_PRIVATE_KEY" envDefault:"0a81baab0ca0b65d406d68c79945054b092cbe77499ca55c57b3ecfd33f1d551"` } diff --git a/pkg/b2node/b2node.go b/pkg/b2node/b2node.go index 2076d35..0842116 100644 --- a/pkg/b2node/b2node.go +++ b/pkg/b2node/b2node.go @@ -3,6 +3,7 @@ package b2node import ( "crypto/ecdsa" "fmt" + "github.com/b2network/b2committer/internal/schema" "github.com/b2network/b2committer/pkg/contract" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" @@ -10,6 +11,7 @@ import ( "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethclient" "math/big" + "time" ) type NodeClient struct { @@ -72,7 +74,7 @@ func (n NodeClient) RemoveProposers(address common.Address) (*types.Transaction, func (n NodeClient) QueryLastProposal() (*contract.CommitterProposal, error) { proposal, err := n.Committer.GetLastProposal(&bind.CallOpts{ From: common.HexToAddress(n.Address), - }) + }, uint64(n.ChainID)) if err != nil { return nil, fmt.Errorf("[QueryLastProposalID] err: %s", err) } @@ -82,7 +84,7 @@ func (n NodeClient) QueryLastProposal() (*contract.CommitterProposal, error) { func (n NodeClient) QueryProposalByID(id uint64) (*contract.CommitterProposal, error) { proposal, err := n.Committer.Proposal(&bind.CallOpts{ From: common.HexToAddress(n.Address), - }, id) + }, uint64(n.ChainID), id) if err != nil { return nil, fmt.Errorf("[QueryProposalByID] err: %s", err) } @@ -95,7 +97,7 @@ func (n NodeClient) SubmitProof(id uint64, proofHash string, stateRootHash strin tx, err := n.Committer.SubmitProof(&bind.TransactOpts{ From: n.Auth.From, Signer: n.Auth.Signer, - }, id, proofHash, stateRootHash, startIndex, endIndex) + }, uint64(n.ChainID), id, proofHash, stateRootHash, startIndex, endIndex) if err != nil { return nil, fmt.Errorf("[SubmitProof] err: %s", err) } @@ -106,18 +108,29 @@ func (n NodeClient) BitcoinTxHash(id uint64, txHash string) (*types.Transaction, tx, err := n.Committer.BitcoinTx(&bind.TransactOpts{ From: n.Auth.From, Signer: n.Auth.Signer, - }, id, txHash) + }, uint64(n.ChainID), id, txHash) if err != nil { return nil, fmt.Errorf("[BitcoinTxHash] err: %s", err) } return tx, nil } +func (n NodeClient) ArweaveTx(id uint64, txHash string) (*types.Transaction, error) { + tx, err := n.Committer.ArweaveTx(&bind.TransactOpts{ + From: n.Auth.From, + Signer: n.Auth.Signer, + }, uint64(n.ChainID), id, txHash) + if err != nil { + return nil, fmt.Errorf("[ArweaveTx] err: %s", err) + } + return tx, nil +} + func (n NodeClient) TimeoutProposal(id uint64) (*types.Transaction, error) { tx, err := n.Committer.TimeoutProposal(&bind.TransactOpts{ From: n.Auth.From, Signer: n.Auth.Signer, - }, id) + }, uint64(n.ChainID), id) if err != nil { return nil, fmt.Errorf("[TimeoutProposal] err: %s", err) } @@ -127,230 +140,30 @@ func (n NodeClient) TimeoutProposal(id uint64) (*types.Transaction, error) { func (n NodeClient) IsProposalTimeout(id uint64) (bool, error) { res, err := n.Committer.IsProposalTimeout(&bind.CallOpts{ From: common.HexToAddress(n.Address), - }, id) + }, uint64(n.ChainID), id) if err != nil { return false, fmt.Errorf("[IsProposalTimeout] err: %s", err) } return res, nil } -// -//func (n NodeClient) GetAccountInfo(address string) (*eTypes.EthAccount, error) { -// authClient := authTypes.NewQueryClient(n.GrpcConn) -// res, err := authClient.Account(context.Background(), &authTypes.QueryAccountRequest{Address: address}) -// if err != nil { -// return nil, fmt.Errorf("[NodeClient] GetAccountInfo err: %s", err) -// } -// ethAccount := &eTypes.EthAccount{} -// err = ethAccount.Unmarshal(res.GetAccount().GetValue()) -// if err != nil { -// return nil, fmt.Errorf("[NodeClient][ethAccount.Unmarshal] err: %s", err) -// } -// return ethAccount, nil -//} -// -//func (n NodeClient) SubmitProof(id uint64, from string, proofHash string, stateRootHash string, -// startIndex uint64, endIndex uint64, -//) (uint64, error) { -// msg := committerTypes.NewMsgSubmitProof(id, from, proofHash, stateRootHash, startIndex, endIndex) -// msgResponse, err := n.broadcastTx(msg) -// if err != nil { -// return 0, fmt.Errorf("[SubmitProof] err: %s", err) -// } -// code := msgResponse.TxResponse.Code -// rawLog := msgResponse.TxResponse.RawLog -// if code != 0 { -// return 0, fmt.Errorf("[SubmitProof][msgResponse.TxResponse.Code] err: %s", rawLog) -// } -// hexData := msgResponse.TxResponse.Data -// byteData, err := hex.DecodeString(hexData) -// if err != nil { -// return 0, fmt.Errorf("[SubmitProof][hex.DecodeString] err: %s", err) -// } -// pbMsg := &sdk.TxMsgData{} -// err = pbMsg.Unmarshal(byteData) -// if err != nil { -// return 0, fmt.Errorf("[SubmitProof][pbMsg.Unmarshal] err: %s", err) -// } -// -// resMsgRes := &committerTypes.MsgSubmitProofResponse{} -// err = resMsgRes.Unmarshal(pbMsg.MsgResponses[0].GetValue()) -// if err != nil { -// return 0, fmt.Errorf("[SubmitProof][resMsgRes.Unmarshal] err: %s", err) -// } -// return resMsgRes.Id, err -//} -// -//func (n NodeClient) BitcoinTx(proposalID uint64, from string, bitcoinTxHash string) (uint64, error) { -// msg := committerTypes.NewMsgBitcoinTx(proposalID, from, bitcoinTxHash) -// msgResponse, err := n.broadcastTx(msg) -// if err != nil { -// return 0, fmt.Errorf("[BitcoinTx] err: %s", err) -// } -// code := msgResponse.TxResponse.Code -// rawLog := msgResponse.TxResponse.RawLog -// if code != 0 { -// return 0, fmt.Errorf("[BitcoinTx][msgResponse.TxResponse.Code] err: %s", rawLog) -// } -// hexData := msgResponse.TxResponse.Data -// byteData, err := hex.DecodeString(hexData) -// if err != nil { -// return 0, fmt.Errorf("[BitcoinTx][hex.DecodeString] err: %s", err) -// } -// pbMsg := &sdk.TxMsgData{} -// err = pbMsg.Unmarshal(byteData) -// if err != nil { -// return 0, fmt.Errorf("[BitcoinTx][pbMsg.Unmarshal] err: %s", err) -// } -// -// resMsgRes := &committerTypes.MsgSubmitProofResponse{} -// err = resMsgRes.Unmarshal(pbMsg.MsgResponses[0].GetValue()) -// if err != nil { -// return 0, fmt.Errorf("[BitcoinTx][resMsgRes.Unmarshal] err: %s", err) -// } -// return resMsgRes.Id, err -//} -// -//func (n NodeClient) GetEthGasPrice() (uint64, error) { -// gasPriceByte, err := rpc.HTTPPostJSON("", n.RPCUrl, `{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}`) -// if err != nil { -// return 0, fmt.Errorf("[GetEthGasPrice] err: %s", err) -// } -// var g GasPriceRsp -// if err := json.Unmarshal(gasPriceByte, &g); err != nil { -// return 0, fmt.Errorf("[GetEthGasPrice.json.Unmarshal] err: %s", err) -// } -// parseUint, err := strconv.ParseUint(g.Result, 0, 64) -// if err != nil { -// return 0, fmt.Errorf("[GetEthGasPrice.strconv.ParseUint] err: %s", err) -// } -// return parseUint, nil -//} -// -//func (n NodeClient) GetGasPrice() (uint64, error) { -// queryClient := feeTypes.NewQueryClient(n.GrpcConn) -// res, err := queryClient.Params(context.Background(), &feeTypes.QueryParamsRequest{}) -// if err != nil { -// return 0, fmt.Errorf("[GetGasPrice] err: %s", err) -// } -// return res.Params.BaseFee.Uint64(), nil -//} -// -//func (n NodeClient) broadcastTx(msgs ...sdk.Msg) (*tx.BroadcastTxResponse, error) { -// gasPrice, err := n.GetGasPrice() -// if err != nil { -// return nil, fmt.Errorf("[broadcastTx][GetGasPrice] err: %s", err) -// } -// txBytes, err := n.buildSimTx(gasPrice, msgs...) -// if err != nil { -// return nil, fmt.Errorf("[SubmitProof] err: %s", err) -// } -// txClient := tx.NewServiceClient(n.GrpcConn) -// res, err := txClient.BroadcastTx(context.Background(), &tx.BroadcastTxRequest{ -// Mode: tx.BroadcastMode_BROADCAST_MODE_BLOCK, -// TxBytes: txBytes, -// }) -// if err != nil { -// return nil, fmt.Errorf("[SubmitProof][BroadcastTx] err: %s", err) -// } -// return res, err -//} -// -//func (n NodeClient) buildSimTx(gasPrice uint64, msgs ...sdk.Msg) ([]byte, error) { -// encCfg := simapp.MakeTestEncodingConfig() -// txBuilder := encCfg.TxConfig.NewTxBuilder() -// err := txBuilder.SetMsgs(msgs...) -// if err != nil { -// return nil, fmt.Errorf("[BuildSimTx][SetMsgs] err: %s", err) -// } -// ethAccount, err := n.GetAccountInfo(n.Address) -// if nil != err { -// return nil, fmt.Errorf("[BuildSimTx][GetAccountInfo]err: %s", err) -// } -// signV2 := signing.SignatureV2{ -// PubKey: n.PrivateKey.PubKey(), -// Data: &signing.SingleSignatureData{ -// SignMode: encCfg.TxConfig.SignModeHandler().DefaultMode(), -// }, -// Sequence: ethAccount.BaseAccount.Sequence, -// } -// err = txBuilder.SetSignatures(signV2) -// if err != nil { -// return nil, fmt.Errorf("[BuildSimTx][SetSignatures 1]err: %s", err) -// } -// txBuilder.SetGasLimit(DefaultBaseGasPrice) -// txBuilder.SetFeeAmount(sdk.NewCoins(sdk.Coin{ -// Denom: n.Denom, -// Amount: sdkmath.NewIntFromUint64(gasPrice * DefaultBaseGasPrice), -// })) -// -// signerData := xauthsigning.SignerData{ -// ChainID: n.ChainID, -// AccountNumber: ethAccount.BaseAccount.AccountNumber, -// Sequence: ethAccount.BaseAccount.Sequence, -// } -// -// sigV2, err := clientTx.SignWithPrivKey( -// encCfg.TxConfig.SignModeHandler().DefaultMode(), signerData, -// txBuilder, &n.PrivateKey, encCfg.TxConfig, ethAccount.BaseAccount.Sequence) -// if err != nil { -// return nil, fmt.Errorf("[BuildSimTx][SignWithPrivKey] err: %s", err) -// } -// -// err = txBuilder.SetSignatures(sigV2) -// if err != nil { -// return nil, fmt.Errorf("[BuildSimTx][SetSignatures 2] err: %s", err) -// } -// txBytes, err := encCfg.TxConfig.TxEncoder()(txBuilder.GetTx()) -// if err != nil { -// return nil, fmt.Errorf("[BuildSimTx][GetTx] err: %s", err) -// } -// return txBytes, err -//} -// -//func (n NodeClient) QueryLastProposalID() (uint64, uint64, error) { -// queryClient := committerTypes.NewQueryClient(n.GrpcConn) -// res, err := queryClient.LastProposalID(context.Background(), &committerTypes.QueryLastProposalIdRequest{}) -// if err != nil { -// return 0, 0, fmt.Errorf("[QueryLastProposalID] err: %s", err) -// } -// return res.LastProposalId, res.EndIndex, nil -//} -// -//func (n NodeClient) QueryProposalByID(id uint64) (*committerTypes.Proposal, error) { -// queryClient := committerTypes.NewQueryClient(n.GrpcConn) -// res, err := queryClient.Proposal(context.Background(), &committerTypes.QueryProposalRequest{ProposalId: id}) -// if err != nil { -// return nil, fmt.Errorf("[QueryProposalByID] err: %s", err) -// } -// return res.Proposal, nil -//} -// -//func (n NodeClient) CommitterBitcoinTx(msg *committerTypes.MsgBitcoinTx) (*tx.BroadcastTxResponse, error) { -// gasPrice, err := n.GetGasPrice() -// if err != nil { -// return nil, fmt.Errorf("[CommitterBitcoinTx][GetGasPrice] err: %s", err) -// } -// txBytes, err := n.buildSimTx(gasPrice, msg) -// if err != nil { -// return nil, fmt.Errorf("[SubmitProof] err: %s", err) -// } -// txClient := tx.NewServiceClient(n.GrpcConn) -// res, err := txClient.BroadcastTx(context.Background(), &tx.BroadcastTxRequest{ -// Mode: tx.BroadcastMode_BROADCAST_MODE_BLOCK, -// TxBytes: txBytes, -// }) -// if err != nil { -// return nil, fmt.Errorf("[SubmitProof][BroadcastTx] err: %s", err) -// } -// return res, err -//} -// -//func (n NodeClient) TimeoutProposal(id uint64) error { -// msg := &committerTypes.MsgTimeoutProposal{Id: id, From: n.Address} -// _, err := n.broadcastTx(msg) -// if err != nil { -// return fmt.Errorf("[TimeoutProposal] err: %s", err) -// } -// return nil -//} +func (n NodeClient) CheckProposalTimeout(id uint64) (bool, error) { + res, err := n.IsProposalTimeout(id) + if err != nil { + return false, err + } + if res { + proposalLatest, err := n.QueryProposalByID(id) + if err != nil { + return true, err + } + if proposalLatest.Status != schema.ProposalTimeoutStatus { + _, err := n.TimeoutProposal(id) + if err != nil { + return true, err + } + time.Sleep(5 * time.Second) + } + } + return res, nil +} diff --git a/pkg/b2node/b2node_test.go b/pkg/b2node/b2node_test.go index 9bf2869..be7a403 100644 --- a/pkg/b2node/b2node_test.go +++ b/pkg/b2node/b2node_test.go @@ -15,9 +15,9 @@ import ( const ( creatorAddress = "0xb634434CA448c39b05b460dEC51f458EaC1e2759" creatorPrivateKey = "0a81baab0ca0b65d406d68c79945054b092cbe77499ca55c57b3ecfd33f1d551" - contractAddress = "0x9bb873a9772D2356192C6D299ABcfa1F69F5b3e4" - URL = "https://eth-sepolia.g.alchemy.com/v2/lV2e-64nNnEMUA7UG0IT0uwjzlxEI512" - chainID = 11155111 + contractAddress = "0x85D40bDc724bcabF6D17d8343a74e0d916dfD40D" + URL = "https://habitat-hub-rpc.bsquared.network" + chainID = 1113 ) func TestQueryTimeoutPeriod(t *testing.T) { @@ -46,11 +46,43 @@ func TestSetTimeoutPeriod(t *testing.T) { tx, err := committer.SetTimeoutPeriod(&bind.TransactOpts{ From: common.HexToAddress(creatorAddress), Signer: auth.Signer, - }, big.NewInt(60*60*24)) + }, big.NewInt(60*20)) require.NoError(t, err) fmt.Println(tx.Hash()) } +func TestAddChain(t *testing.T) { + conn, err := ethclient.Dial(URL) + require.NoError(t, err) + defer conn.Close() + + committer, err := contract.NewCommitter(common.HexToAddress(contractAddress), conn) + require.NoError(t, err) + privateKey, _ := crypto.HexToECDSA(creatorPrivateKey) + auth, err := bind.NewKeyedTransactorWithChainID(privateKey, big.NewInt(chainID)) + require.NoError(t, err) + tx, err := committer.AddChain(&bind.TransactOpts{ + From: auth.From, + Signer: auth.Signer, + }, 1113) + require.NoError(t, err) + fmt.Println(tx.Hash()) +} + +func TestQueryAllChain(t *testing.T) { + conn, err := ethclient.Dial(URL) + require.NoError(t, err) + defer conn.Close() + + committer, err := contract.NewCommitter(common.HexToAddress(contractAddress), conn) + res, err := committer.AllChains(&bind.CallOpts{ + From: common.HexToAddress(creatorAddress), + }) + fmt.Println(res) + require.NoError(t, err) + require.Containsf(t, res, uint64(1113), "error message %s") +} + func TestAddCommitter(t *testing.T) { conn, err := ethclient.Dial(URL) require.NoError(t, err) @@ -111,7 +143,7 @@ func TestQueryLastProposalID(t *testing.T) { require.NoError(t, err) proposal, err := committer.GetLastProposal(&bind.CallOpts{ From: common.HexToAddress(creatorAddress), - }) + }, chainID) require.NoError(t, err) fmt.Println(proposal) } @@ -125,7 +157,7 @@ func TestQueryProposalByID(t *testing.T) { require.NoError(t, err) proposal, err := committer.Proposal(&bind.CallOpts{ From: common.HexToAddress(creatorAddress), - }, 3) + }, chainID, 1) require.NoError(t, err) fmt.Println(proposal) } @@ -143,7 +175,7 @@ func TestSubmitProof(t *testing.T) { tx, err := committer.SubmitProof(&bind.TransactOpts{ From: common.HexToAddress(creatorAddress), Signer: auth.Signer, - }, 1, "proofHash", "stateRoot", 1, 718154) + }, chainID, 1, "proofHash", "stateRoot", 1, 56908) require.NoError(t, err) fmt.Println(tx.Hash()) } @@ -161,11 +193,42 @@ func TestBitcoinTxHash(t *testing.T) { tx, err := committer.BitcoinTx(&bind.TransactOpts{ From: common.HexToAddress(creatorAddress), Signer: auth.Signer, - }, 1, "txHash") + }, chainID, 1, "txHash") require.NoError(t, err) fmt.Println(tx.Hash()) } +func TestAr(t *testing.T) { + conn, err := ethclient.Dial(URL) + require.NoError(t, err) + defer conn.Close() + + committer, err := contract.NewCommitter(common.HexToAddress(contractAddress), conn) + require.NoError(t, err) + privateKey, _ := crypto.HexToECDSA(creatorPrivateKey) + auth, err := bind.NewKeyedTransactorWithChainID(privateKey, big.NewInt(chainID)) + require.NoError(t, err) + tx, err := committer.ArweaveTx(&bind.TransactOpts{ + From: common.HexToAddress(creatorAddress), + Signer: auth.Signer, + }, chainID, 1, "arTxhash") + require.NoError(t, err) + fmt.Println(tx.Hash()) +} + +func TestIsProposalTimeout(t *testing.T) { + conn, err := ethclient.Dial(URL) + require.NoError(t, err) + defer conn.Close() + + committer, err := contract.NewCommitter(common.HexToAddress(contractAddress), conn) + require.NoError(t, err) + res, err := committer.IsProposalTimeout(&bind.CallOpts{ + From: common.HexToAddress(creatorAddress), + }, chainID, 2) + fmt.Println(res) +} + func TestTimeoutProposal(t *testing.T) { conn, err := ethclient.Dial(URL) require.NoError(t, err) @@ -179,158 +242,7 @@ func TestTimeoutProposal(t *testing.T) { tx, err := committer.TimeoutProposal(&bind.TransactOpts{ From: common.HexToAddress(creatorAddress), Signer: auth.Signer, - }, 1) + }, chainID, 1) require.NoError(t, err) fmt.Println(tx.Hash()) } - -//func TestGetAccountInfo(t *testing.T) { -// privateKeHex := "234def6d66bb45c288521bbbd20b7b3cd542e5b6e26386dcec24f8e918251f5a" -// chainID := "ethermint_9000-1" -// address := "ethm1jvqt5echmshc8gjsqdzk9unclt8qkx4knxcjdj" -// rpcUrl := "http://localhost:8545" -// denom := "aphoton" -// grpcConn, err := types.GetClientConnection("127.0.0.1", types.WithClientPortOption(9090)) -// if err != nil { -// panic(err) -// } -// nodeClient := NewNodeClient(privateKeHex, chainID, address, grpcConn, rpcUrl, denom) -// addInfo, err := nodeClient.GetAccountInfo(address) -// // -// fmt.Println(addInfo.CodeHash) -// fmt.Println(addInfo.BaseAccount.Sequence) -// fmt.Println(addInfo.BaseAccount.Address) -//} -// -//func TestSubmitProof(t *testing.T) { -// privateKeHex := "234def6d66bb45c288521bbbd20b7b3cd542e5b6e26386dcec24f8e918251f5a" -// chainID := "ethermint_9000-1" -// address := "ethm1jvqt5echmshc8gjsqdzk9unclt8qkx4knxcjdj" -// rpcUrl := "http://localhost:8545" -// denom := "aphoton" -// grpcConn, err := types.GetClientConnection("127.0.0.1", types.WithClientPortOption(9090)) -// if err != nil { -// panic(err) -// } -// nodeClient := NewNodeClient(privateKeHex, chainID, address, grpcConn, rpcUrl, denom) -// proposalID, err := nodeClient.SubmitProof(0, address, "proof7", "stateRoot", 1, 70) -// require.NoError(t, err) -// fmt.Println(proposalID) -//} -// -//func TestDecodeTxResponseData(t *testing.T) { -// byteData, _ := hex.DecodeString("12370A312F65766D6F732E65746865726D696E742E636F6D6D69747465722E4D73675375626D697450726F6F66526573706F6E736512020808") -// pbMsg := &sdk.TxMsgData{} -// // proto.Marshal(&sdk.TxMsgData{MsgResponses: msgResponses}) -// pbMsg.Unmarshal(byteData) -// fmt.Println(pbMsg.MsgResponses[0].TypeUrl) -// resMsgRes := &xcommitterTypes.MsgSubmitProofResponse{} -// resMsgRes.Unmarshal(pbMsg.MsgResponses[0].GetValue()) -// fmt.Println(resMsgRes.Id) -//} -// -//func TestQueryLastProposalID(t *testing.T) { -// privateKeHex := "53da55319c649af5dec2d9ff11c0476698b27cf3bf8dfbce55fd29ab78caadf0" -// chainID := "ethermint_9000-1" -// address := "ethm17ezey9h6zw0yzaxq00w3gmt0rdet063v3vfmee" -// rpcUrl := "http://localhost:8545" -// denom := "aphoton" -// grpcConn, err := types.GetClientConnection("127.0.0.1", types.WithClientPortOption(9090)) -// if err != nil { -// panic(err) -// } -// nodeClient := NewNodeClient(privateKeHex, chainID, address, grpcConn, rpcUrl, denom) -// lastID, endIndex, err := nodeClient.QueryLastProposalID() -// if err != nil { -// panic(err) -// } -// fmt.Println("lastID:", lastID) -// fmt.Println("index:", endIndex) -//} -// -//func TestQueryProposalByID(t *testing.T) { -// privateKeHex := "53da55319c649af5dec2d9ff11c0476698b27cf3bf8dfbce55fd29ab78caadf0" -// chainID := "ethermint_9000-1" -// address := "ethm17ezey9h6zw0yzaxq00w3gmt0rdet063v3vfmee" -// rpcUrl := "http://localhost:8545" -// denom := "aphoton" -// grpcConn, err := types.GetClientConnection("127.0.0.1", types.WithClientPortOption(9090)) -// if err != nil { -// panic(err) -// } -// nodeClient := NewNodeClient(privateKeHex, chainID, address, grpcConn, rpcUrl, denom) -// proposal, err := nodeClient.QueryProposalByID(6) -// fmt.Println("id:", proposal.Id) -// fmt.Println("proposer:", proposal.Proposer) -// fmt.Println("status:", proposal.Status) -// fmt.Println("stateRootHash:", proposal.StateRootHash) -// fmt.Println("winner:", proposal.Winner) -// fmt.Println("voteList:", proposal.VotedListPhaseCommit) -// fmt.Println("start index:", proposal.StartIndex) -// fmt.Println("end index:", proposal.EndIndex) -// fmt.Println("bitcoinTx:", proposal.BitcoinTxHash) -//} -// -//func TestCommitterBitcoinTx(t *testing.T) { -// privateKeHex := "53da55319c649af5dec2d9ff11c0476698b27cf3bf8dfbce55fd29ab78caadf0" -// chainID := "ethermint_9000-1" -// address := "ethm17ezey9h6zw0yzaxq00w3gmt0rdet063v3vfmee" -// rpcUrl := "http://localhost:8545" -// denom := "aphoton" -// grpcConn, err := types.GetClientConnection("127.0.0.1", types.WithClientPortOption(9090)) -// if err != nil { -// panic(err) -// } -// nodeClient := NewNodeClient(privateKeHex, chainID, address, grpcConn, rpcUrl, denom) -// res, err := nodeClient.CommitterBitcoinTx(&xcommitterTypes.MsgBitcoinTx{Id: 1, From: "ethm10ky5utnz5ddlmus5t2mm5ftxal3u0u6rsnx5nl", BitcoinTxHash: "1234567890"}) -// require.NoError(t, err) -// fmt.Println(res) -//} -// -//func TestGetETHGasPrice(t *testing.T) { -// privateKeHex := "0c993419ff40521f20370c45721c92626c2f1fd35267258fb3d093ed0826b611" -// chainID := "ethermint_9000-1" -// address := "ethm1mffw0yzmusgm9fwd40jaal3vwustuhhx8rh03q" -// rpcUrl := "http://localhost:8545" -// denom := "aphoton" -// grpcConn, err := types.GetClientConnection("127.0.0.1", types.WithClientPortOption(9090)) -// if err != nil { -// panic(err) -// } -// nodeClient := NewNodeClient(privateKeHex, chainID, address, grpcConn, rpcUrl, denom) -// gasprice, err := nodeClient.GetEthGasPrice() -// require.NoError(t, err) -// fmt.Println(gasprice) -//} -// -//func TestGetGasPrice(t *testing.T) { -// privateKeHex := "37927fcde10259a7114a58487cb6303d04c33291ba29bbb8e488eef150e6a59a" -// chainID := "ethermint_9000-1" -// address := "ethm1nexknt73vdv6cm3h6ep6u7pe9vg8kr6kqwyl0a" -// rpcUrl := "http://localhost:8545" -// denom := "aphoton" -// grpcConn, err := types.GetClientConnection("127.0.0.1", types.WithClientPortOption(9090)) -// if err != nil { -// panic(err) -// } -// nodeClient := NewNodeClient(privateKeHex, chainID, address, grpcConn, rpcUrl, denom) -// gasPrice, err := nodeClient.GetGasPrice() -// require.NoError(t, err) -// fmt.Println(gasPrice) -//} -// -//func TestAddCommitter(t *testing.T) { -// privateKeHex := "37927fcde10259a7114a58487cb6303d04c33291ba29bbb8e488eef150e6a59a" -// chainID := "ethermint_9000-1" -// address := "ethm1nexknt73vdv6cm3h6ep6u7pe9vg8kr6kqwyl0a" -// rpcUrl := "http://localhost:8545" -// denom := "aphoton" -// grpcConn, err := types.GetClientConnection("127.0.0.1", types.WithClientPortOption(9090)) -// if err != nil { -// panic(err) -// } -// nodeClient := NewNodeClient(privateKeHex, chainID, address, grpcConn, rpcUrl, denom) -// add, err := nodeClient.AddCommitter("ethm1c3csplac80qt22p5qwx3l5telv6ge9ycmzwe3w") -// require.NoError(t, err) -// fmt.Println(add) -//} diff --git a/pkg/contract/committer.go b/pkg/contract/committer.go index f16d8f6..200784c 100644 --- a/pkg/contract/committer.go +++ b/pkg/contract/committer.go @@ -39,12 +39,13 @@ type CommitterProposal struct { Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string } // CommitterMetaData contains all meta data concerning the Committer contract. var CommitterMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"startIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endIndex\",\"type\":\"uint256\"}],\"name\":\"ProposalSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ProposalTimedOut\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"phase\",\"type\":\"uint8\"}],\"name\":\"VoteProposal\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"addProposer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"allCommitPhaseVotes\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allProposers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"allTimeoutPhaseVotes\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"txHash\",\"type\":\"string\"}],\"name\":\"bitcoinTx\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"commitPhaseVotes\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"txHash\",\"type\":\"string\"}],\"internalType\":\"structCommitter.Proposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"isProposalTimeout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"isProposer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"isVotedOnCommitPhase\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"isVotedOnTimeoutPhase\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastProposal\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"txHash\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"proposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"txHash\",\"type\":\"string\"}],\"internalType\":\"structCommitter.Proposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"txHash\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"proposers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposersList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"removeProposer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"period\",\"type\":\"uint256\"}],\"name\":\"setTimeoutPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"}],\"name\":\"submitProof\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timeoutPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"timeoutPhaseVotes\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"timeoutProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIsNotExist\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"startIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endIndex\",\"type\":\"uint256\"}],\"name\":\"ProposalSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"}],\"name\":\"ProposalTimedOut\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"phase\",\"type\":\"uint8\"}],\"name\":\"VoteProposal\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"}],\"name\":\"addChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"addProposer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allChains\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allProposers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"}],\"name\":\"allSubmitBitcoinTxVotes\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"}],\"name\":\"allSubmitProofVotes\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"txHash\",\"type\":\"string\"}],\"name\":\"arweaveTx\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"txHash\",\"type\":\"string\"}],\"name\":\"bitcoinTx\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"chains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"chainsList\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"a\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"b\",\"type\":\"string\"}],\"name\":\"compareStrings\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"}],\"name\":\"getLastProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"btcTxHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"arweaveTxHash\",\"type\":\"string\"}],\"internalType\":\"structCommitter.Proposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"}],\"name\":\"isProposalTimeout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"isProposer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"}],\"name\":\"isSupportedChain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"isVotedOnBitcoinTxPhase\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"isVotedOnSubmitProofPhase\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"lastProposal\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"btcTxHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"arweaveTxHash\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"}],\"name\":\"proposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"btcTxHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"arweaveTxHash\",\"type\":\"string\"}],\"internalType\":\"structCommitter.Proposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"btcTxHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"arweaveTxHash\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"proposers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposersList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"}],\"name\":\"removeChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"removeProposer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"period\",\"type\":\"uint256\"}],\"name\":\"setTimeoutPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"submitBitcoinTxPhaseVotes\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"proofHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"stateRootHash\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"startIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endIndex\",\"type\":\"uint64\"}],\"name\":\"submitProof\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"submitProofPhaseVotes\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timeoutPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposalID\",\"type\":\"uint64\"}],\"name\":\"timeoutProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", } // CommitterABI is the input ABI used to generate the binding from. @@ -255,35 +256,35 @@ func (_Committer *CommitterCallerSession) DEFAULTADMINROLE() ([32]byte, error) { return _Committer.Contract.DEFAULTADMINROLE(&_Committer.CallOpts) } -// AllCommitPhaseVotes is a free data retrieval call binding the contract method 0x80214794. +// AllChains is a free data retrieval call binding the contract method 0x7f3f94b1. // -// Solidity: function allCommitPhaseVotes(uint64 id) view returns(address[]) -func (_Committer *CommitterCaller) AllCommitPhaseVotes(opts *bind.CallOpts, id uint64) ([]common.Address, error) { +// Solidity: function allChains() view returns(uint64[]) +func (_Committer *CommitterCaller) AllChains(opts *bind.CallOpts) ([]uint64, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "allCommitPhaseVotes", id) + err := _Committer.contract.Call(opts, &out, "allChains") if err != nil { - return *new([]common.Address), err + return *new([]uint64), err } - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) + out0 := *abi.ConvertType(out[0], new([]uint64)).(*[]uint64) return out0, err } -// AllCommitPhaseVotes is a free data retrieval call binding the contract method 0x80214794. +// AllChains is a free data retrieval call binding the contract method 0x7f3f94b1. // -// Solidity: function allCommitPhaseVotes(uint64 id) view returns(address[]) -func (_Committer *CommitterSession) AllCommitPhaseVotes(id uint64) ([]common.Address, error) { - return _Committer.Contract.AllCommitPhaseVotes(&_Committer.CallOpts, id) +// Solidity: function allChains() view returns(uint64[]) +func (_Committer *CommitterSession) AllChains() ([]uint64, error) { + return _Committer.Contract.AllChains(&_Committer.CallOpts) } -// AllCommitPhaseVotes is a free data retrieval call binding the contract method 0x80214794. +// AllChains is a free data retrieval call binding the contract method 0x7f3f94b1. // -// Solidity: function allCommitPhaseVotes(uint64 id) view returns(address[]) -func (_Committer *CommitterCallerSession) AllCommitPhaseVotes(id uint64) ([]common.Address, error) { - return _Committer.Contract.AllCommitPhaseVotes(&_Committer.CallOpts, id) +// Solidity: function allChains() view returns(uint64[]) +func (_Committer *CommitterCallerSession) AllChains() ([]uint64, error) { + return _Committer.Contract.AllChains(&_Committer.CallOpts) } // AllProposers is a free data retrieval call binding the contract method 0x239e1e3d. @@ -317,12 +318,12 @@ func (_Committer *CommitterCallerSession) AllProposers() ([]common.Address, erro return _Committer.Contract.AllProposers(&_Committer.CallOpts) } -// AllTimeoutPhaseVotes is a free data retrieval call binding the contract method 0xd1264f6b. +// AllSubmitBitcoinTxVotes is a free data retrieval call binding the contract method 0xbedc7561. // -// Solidity: function allTimeoutPhaseVotes(uint64 id) view returns(address[]) -func (_Committer *CommitterCaller) AllTimeoutPhaseVotes(opts *bind.CallOpts, id uint64) ([]common.Address, error) { +// Solidity: function allSubmitBitcoinTxVotes(uint64 chainID, uint64 proposalID) view returns(address[]) +func (_Committer *CommitterCaller) AllSubmitBitcoinTxVotes(opts *bind.CallOpts, chainID uint64, proposalID uint64) ([]common.Address, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "allTimeoutPhaseVotes", id) + err := _Committer.contract.Call(opts, &out, "allSubmitBitcoinTxVotes", chainID, proposalID) if err != nil { return *new([]common.Address), err @@ -334,57 +335,150 @@ func (_Committer *CommitterCaller) AllTimeoutPhaseVotes(opts *bind.CallOpts, id } -// AllTimeoutPhaseVotes is a free data retrieval call binding the contract method 0xd1264f6b. +// AllSubmitBitcoinTxVotes is a free data retrieval call binding the contract method 0xbedc7561. // -// Solidity: function allTimeoutPhaseVotes(uint64 id) view returns(address[]) -func (_Committer *CommitterSession) AllTimeoutPhaseVotes(id uint64) ([]common.Address, error) { - return _Committer.Contract.AllTimeoutPhaseVotes(&_Committer.CallOpts, id) +// Solidity: function allSubmitBitcoinTxVotes(uint64 chainID, uint64 proposalID) view returns(address[]) +func (_Committer *CommitterSession) AllSubmitBitcoinTxVotes(chainID uint64, proposalID uint64) ([]common.Address, error) { + return _Committer.Contract.AllSubmitBitcoinTxVotes(&_Committer.CallOpts, chainID, proposalID) } -// AllTimeoutPhaseVotes is a free data retrieval call binding the contract method 0xd1264f6b. +// AllSubmitBitcoinTxVotes is a free data retrieval call binding the contract method 0xbedc7561. // -// Solidity: function allTimeoutPhaseVotes(uint64 id) view returns(address[]) -func (_Committer *CommitterCallerSession) AllTimeoutPhaseVotes(id uint64) ([]common.Address, error) { - return _Committer.Contract.AllTimeoutPhaseVotes(&_Committer.CallOpts, id) +// Solidity: function allSubmitBitcoinTxVotes(uint64 chainID, uint64 proposalID) view returns(address[]) +func (_Committer *CommitterCallerSession) AllSubmitBitcoinTxVotes(chainID uint64, proposalID uint64) ([]common.Address, error) { + return _Committer.Contract.AllSubmitBitcoinTxVotes(&_Committer.CallOpts, chainID, proposalID) } -// CommitPhaseVotes is a free data retrieval call binding the contract method 0xf5033e0d. +// AllSubmitProofVotes is a free data retrieval call binding the contract method 0xea7d929a. // -// Solidity: function commitPhaseVotes(uint64 , uint256 ) view returns(address) -func (_Committer *CommitterCaller) CommitPhaseVotes(opts *bind.CallOpts, arg0 uint64, arg1 *big.Int) (common.Address, error) { +// Solidity: function allSubmitProofVotes(uint64 chainID, uint64 proposalID) view returns(address[]) +func (_Committer *CommitterCaller) AllSubmitProofVotes(opts *bind.CallOpts, chainID uint64, proposalID uint64) ([]common.Address, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "commitPhaseVotes", arg0, arg1) + err := _Committer.contract.Call(opts, &out, "allSubmitProofVotes", chainID, proposalID) if err != nil { - return *new(common.Address), err + return *new([]common.Address), err } - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) return out0, err } -// CommitPhaseVotes is a free data retrieval call binding the contract method 0xf5033e0d. +// AllSubmitProofVotes is a free data retrieval call binding the contract method 0xea7d929a. // -// Solidity: function commitPhaseVotes(uint64 , uint256 ) view returns(address) -func (_Committer *CommitterSession) CommitPhaseVotes(arg0 uint64, arg1 *big.Int) (common.Address, error) { - return _Committer.Contract.CommitPhaseVotes(&_Committer.CallOpts, arg0, arg1) +// Solidity: function allSubmitProofVotes(uint64 chainID, uint64 proposalID) view returns(address[]) +func (_Committer *CommitterSession) AllSubmitProofVotes(chainID uint64, proposalID uint64) ([]common.Address, error) { + return _Committer.Contract.AllSubmitProofVotes(&_Committer.CallOpts, chainID, proposalID) } -// CommitPhaseVotes is a free data retrieval call binding the contract method 0xf5033e0d. +// AllSubmitProofVotes is a free data retrieval call binding the contract method 0xea7d929a. // -// Solidity: function commitPhaseVotes(uint64 , uint256 ) view returns(address) -func (_Committer *CommitterCallerSession) CommitPhaseVotes(arg0 uint64, arg1 *big.Int) (common.Address, error) { - return _Committer.Contract.CommitPhaseVotes(&_Committer.CallOpts, arg0, arg1) +// Solidity: function allSubmitProofVotes(uint64 chainID, uint64 proposalID) view returns(address[]) +func (_Committer *CommitterCallerSession) AllSubmitProofVotes(chainID uint64, proposalID uint64) ([]common.Address, error) { + return _Committer.Contract.AllSubmitProofVotes(&_Committer.CallOpts, chainID, proposalID) } -// GetLastProposal is a free data retrieval call binding the contract method 0xf0ab3dd9. +// Chains is a free data retrieval call binding the contract method 0xada8bcdc. // -// Solidity: function getLastProposal() view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string)) -func (_Committer *CommitterCaller) GetLastProposal(opts *bind.CallOpts) (CommitterProposal, error) { +// Solidity: function chains(uint64 ) view returns(bool) +func (_Committer *CommitterCaller) Chains(opts *bind.CallOpts, arg0 uint64) (bool, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "getLastProposal") + err := _Committer.contract.Call(opts, &out, "chains", arg0) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// Chains is a free data retrieval call binding the contract method 0xada8bcdc. +// +// Solidity: function chains(uint64 ) view returns(bool) +func (_Committer *CommitterSession) Chains(arg0 uint64) (bool, error) { + return _Committer.Contract.Chains(&_Committer.CallOpts, arg0) +} + +// Chains is a free data retrieval call binding the contract method 0xada8bcdc. +// +// Solidity: function chains(uint64 ) view returns(bool) +func (_Committer *CommitterCallerSession) Chains(arg0 uint64) (bool, error) { + return _Committer.Contract.Chains(&_Committer.CallOpts, arg0) +} + +// ChainsList is a free data retrieval call binding the contract method 0x2bc3db0a. +// +// Solidity: function chainsList(uint256 ) view returns(uint64) +func (_Committer *CommitterCaller) ChainsList(opts *bind.CallOpts, arg0 *big.Int) (uint64, error) { + var out []interface{} + err := _Committer.contract.Call(opts, &out, "chainsList", arg0) + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// ChainsList is a free data retrieval call binding the contract method 0x2bc3db0a. +// +// Solidity: function chainsList(uint256 ) view returns(uint64) +func (_Committer *CommitterSession) ChainsList(arg0 *big.Int) (uint64, error) { + return _Committer.Contract.ChainsList(&_Committer.CallOpts, arg0) +} + +// ChainsList is a free data retrieval call binding the contract method 0x2bc3db0a. +// +// Solidity: function chainsList(uint256 ) view returns(uint64) +func (_Committer *CommitterCallerSession) ChainsList(arg0 *big.Int) (uint64, error) { + return _Committer.Contract.ChainsList(&_Committer.CallOpts, arg0) +} + +// CompareStrings is a free data retrieval call binding the contract method 0xbed34bba. +// +// Solidity: function compareStrings(string a, string b) pure returns(bool) +func (_Committer *CommitterCaller) CompareStrings(opts *bind.CallOpts, a string, b string) (bool, error) { + var out []interface{} + err := _Committer.contract.Call(opts, &out, "compareStrings", a, b) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// CompareStrings is a free data retrieval call binding the contract method 0xbed34bba. +// +// Solidity: function compareStrings(string a, string b) pure returns(bool) +func (_Committer *CommitterSession) CompareStrings(a string, b string) (bool, error) { + return _Committer.Contract.CompareStrings(&_Committer.CallOpts, a, b) +} + +// CompareStrings is a free data retrieval call binding the contract method 0xbed34bba. +// +// Solidity: function compareStrings(string a, string b) pure returns(bool) +func (_Committer *CommitterCallerSession) CompareStrings(a string, b string) (bool, error) { + return _Committer.Contract.CompareStrings(&_Committer.CallOpts, a, b) +} + +// GetLastProposal is a free data retrieval call binding the contract method 0xa2c732fd. +// +// Solidity: function getLastProposal(uint64 chainID) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string,string)) +func (_Committer *CommitterCaller) GetLastProposal(opts *bind.CallOpts, chainID uint64) (CommitterProposal, error) { + var out []interface{} + err := _Committer.contract.Call(opts, &out, "getLastProposal", chainID) if err != nil { return *new(CommitterProposal), err @@ -396,18 +490,18 @@ func (_Committer *CommitterCaller) GetLastProposal(opts *bind.CallOpts) (Committ } -// GetLastProposal is a free data retrieval call binding the contract method 0xf0ab3dd9. +// GetLastProposal is a free data retrieval call binding the contract method 0xa2c732fd. // -// Solidity: function getLastProposal() view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string)) -func (_Committer *CommitterSession) GetLastProposal() (CommitterProposal, error) { - return _Committer.Contract.GetLastProposal(&_Committer.CallOpts) +// Solidity: function getLastProposal(uint64 chainID) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string,string)) +func (_Committer *CommitterSession) GetLastProposal(chainID uint64) (CommitterProposal, error) { + return _Committer.Contract.GetLastProposal(&_Committer.CallOpts, chainID) } -// GetLastProposal is a free data retrieval call binding the contract method 0xf0ab3dd9. +// GetLastProposal is a free data retrieval call binding the contract method 0xa2c732fd. // -// Solidity: function getLastProposal() view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string)) -func (_Committer *CommitterCallerSession) GetLastProposal() (CommitterProposal, error) { - return _Committer.Contract.GetLastProposal(&_Committer.CallOpts) +// Solidity: function getLastProposal(uint64 chainID) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string,string)) +func (_Committer *CommitterCallerSession) GetLastProposal(chainID uint64) (CommitterProposal, error) { + return _Committer.Contract.GetLastProposal(&_Committer.CallOpts, chainID) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. @@ -472,12 +566,12 @@ func (_Committer *CommitterCallerSession) HasRole(role [32]byte, account common. return _Committer.Contract.HasRole(&_Committer.CallOpts, role, account) } -// IsProposalTimeout is a free data retrieval call binding the contract method 0x6e06958d. +// IsProposalTimeout is a free data retrieval call binding the contract method 0x1b77a930. // -// Solidity: function isProposalTimeout(uint64 id) view returns(bool) -func (_Committer *CommitterCaller) IsProposalTimeout(opts *bind.CallOpts, id uint64) (bool, error) { +// Solidity: function isProposalTimeout(uint64 chainID, uint64 proposalID) view returns(bool) +func (_Committer *CommitterCaller) IsProposalTimeout(opts *bind.CallOpts, chainID uint64, proposalID uint64) (bool, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "isProposalTimeout", id) + err := _Committer.contract.Call(opts, &out, "isProposalTimeout", chainID, proposalID) if err != nil { return *new(bool), err @@ -489,18 +583,18 @@ func (_Committer *CommitterCaller) IsProposalTimeout(opts *bind.CallOpts, id uin } -// IsProposalTimeout is a free data retrieval call binding the contract method 0x6e06958d. +// IsProposalTimeout is a free data retrieval call binding the contract method 0x1b77a930. // -// Solidity: function isProposalTimeout(uint64 id) view returns(bool) -func (_Committer *CommitterSession) IsProposalTimeout(id uint64) (bool, error) { - return _Committer.Contract.IsProposalTimeout(&_Committer.CallOpts, id) +// Solidity: function isProposalTimeout(uint64 chainID, uint64 proposalID) view returns(bool) +func (_Committer *CommitterSession) IsProposalTimeout(chainID uint64, proposalID uint64) (bool, error) { + return _Committer.Contract.IsProposalTimeout(&_Committer.CallOpts, chainID, proposalID) } -// IsProposalTimeout is a free data retrieval call binding the contract method 0x6e06958d. +// IsProposalTimeout is a free data retrieval call binding the contract method 0x1b77a930. // -// Solidity: function isProposalTimeout(uint64 id) view returns(bool) -func (_Committer *CommitterCallerSession) IsProposalTimeout(id uint64) (bool, error) { - return _Committer.Contract.IsProposalTimeout(&_Committer.CallOpts, id) +// Solidity: function isProposalTimeout(uint64 chainID, uint64 proposalID) view returns(bool) +func (_Committer *CommitterCallerSession) IsProposalTimeout(chainID uint64, proposalID uint64) (bool, error) { + return _Committer.Contract.IsProposalTimeout(&_Committer.CallOpts, chainID, proposalID) } // IsProposer is a free data retrieval call binding the contract method 0x74ec29a0. @@ -534,12 +628,43 @@ func (_Committer *CommitterCallerSession) IsProposer(sender common.Address) (boo return _Committer.Contract.IsProposer(&_Committer.CallOpts, sender) } -// IsVotedOnCommitPhase is a free data retrieval call binding the contract method 0x9cd80503. +// IsSupportedChain is a free data retrieval call binding the contract method 0x8926f54f. +// +// Solidity: function isSupportedChain(uint64 chainID) view returns(bool) +func (_Committer *CommitterCaller) IsSupportedChain(opts *bind.CallOpts, chainID uint64) (bool, error) { + var out []interface{} + err := _Committer.contract.Call(opts, &out, "isSupportedChain", chainID) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// IsSupportedChain is a free data retrieval call binding the contract method 0x8926f54f. +// +// Solidity: function isSupportedChain(uint64 chainID) view returns(bool) +func (_Committer *CommitterSession) IsSupportedChain(chainID uint64) (bool, error) { + return _Committer.Contract.IsSupportedChain(&_Committer.CallOpts, chainID) +} + +// IsSupportedChain is a free data retrieval call binding the contract method 0x8926f54f. +// +// Solidity: function isSupportedChain(uint64 chainID) view returns(bool) +func (_Committer *CommitterCallerSession) IsSupportedChain(chainID uint64) (bool, error) { + return _Committer.Contract.IsSupportedChain(&_Committer.CallOpts, chainID) +} + +// IsVotedOnBitcoinTxPhase is a free data retrieval call binding the contract method 0x87c8eabd. // -// Solidity: function isVotedOnCommitPhase(uint64 id, address voter) view returns(bool) -func (_Committer *CommitterCaller) IsVotedOnCommitPhase(opts *bind.CallOpts, id uint64, voter common.Address) (bool, error) { +// Solidity: function isVotedOnBitcoinTxPhase(uint64 chainID, uint64 proposalID, address voter) view returns(bool) +func (_Committer *CommitterCaller) IsVotedOnBitcoinTxPhase(opts *bind.CallOpts, chainID uint64, proposalID uint64, voter common.Address) (bool, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "isVotedOnCommitPhase", id, voter) + err := _Committer.contract.Call(opts, &out, "isVotedOnBitcoinTxPhase", chainID, proposalID, voter) if err != nil { return *new(bool), err @@ -551,26 +676,26 @@ func (_Committer *CommitterCaller) IsVotedOnCommitPhase(opts *bind.CallOpts, id } -// IsVotedOnCommitPhase is a free data retrieval call binding the contract method 0x9cd80503. +// IsVotedOnBitcoinTxPhase is a free data retrieval call binding the contract method 0x87c8eabd. // -// Solidity: function isVotedOnCommitPhase(uint64 id, address voter) view returns(bool) -func (_Committer *CommitterSession) IsVotedOnCommitPhase(id uint64, voter common.Address) (bool, error) { - return _Committer.Contract.IsVotedOnCommitPhase(&_Committer.CallOpts, id, voter) +// Solidity: function isVotedOnBitcoinTxPhase(uint64 chainID, uint64 proposalID, address voter) view returns(bool) +func (_Committer *CommitterSession) IsVotedOnBitcoinTxPhase(chainID uint64, proposalID uint64, voter common.Address) (bool, error) { + return _Committer.Contract.IsVotedOnBitcoinTxPhase(&_Committer.CallOpts, chainID, proposalID, voter) } -// IsVotedOnCommitPhase is a free data retrieval call binding the contract method 0x9cd80503. +// IsVotedOnBitcoinTxPhase is a free data retrieval call binding the contract method 0x87c8eabd. // -// Solidity: function isVotedOnCommitPhase(uint64 id, address voter) view returns(bool) -func (_Committer *CommitterCallerSession) IsVotedOnCommitPhase(id uint64, voter common.Address) (bool, error) { - return _Committer.Contract.IsVotedOnCommitPhase(&_Committer.CallOpts, id, voter) +// Solidity: function isVotedOnBitcoinTxPhase(uint64 chainID, uint64 proposalID, address voter) view returns(bool) +func (_Committer *CommitterCallerSession) IsVotedOnBitcoinTxPhase(chainID uint64, proposalID uint64, voter common.Address) (bool, error) { + return _Committer.Contract.IsVotedOnBitcoinTxPhase(&_Committer.CallOpts, chainID, proposalID, voter) } -// IsVotedOnTimeoutPhase is a free data retrieval call binding the contract method 0xee253cf5. +// IsVotedOnSubmitProofPhase is a free data retrieval call binding the contract method 0x975a4ce7. // -// Solidity: function isVotedOnTimeoutPhase(uint64 id, address voter) view returns(bool) -func (_Committer *CommitterCaller) IsVotedOnTimeoutPhase(opts *bind.CallOpts, id uint64, voter common.Address) (bool, error) { +// Solidity: function isVotedOnSubmitProofPhase(uint64 chainID, uint64 proposalID, address voter) view returns(bool) +func (_Committer *CommitterCaller) IsVotedOnSubmitProofPhase(opts *bind.CallOpts, chainID uint64, proposalID uint64, voter common.Address) (bool, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "isVotedOnTimeoutPhase", id, voter) + err := _Committer.contract.Call(opts, &out, "isVotedOnSubmitProofPhase", chainID, proposalID, voter) if err != nil { return *new(bool), err @@ -582,24 +707,24 @@ func (_Committer *CommitterCaller) IsVotedOnTimeoutPhase(opts *bind.CallOpts, id } -// IsVotedOnTimeoutPhase is a free data retrieval call binding the contract method 0xee253cf5. +// IsVotedOnSubmitProofPhase is a free data retrieval call binding the contract method 0x975a4ce7. // -// Solidity: function isVotedOnTimeoutPhase(uint64 id, address voter) view returns(bool) -func (_Committer *CommitterSession) IsVotedOnTimeoutPhase(id uint64, voter common.Address) (bool, error) { - return _Committer.Contract.IsVotedOnTimeoutPhase(&_Committer.CallOpts, id, voter) +// Solidity: function isVotedOnSubmitProofPhase(uint64 chainID, uint64 proposalID, address voter) view returns(bool) +func (_Committer *CommitterSession) IsVotedOnSubmitProofPhase(chainID uint64, proposalID uint64, voter common.Address) (bool, error) { + return _Committer.Contract.IsVotedOnSubmitProofPhase(&_Committer.CallOpts, chainID, proposalID, voter) } -// IsVotedOnTimeoutPhase is a free data retrieval call binding the contract method 0xee253cf5. +// IsVotedOnSubmitProofPhase is a free data retrieval call binding the contract method 0x975a4ce7. // -// Solidity: function isVotedOnTimeoutPhase(uint64 id, address voter) view returns(bool) -func (_Committer *CommitterCallerSession) IsVotedOnTimeoutPhase(id uint64, voter common.Address) (bool, error) { - return _Committer.Contract.IsVotedOnTimeoutPhase(&_Committer.CallOpts, id, voter) +// Solidity: function isVotedOnSubmitProofPhase(uint64 chainID, uint64 proposalID, address voter) view returns(bool) +func (_Committer *CommitterCallerSession) IsVotedOnSubmitProofPhase(chainID uint64, proposalID uint64, voter common.Address) (bool, error) { + return _Committer.Contract.IsVotedOnSubmitProofPhase(&_Committer.CallOpts, chainID, proposalID, voter) } -// LastProposal is a free data retrieval call binding the contract method 0xd6740cdb. +// LastProposal is a free data retrieval call binding the contract method 0x36a31476. // -// Solidity: function lastProposal() view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string txHash) -func (_Committer *CommitterCaller) LastProposal(opts *bind.CallOpts) (struct { +// Solidity: function lastProposal(uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string btcTxHash, string arweaveTxHash) +func (_Committer *CommitterCaller) LastProposal(opts *bind.CallOpts, arg0 uint64) (struct { Id uint64 StartIndex uint64 EndIndex uint64 @@ -608,10 +733,11 @@ func (_Committer *CommitterCaller) LastProposal(opts *bind.CallOpts) (struct { Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string }, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "lastProposal") + err := _Committer.contract.Call(opts, &out, "lastProposal", arg0) outstruct := new(struct { Id uint64 @@ -622,7 +748,8 @@ func (_Committer *CommitterCaller) LastProposal(opts *bind.CallOpts) (struct { Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string }) if err != nil { return *outstruct, err @@ -636,16 +763,17 @@ func (_Committer *CommitterCaller) LastProposal(opts *bind.CallOpts) (struct { outstruct.Winner = *abi.ConvertType(out[5], new(common.Address)).(*common.Address) outstruct.ProofHash = *abi.ConvertType(out[6], new(string)).(*string) outstruct.StateRootHash = *abi.ConvertType(out[7], new(string)).(*string) - outstruct.TxHash = *abi.ConvertType(out[8], new(string)).(*string) + outstruct.BtcTxHash = *abi.ConvertType(out[8], new(string)).(*string) + outstruct.ArweaveTxHash = *abi.ConvertType(out[9], new(string)).(*string) return *outstruct, err } -// LastProposal is a free data retrieval call binding the contract method 0xd6740cdb. +// LastProposal is a free data retrieval call binding the contract method 0x36a31476. // -// Solidity: function lastProposal() view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string txHash) -func (_Committer *CommitterSession) LastProposal() (struct { +// Solidity: function lastProposal(uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string btcTxHash, string arweaveTxHash) +func (_Committer *CommitterSession) LastProposal(arg0 uint64) (struct { Id uint64 StartIndex uint64 EndIndex uint64 @@ -654,15 +782,16 @@ func (_Committer *CommitterSession) LastProposal() (struct { Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string }, error) { - return _Committer.Contract.LastProposal(&_Committer.CallOpts) + return _Committer.Contract.LastProposal(&_Committer.CallOpts, arg0) } -// LastProposal is a free data retrieval call binding the contract method 0xd6740cdb. +// LastProposal is a free data retrieval call binding the contract method 0x36a31476. // -// Solidity: function lastProposal() view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string txHash) -func (_Committer *CommitterCallerSession) LastProposal() (struct { +// Solidity: function lastProposal(uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string btcTxHash, string arweaveTxHash) +func (_Committer *CommitterCallerSession) LastProposal(arg0 uint64) (struct { Id uint64 StartIndex uint64 EndIndex uint64 @@ -671,17 +800,18 @@ func (_Committer *CommitterCallerSession) LastProposal() (struct { Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string }, error) { - return _Committer.Contract.LastProposal(&_Committer.CallOpts) + return _Committer.Contract.LastProposal(&_Committer.CallOpts, arg0) } -// Proposal is a free data retrieval call binding the contract method 0x7afa0aa3. +// Proposal is a free data retrieval call binding the contract method 0x0f93fa52. // -// Solidity: function proposal(uint64 id) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string)) -func (_Committer *CommitterCaller) Proposal(opts *bind.CallOpts, id uint64) (CommitterProposal, error) { +// Solidity: function proposal(uint64 chainID, uint64 proposalID) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string,string)) +func (_Committer *CommitterCaller) Proposal(opts *bind.CallOpts, chainID uint64, proposalID uint64) (CommitterProposal, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "proposal", id) + err := _Committer.contract.Call(opts, &out, "proposal", chainID, proposalID) if err != nil { return *new(CommitterProposal), err @@ -693,24 +823,24 @@ func (_Committer *CommitterCaller) Proposal(opts *bind.CallOpts, id uint64) (Com } -// Proposal is a free data retrieval call binding the contract method 0x7afa0aa3. +// Proposal is a free data retrieval call binding the contract method 0x0f93fa52. // -// Solidity: function proposal(uint64 id) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string)) -func (_Committer *CommitterSession) Proposal(id uint64) (CommitterProposal, error) { - return _Committer.Contract.Proposal(&_Committer.CallOpts, id) +// Solidity: function proposal(uint64 chainID, uint64 proposalID) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string,string)) +func (_Committer *CommitterSession) Proposal(chainID uint64, proposalID uint64) (CommitterProposal, error) { + return _Committer.Contract.Proposal(&_Committer.CallOpts, chainID, proposalID) } -// Proposal is a free data retrieval call binding the contract method 0x7afa0aa3. +// Proposal is a free data retrieval call binding the contract method 0x0f93fa52. // -// Solidity: function proposal(uint64 id) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string)) -func (_Committer *CommitterCallerSession) Proposal(id uint64) (CommitterProposal, error) { - return _Committer.Contract.Proposal(&_Committer.CallOpts, id) +// Solidity: function proposal(uint64 chainID, uint64 proposalID) view returns((uint64,uint64,uint64,uint8,uint256,address,string,string,string,string)) +func (_Committer *CommitterCallerSession) Proposal(chainID uint64, proposalID uint64) (CommitterProposal, error) { + return _Committer.Contract.Proposal(&_Committer.CallOpts, chainID, proposalID) } -// Proposals is a free data retrieval call binding the contract method 0x31c5eec8. +// Proposals is a free data retrieval call binding the contract method 0x7176d85d. // -// Solidity: function proposals(uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string txHash) -func (_Committer *CommitterCaller) Proposals(opts *bind.CallOpts, arg0 uint64) (struct { +// Solidity: function proposals(uint64 , uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string btcTxHash, string arweaveTxHash) +func (_Committer *CommitterCaller) Proposals(opts *bind.CallOpts, arg0 uint64, arg1 uint64) (struct { Id uint64 StartIndex uint64 EndIndex uint64 @@ -719,10 +849,11 @@ func (_Committer *CommitterCaller) Proposals(opts *bind.CallOpts, arg0 uint64) ( Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string }, error) { var out []interface{} - err := _Committer.contract.Call(opts, &out, "proposals", arg0) + err := _Committer.contract.Call(opts, &out, "proposals", arg0, arg1) outstruct := new(struct { Id uint64 @@ -733,7 +864,8 @@ func (_Committer *CommitterCaller) Proposals(opts *bind.CallOpts, arg0 uint64) ( Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string }) if err != nil { return *outstruct, err @@ -747,16 +879,17 @@ func (_Committer *CommitterCaller) Proposals(opts *bind.CallOpts, arg0 uint64) ( outstruct.Winner = *abi.ConvertType(out[5], new(common.Address)).(*common.Address) outstruct.ProofHash = *abi.ConvertType(out[6], new(string)).(*string) outstruct.StateRootHash = *abi.ConvertType(out[7], new(string)).(*string) - outstruct.TxHash = *abi.ConvertType(out[8], new(string)).(*string) + outstruct.BtcTxHash = *abi.ConvertType(out[8], new(string)).(*string) + outstruct.ArweaveTxHash = *abi.ConvertType(out[9], new(string)).(*string) return *outstruct, err } -// Proposals is a free data retrieval call binding the contract method 0x31c5eec8. +// Proposals is a free data retrieval call binding the contract method 0x7176d85d. // -// Solidity: function proposals(uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string txHash) -func (_Committer *CommitterSession) Proposals(arg0 uint64) (struct { +// Solidity: function proposals(uint64 , uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string btcTxHash, string arweaveTxHash) +func (_Committer *CommitterSession) Proposals(arg0 uint64, arg1 uint64) (struct { Id uint64 StartIndex uint64 EndIndex uint64 @@ -765,15 +898,16 @@ func (_Committer *CommitterSession) Proposals(arg0 uint64) (struct { Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string }, error) { - return _Committer.Contract.Proposals(&_Committer.CallOpts, arg0) + return _Committer.Contract.Proposals(&_Committer.CallOpts, arg0, arg1) } -// Proposals is a free data retrieval call binding the contract method 0x31c5eec8. +// Proposals is a free data retrieval call binding the contract method 0x7176d85d. // -// Solidity: function proposals(uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string txHash) -func (_Committer *CommitterCallerSession) Proposals(arg0 uint64) (struct { +// Solidity: function proposals(uint64 , uint64 ) view returns(uint64 id, uint64 startIndex, uint64 endIndex, uint8 status, uint256 timeout, address winner, string proofHash, string stateRootHash, string btcTxHash, string arweaveTxHash) +func (_Committer *CommitterCallerSession) Proposals(arg0 uint64, arg1 uint64) (struct { Id uint64 StartIndex uint64 EndIndex uint64 @@ -782,9 +916,10 @@ func (_Committer *CommitterCallerSession) Proposals(arg0 uint64) (struct { Winner common.Address ProofHash string StateRootHash string - TxHash string + BtcTxHash string + ArweaveTxHash string }, error) { - return _Committer.Contract.Proposals(&_Committer.CallOpts, arg0) + return _Committer.Contract.Proposals(&_Committer.CallOpts, arg0, arg1) } // Proposers is a free data retrieval call binding the contract method 0x18177497. @@ -849,6 +984,68 @@ func (_Committer *CommitterCallerSession) ProposersList(arg0 *big.Int) (common.A return _Committer.Contract.ProposersList(&_Committer.CallOpts, arg0) } +// SubmitBitcoinTxPhaseVotes is a free data retrieval call binding the contract method 0x9bfa86d3. +// +// Solidity: function submitBitcoinTxPhaseVotes(uint64 , uint64 , uint256 ) view returns(address) +func (_Committer *CommitterCaller) SubmitBitcoinTxPhaseVotes(opts *bind.CallOpts, arg0 uint64, arg1 uint64, arg2 *big.Int) (common.Address, error) { + var out []interface{} + err := _Committer.contract.Call(opts, &out, "submitBitcoinTxPhaseVotes", arg0, arg1, arg2) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// SubmitBitcoinTxPhaseVotes is a free data retrieval call binding the contract method 0x9bfa86d3. +// +// Solidity: function submitBitcoinTxPhaseVotes(uint64 , uint64 , uint256 ) view returns(address) +func (_Committer *CommitterSession) SubmitBitcoinTxPhaseVotes(arg0 uint64, arg1 uint64, arg2 *big.Int) (common.Address, error) { + return _Committer.Contract.SubmitBitcoinTxPhaseVotes(&_Committer.CallOpts, arg0, arg1, arg2) +} + +// SubmitBitcoinTxPhaseVotes is a free data retrieval call binding the contract method 0x9bfa86d3. +// +// Solidity: function submitBitcoinTxPhaseVotes(uint64 , uint64 , uint256 ) view returns(address) +func (_Committer *CommitterCallerSession) SubmitBitcoinTxPhaseVotes(arg0 uint64, arg1 uint64, arg2 *big.Int) (common.Address, error) { + return _Committer.Contract.SubmitBitcoinTxPhaseVotes(&_Committer.CallOpts, arg0, arg1, arg2) +} + +// SubmitProofPhaseVotes is a free data retrieval call binding the contract method 0x24ff16b3. +// +// Solidity: function submitProofPhaseVotes(uint64 , uint64 , uint256 ) view returns(address) +func (_Committer *CommitterCaller) SubmitProofPhaseVotes(opts *bind.CallOpts, arg0 uint64, arg1 uint64, arg2 *big.Int) (common.Address, error) { + var out []interface{} + err := _Committer.contract.Call(opts, &out, "submitProofPhaseVotes", arg0, arg1, arg2) + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// SubmitProofPhaseVotes is a free data retrieval call binding the contract method 0x24ff16b3. +// +// Solidity: function submitProofPhaseVotes(uint64 , uint64 , uint256 ) view returns(address) +func (_Committer *CommitterSession) SubmitProofPhaseVotes(arg0 uint64, arg1 uint64, arg2 *big.Int) (common.Address, error) { + return _Committer.Contract.SubmitProofPhaseVotes(&_Committer.CallOpts, arg0, arg1, arg2) +} + +// SubmitProofPhaseVotes is a free data retrieval call binding the contract method 0x24ff16b3. +// +// Solidity: function submitProofPhaseVotes(uint64 , uint64 , uint256 ) view returns(address) +func (_Committer *CommitterCallerSession) SubmitProofPhaseVotes(arg0 uint64, arg1 uint64, arg2 *big.Int) (common.Address, error) { + return _Committer.Contract.SubmitProofPhaseVotes(&_Committer.CallOpts, arg0, arg1, arg2) +} + // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) @@ -911,35 +1108,25 @@ func (_Committer *CommitterCallerSession) TimeoutPeriod() (*big.Int, error) { return _Committer.Contract.TimeoutPeriod(&_Committer.CallOpts) } -// TimeoutPhaseVotes is a free data retrieval call binding the contract method 0xae223c04. +// AddChain is a paid mutator transaction binding the contract method 0xe2947e54. // -// Solidity: function timeoutPhaseVotes(uint64 , uint256 ) view returns(address) -func (_Committer *CommitterCaller) TimeoutPhaseVotes(opts *bind.CallOpts, arg0 uint64, arg1 *big.Int) (common.Address, error) { - var out []interface{} - err := _Committer.contract.Call(opts, &out, "timeoutPhaseVotes", arg0, arg1) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - +// Solidity: function addChain(uint64 chainID) returns() +func (_Committer *CommitterTransactor) AddChain(opts *bind.TransactOpts, chainID uint64) (*types.Transaction, error) { + return _Committer.contract.Transact(opts, "addChain", chainID) } -// TimeoutPhaseVotes is a free data retrieval call binding the contract method 0xae223c04. +// AddChain is a paid mutator transaction binding the contract method 0xe2947e54. // -// Solidity: function timeoutPhaseVotes(uint64 , uint256 ) view returns(address) -func (_Committer *CommitterSession) TimeoutPhaseVotes(arg0 uint64, arg1 *big.Int) (common.Address, error) { - return _Committer.Contract.TimeoutPhaseVotes(&_Committer.CallOpts, arg0, arg1) +// Solidity: function addChain(uint64 chainID) returns() +func (_Committer *CommitterSession) AddChain(chainID uint64) (*types.Transaction, error) { + return _Committer.Contract.AddChain(&_Committer.TransactOpts, chainID) } -// TimeoutPhaseVotes is a free data retrieval call binding the contract method 0xae223c04. +// AddChain is a paid mutator transaction binding the contract method 0xe2947e54. // -// Solidity: function timeoutPhaseVotes(uint64 , uint256 ) view returns(address) -func (_Committer *CommitterCallerSession) TimeoutPhaseVotes(arg0 uint64, arg1 *big.Int) (common.Address, error) { - return _Committer.Contract.TimeoutPhaseVotes(&_Committer.CallOpts, arg0, arg1) +// Solidity: function addChain(uint64 chainID) returns() +func (_Committer *CommitterTransactorSession) AddChain(chainID uint64) (*types.Transaction, error) { + return _Committer.Contract.AddChain(&_Committer.TransactOpts, chainID) } // AddProposer is a paid mutator transaction binding the contract method 0xb03cd418. @@ -963,25 +1150,46 @@ func (_Committer *CommitterTransactorSession) AddProposer(proposer common.Addres return _Committer.Contract.AddProposer(&_Committer.TransactOpts, proposer) } -// BitcoinTx is a paid mutator transaction binding the contract method 0x4b6ea54e. +// ArweaveTx is a paid mutator transaction binding the contract method 0xe0a9daf6. // -// Solidity: function bitcoinTx(uint64 id, string txHash) returns() -func (_Committer *CommitterTransactor) BitcoinTx(opts *bind.TransactOpts, id uint64, txHash string) (*types.Transaction, error) { - return _Committer.contract.Transact(opts, "bitcoinTx", id, txHash) +// Solidity: function arweaveTx(uint64 chainID, uint64 proposalID, string txHash) returns() +func (_Committer *CommitterTransactor) ArweaveTx(opts *bind.TransactOpts, chainID uint64, proposalID uint64, txHash string) (*types.Transaction, error) { + return _Committer.contract.Transact(opts, "arweaveTx", chainID, proposalID, txHash) } -// BitcoinTx is a paid mutator transaction binding the contract method 0x4b6ea54e. +// ArweaveTx is a paid mutator transaction binding the contract method 0xe0a9daf6. // -// Solidity: function bitcoinTx(uint64 id, string txHash) returns() -func (_Committer *CommitterSession) BitcoinTx(id uint64, txHash string) (*types.Transaction, error) { - return _Committer.Contract.BitcoinTx(&_Committer.TransactOpts, id, txHash) +// Solidity: function arweaveTx(uint64 chainID, uint64 proposalID, string txHash) returns() +func (_Committer *CommitterSession) ArweaveTx(chainID uint64, proposalID uint64, txHash string) (*types.Transaction, error) { + return _Committer.Contract.ArweaveTx(&_Committer.TransactOpts, chainID, proposalID, txHash) } -// BitcoinTx is a paid mutator transaction binding the contract method 0x4b6ea54e. +// ArweaveTx is a paid mutator transaction binding the contract method 0xe0a9daf6. // -// Solidity: function bitcoinTx(uint64 id, string txHash) returns() -func (_Committer *CommitterTransactorSession) BitcoinTx(id uint64, txHash string) (*types.Transaction, error) { - return _Committer.Contract.BitcoinTx(&_Committer.TransactOpts, id, txHash) +// Solidity: function arweaveTx(uint64 chainID, uint64 proposalID, string txHash) returns() +func (_Committer *CommitterTransactorSession) ArweaveTx(chainID uint64, proposalID uint64, txHash string) (*types.Transaction, error) { + return _Committer.Contract.ArweaveTx(&_Committer.TransactOpts, chainID, proposalID, txHash) +} + +// BitcoinTx is a paid mutator transaction binding the contract method 0x54cab80e. +// +// Solidity: function bitcoinTx(uint64 chainID, uint64 proposalID, string txHash) returns() +func (_Committer *CommitterTransactor) BitcoinTx(opts *bind.TransactOpts, chainID uint64, proposalID uint64, txHash string) (*types.Transaction, error) { + return _Committer.contract.Transact(opts, "bitcoinTx", chainID, proposalID, txHash) +} + +// BitcoinTx is a paid mutator transaction binding the contract method 0x54cab80e. +// +// Solidity: function bitcoinTx(uint64 chainID, uint64 proposalID, string txHash) returns() +func (_Committer *CommitterSession) BitcoinTx(chainID uint64, proposalID uint64, txHash string) (*types.Transaction, error) { + return _Committer.Contract.BitcoinTx(&_Committer.TransactOpts, chainID, proposalID, txHash) +} + +// BitcoinTx is a paid mutator transaction binding the contract method 0x54cab80e. +// +// Solidity: function bitcoinTx(uint64 chainID, uint64 proposalID, string txHash) returns() +func (_Committer *CommitterTransactorSession) BitcoinTx(chainID uint64, proposalID uint64, txHash string) (*types.Transaction, error) { + return _Committer.Contract.BitcoinTx(&_Committer.TransactOpts, chainID, proposalID, txHash) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. @@ -1026,6 +1234,27 @@ func (_Committer *CommitterTransactorSession) Initialize() (*types.Transaction, return _Committer.Contract.Initialize(&_Committer.TransactOpts) } +// RemoveChain is a paid mutator transaction binding the contract method 0x39aa1335. +// +// Solidity: function removeChain(uint64 chainID) returns() +func (_Committer *CommitterTransactor) RemoveChain(opts *bind.TransactOpts, chainID uint64) (*types.Transaction, error) { + return _Committer.contract.Transact(opts, "removeChain", chainID) +} + +// RemoveChain is a paid mutator transaction binding the contract method 0x39aa1335. +// +// Solidity: function removeChain(uint64 chainID) returns() +func (_Committer *CommitterSession) RemoveChain(chainID uint64) (*types.Transaction, error) { + return _Committer.Contract.RemoveChain(&_Committer.TransactOpts, chainID) +} + +// RemoveChain is a paid mutator transaction binding the contract method 0x39aa1335. +// +// Solidity: function removeChain(uint64 chainID) returns() +func (_Committer *CommitterTransactorSession) RemoveChain(chainID uint64) (*types.Transaction, error) { + return _Committer.Contract.RemoveChain(&_Committer.TransactOpts, chainID) +} + // RemoveProposer is a paid mutator transaction binding the contract method 0x09d632d3. // // Solidity: function removeProposer(address proposer) returns() @@ -1110,46 +1339,46 @@ func (_Committer *CommitterTransactorSession) SetTimeoutPeriod(period *big.Int) return _Committer.Contract.SetTimeoutPeriod(&_Committer.TransactOpts, period) } -// SubmitProof is a paid mutator transaction binding the contract method 0xbe091822. +// SubmitProof is a paid mutator transaction binding the contract method 0x1f981c36. // -// Solidity: function submitProof(uint64 id, string proofHash, string stateRootHash, uint64 startIndex, uint64 endIndex) returns() -func (_Committer *CommitterTransactor) SubmitProof(opts *bind.TransactOpts, id uint64, proofHash string, stateRootHash string, startIndex uint64, endIndex uint64) (*types.Transaction, error) { - return _Committer.contract.Transact(opts, "submitProof", id, proofHash, stateRootHash, startIndex, endIndex) +// Solidity: function submitProof(uint64 chainID, uint64 proposalID, string proofHash, string stateRootHash, uint64 startIndex, uint64 endIndex) returns() +func (_Committer *CommitterTransactor) SubmitProof(opts *bind.TransactOpts, chainID uint64, proposalID uint64, proofHash string, stateRootHash string, startIndex uint64, endIndex uint64) (*types.Transaction, error) { + return _Committer.contract.Transact(opts, "submitProof", chainID, proposalID, proofHash, stateRootHash, startIndex, endIndex) } -// SubmitProof is a paid mutator transaction binding the contract method 0xbe091822. +// SubmitProof is a paid mutator transaction binding the contract method 0x1f981c36. // -// Solidity: function submitProof(uint64 id, string proofHash, string stateRootHash, uint64 startIndex, uint64 endIndex) returns() -func (_Committer *CommitterSession) SubmitProof(id uint64, proofHash string, stateRootHash string, startIndex uint64, endIndex uint64) (*types.Transaction, error) { - return _Committer.Contract.SubmitProof(&_Committer.TransactOpts, id, proofHash, stateRootHash, startIndex, endIndex) +// Solidity: function submitProof(uint64 chainID, uint64 proposalID, string proofHash, string stateRootHash, uint64 startIndex, uint64 endIndex) returns() +func (_Committer *CommitterSession) SubmitProof(chainID uint64, proposalID uint64, proofHash string, stateRootHash string, startIndex uint64, endIndex uint64) (*types.Transaction, error) { + return _Committer.Contract.SubmitProof(&_Committer.TransactOpts, chainID, proposalID, proofHash, stateRootHash, startIndex, endIndex) } -// SubmitProof is a paid mutator transaction binding the contract method 0xbe091822. +// SubmitProof is a paid mutator transaction binding the contract method 0x1f981c36. // -// Solidity: function submitProof(uint64 id, string proofHash, string stateRootHash, uint64 startIndex, uint64 endIndex) returns() -func (_Committer *CommitterTransactorSession) SubmitProof(id uint64, proofHash string, stateRootHash string, startIndex uint64, endIndex uint64) (*types.Transaction, error) { - return _Committer.Contract.SubmitProof(&_Committer.TransactOpts, id, proofHash, stateRootHash, startIndex, endIndex) +// Solidity: function submitProof(uint64 chainID, uint64 proposalID, string proofHash, string stateRootHash, uint64 startIndex, uint64 endIndex) returns() +func (_Committer *CommitterTransactorSession) SubmitProof(chainID uint64, proposalID uint64, proofHash string, stateRootHash string, startIndex uint64, endIndex uint64) (*types.Transaction, error) { + return _Committer.Contract.SubmitProof(&_Committer.TransactOpts, chainID, proposalID, proofHash, stateRootHash, startIndex, endIndex) } -// TimeoutProposal is a paid mutator transaction binding the contract method 0x84237c46. +// TimeoutProposal is a paid mutator transaction binding the contract method 0x04956a75. // -// Solidity: function timeoutProposal(uint64 id) returns() -func (_Committer *CommitterTransactor) TimeoutProposal(opts *bind.TransactOpts, id uint64) (*types.Transaction, error) { - return _Committer.contract.Transact(opts, "timeoutProposal", id) +// Solidity: function timeoutProposal(uint64 chainID, uint64 proposalID) returns() +func (_Committer *CommitterTransactor) TimeoutProposal(opts *bind.TransactOpts, chainID uint64, proposalID uint64) (*types.Transaction, error) { + return _Committer.contract.Transact(opts, "timeoutProposal", chainID, proposalID) } -// TimeoutProposal is a paid mutator transaction binding the contract method 0x84237c46. +// TimeoutProposal is a paid mutator transaction binding the contract method 0x04956a75. // -// Solidity: function timeoutProposal(uint64 id) returns() -func (_Committer *CommitterSession) TimeoutProposal(id uint64) (*types.Transaction, error) { - return _Committer.Contract.TimeoutProposal(&_Committer.TransactOpts, id) +// Solidity: function timeoutProposal(uint64 chainID, uint64 proposalID) returns() +func (_Committer *CommitterSession) TimeoutProposal(chainID uint64, proposalID uint64) (*types.Transaction, error) { + return _Committer.Contract.TimeoutProposal(&_Committer.TransactOpts, chainID, proposalID) } -// TimeoutProposal is a paid mutator transaction binding the contract method 0x84237c46. +// TimeoutProposal is a paid mutator transaction binding the contract method 0x04956a75. // -// Solidity: function timeoutProposal(uint64 id) returns() -func (_Committer *CommitterTransactorSession) TimeoutProposal(id uint64) (*types.Transaction, error) { - return _Committer.Contract.TimeoutProposal(&_Committer.TransactOpts, id) +// Solidity: function timeoutProposal(uint64 chainID, uint64 proposalID) returns() +func (_Committer *CommitterTransactorSession) TimeoutProposal(chainID uint64, proposalID uint64) (*types.Transaction, error) { + return _Committer.Contract.TimeoutProposal(&_Committer.TransactOpts, chainID, proposalID) } // CommitterInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the Committer contract. @@ -1355,7 +1584,8 @@ func (it *CommitterProposalSubmittedIterator) Close() error { // CommitterProposalSubmitted represents a ProposalSubmitted event raised by the Committer contract. type CommitterProposalSubmitted struct { - Id *big.Int + ChainID uint64 + ProposalID uint64 Proposer common.Address ProofHash string StateRootHash string @@ -1364,14 +1594,14 @@ type CommitterProposalSubmitted struct { Raw types.Log // Blockchain specific contextual infos } -// FilterProposalSubmitted is a free log retrieval operation binding the contract event 0x410eb7d56800677f6951f80f562e7d42ad630918b0ff4645be6a4bc29930ef8e. +// FilterProposalSubmitted is a free log retrieval operation binding the contract event 0x08db083a8474187b3aaed9068af476148cc1c18a272491f43b8a93c5ab91606a. // -// Solidity: event ProposalSubmitted(uint256 indexed id, address indexed proposer, string proofHash, string stateRootHash, uint256 indexed startIndex, uint256 endIndex) -func (_Committer *CommitterFilterer) FilterProposalSubmitted(opts *bind.FilterOpts, id []*big.Int, proposer []common.Address, startIndex []*big.Int) (*CommitterProposalSubmittedIterator, error) { +// Solidity: event ProposalSubmitted(uint64 chainID, uint64 indexed proposalID, address indexed proposer, string proofHash, string stateRootHash, uint256 indexed startIndex, uint256 endIndex) +func (_Committer *CommitterFilterer) FilterProposalSubmitted(opts *bind.FilterOpts, proposalID []uint64, proposer []common.Address, startIndex []*big.Int) (*CommitterProposalSubmittedIterator, error) { - var idRule []interface{} - for _, idItem := range id { - idRule = append(idRule, idItem) + var proposalIDRule []interface{} + for _, proposalIDItem := range proposalID { + proposalIDRule = append(proposalIDRule, proposalIDItem) } var proposerRule []interface{} for _, proposerItem := range proposer { @@ -1383,21 +1613,21 @@ func (_Committer *CommitterFilterer) FilterProposalSubmitted(opts *bind.FilterOp startIndexRule = append(startIndexRule, startIndexItem) } - logs, sub, err := _Committer.contract.FilterLogs(opts, "ProposalSubmitted", idRule, proposerRule, startIndexRule) + logs, sub, err := _Committer.contract.FilterLogs(opts, "ProposalSubmitted", proposalIDRule, proposerRule, startIndexRule) if err != nil { return nil, err } return &CommitterProposalSubmittedIterator{contract: _Committer.contract, event: "ProposalSubmitted", logs: logs, sub: sub}, nil } -// WatchProposalSubmitted is a free log subscription operation binding the contract event 0x410eb7d56800677f6951f80f562e7d42ad630918b0ff4645be6a4bc29930ef8e. +// WatchProposalSubmitted is a free log subscription operation binding the contract event 0x08db083a8474187b3aaed9068af476148cc1c18a272491f43b8a93c5ab91606a. // -// Solidity: event ProposalSubmitted(uint256 indexed id, address indexed proposer, string proofHash, string stateRootHash, uint256 indexed startIndex, uint256 endIndex) -func (_Committer *CommitterFilterer) WatchProposalSubmitted(opts *bind.WatchOpts, sink chan<- *CommitterProposalSubmitted, id []*big.Int, proposer []common.Address, startIndex []*big.Int) (event.Subscription, error) { +// Solidity: event ProposalSubmitted(uint64 chainID, uint64 indexed proposalID, address indexed proposer, string proofHash, string stateRootHash, uint256 indexed startIndex, uint256 endIndex) +func (_Committer *CommitterFilterer) WatchProposalSubmitted(opts *bind.WatchOpts, sink chan<- *CommitterProposalSubmitted, proposalID []uint64, proposer []common.Address, startIndex []*big.Int) (event.Subscription, error) { - var idRule []interface{} - for _, idItem := range id { - idRule = append(idRule, idItem) + var proposalIDRule []interface{} + for _, proposalIDItem := range proposalID { + proposalIDRule = append(proposalIDRule, proposalIDItem) } var proposerRule []interface{} for _, proposerItem := range proposer { @@ -1409,7 +1639,7 @@ func (_Committer *CommitterFilterer) WatchProposalSubmitted(opts *bind.WatchOpts startIndexRule = append(startIndexRule, startIndexItem) } - logs, sub, err := _Committer.contract.WatchLogs(opts, "ProposalSubmitted", idRule, proposerRule, startIndexRule) + logs, sub, err := _Committer.contract.WatchLogs(opts, "ProposalSubmitted", proposalIDRule, proposerRule, startIndexRule) if err != nil { return nil, err } @@ -1441,9 +1671,9 @@ func (_Committer *CommitterFilterer) WatchProposalSubmitted(opts *bind.WatchOpts }), nil } -// ParseProposalSubmitted is a log parse operation binding the contract event 0x410eb7d56800677f6951f80f562e7d42ad630918b0ff4645be6a4bc29930ef8e. +// ParseProposalSubmitted is a log parse operation binding the contract event 0x08db083a8474187b3aaed9068af476148cc1c18a272491f43b8a93c5ab91606a. // -// Solidity: event ProposalSubmitted(uint256 indexed id, address indexed proposer, string proofHash, string stateRootHash, uint256 indexed startIndex, uint256 endIndex) +// Solidity: event ProposalSubmitted(uint64 chainID, uint64 indexed proposalID, address indexed proposer, string proofHash, string stateRootHash, uint256 indexed startIndex, uint256 endIndex) func (_Committer *CommitterFilterer) ParseProposalSubmitted(log types.Log) (*CommitterProposalSubmitted, error) { event := new(CommitterProposalSubmitted) if err := _Committer.contract.UnpackLog(event, "ProposalSubmitted", log); err != nil { @@ -1522,13 +1752,14 @@ func (it *CommitterProposalTimedOutIterator) Close() error { // CommitterProposalTimedOut represents a ProposalTimedOut event raised by the Committer contract. type CommitterProposalTimedOut struct { - Id *big.Int - Raw types.Log // Blockchain specific contextual infos + ChainID uint64 + ProposalID uint64 + Raw types.Log // Blockchain specific contextual infos } -// FilterProposalTimedOut is a free log retrieval operation binding the contract event 0x54b873b562a45d8ac963d9576955e8cffecb769f75cb8ac8db3fc7534b972537. +// FilterProposalTimedOut is a free log retrieval operation binding the contract event 0xe81e592c2f9a76eb49a3b40a0a0f6955323a7ec31c08805d2c04a4eea8b558fd. // -// Solidity: event ProposalTimedOut(uint256 id) +// Solidity: event ProposalTimedOut(uint64 chainID, uint64 proposalID) func (_Committer *CommitterFilterer) FilterProposalTimedOut(opts *bind.FilterOpts) (*CommitterProposalTimedOutIterator, error) { logs, sub, err := _Committer.contract.FilterLogs(opts, "ProposalTimedOut") @@ -1538,9 +1769,9 @@ func (_Committer *CommitterFilterer) FilterProposalTimedOut(opts *bind.FilterOpt return &CommitterProposalTimedOutIterator{contract: _Committer.contract, event: "ProposalTimedOut", logs: logs, sub: sub}, nil } -// WatchProposalTimedOut is a free log subscription operation binding the contract event 0x54b873b562a45d8ac963d9576955e8cffecb769f75cb8ac8db3fc7534b972537. +// WatchProposalTimedOut is a free log subscription operation binding the contract event 0xe81e592c2f9a76eb49a3b40a0a0f6955323a7ec31c08805d2c04a4eea8b558fd. // -// Solidity: event ProposalTimedOut(uint256 id) +// Solidity: event ProposalTimedOut(uint64 chainID, uint64 proposalID) func (_Committer *CommitterFilterer) WatchProposalTimedOut(opts *bind.WatchOpts, sink chan<- *CommitterProposalTimedOut) (event.Subscription, error) { logs, sub, err := _Committer.contract.WatchLogs(opts, "ProposalTimedOut") @@ -1575,9 +1806,9 @@ func (_Committer *CommitterFilterer) WatchProposalTimedOut(opts *bind.WatchOpts, }), nil } -// ParseProposalTimedOut is a log parse operation binding the contract event 0x54b873b562a45d8ac963d9576955e8cffecb769f75cb8ac8db3fc7534b972537. +// ParseProposalTimedOut is a log parse operation binding the contract event 0xe81e592c2f9a76eb49a3b40a0a0f6955323a7ec31c08805d2c04a4eea8b558fd. // -// Solidity: event ProposalTimedOut(uint256 id) +// Solidity: event ProposalTimedOut(uint64 chainID, uint64 proposalID) func (_Committer *CommitterFilterer) ParseProposalTimedOut(log types.Log) (*CommitterProposalTimedOut, error) { event := new(CommitterProposalTimedOut) if err := _Committer.contract.UnpackLog(event, "ProposalTimedOut", log); err != nil { @@ -2142,15 +2373,16 @@ func (it *CommitterVoteProposalIterator) Close() error { // CommitterVoteProposal represents a VoteProposal event raised by the Committer contract. type CommitterVoteProposal struct { - Id *big.Int - Voter common.Address - Phase uint8 - Raw types.Log // Blockchain specific contextual infos + ChainID uint64 + ProposalID uint64 + Voter common.Address + Phase uint8 + Raw types.Log // Blockchain specific contextual infos } -// FilterVoteProposal is a free log retrieval operation binding the contract event 0xb3af8d0ccb8c5065b2daf8bb24b7a0ac9a8822fac445978a1524fb9a6f560e1f. +// FilterVoteProposal is a free log retrieval operation binding the contract event 0xc488e7e4772e55cf4eb67cd1cc5a8a0169f7b08a7565742e419b88aac6744116. // -// Solidity: event VoteProposal(uint256 id, address voter, uint8 phase) +// Solidity: event VoteProposal(uint64 chainID, uint64 proposalID, address voter, uint8 phase) func (_Committer *CommitterFilterer) FilterVoteProposal(opts *bind.FilterOpts) (*CommitterVoteProposalIterator, error) { logs, sub, err := _Committer.contract.FilterLogs(opts, "VoteProposal") @@ -2160,9 +2392,9 @@ func (_Committer *CommitterFilterer) FilterVoteProposal(opts *bind.FilterOpts) ( return &CommitterVoteProposalIterator{contract: _Committer.contract, event: "VoteProposal", logs: logs, sub: sub}, nil } -// WatchVoteProposal is a free log subscription operation binding the contract event 0xb3af8d0ccb8c5065b2daf8bb24b7a0ac9a8822fac445978a1524fb9a6f560e1f. +// WatchVoteProposal is a free log subscription operation binding the contract event 0xc488e7e4772e55cf4eb67cd1cc5a8a0169f7b08a7565742e419b88aac6744116. // -// Solidity: event VoteProposal(uint256 id, address voter, uint8 phase) +// Solidity: event VoteProposal(uint64 chainID, uint64 proposalID, address voter, uint8 phase) func (_Committer *CommitterFilterer) WatchVoteProposal(opts *bind.WatchOpts, sink chan<- *CommitterVoteProposal) (event.Subscription, error) { logs, sub, err := _Committer.contract.WatchLogs(opts, "VoteProposal") @@ -2197,9 +2429,9 @@ func (_Committer *CommitterFilterer) WatchVoteProposal(opts *bind.WatchOpts, sin }), nil } -// ParseVoteProposal is a log parse operation binding the contract event 0xb3af8d0ccb8c5065b2daf8bb24b7a0ac9a8822fac445978a1524fb9a6f560e1f. +// ParseVoteProposal is a log parse operation binding the contract event 0xc488e7e4772e55cf4eb67cd1cc5a8a0169f7b08a7565742e419b88aac6744116. // -// Solidity: event VoteProposal(uint256 id, address voter, uint8 phase) +// Solidity: event VoteProposal(uint64 chainID, uint64 proposalID, address voter, uint8 phase) func (_Committer *CommitterFilterer) ParseVoteProposal(log types.Log) (*CommitterVoteProposal, error) { event := new(CommitterVoteProposal) if err := _Committer.contract.UnpackLog(event, "VoteProposal", log); err != nil { diff --git a/pkg/contract/sequence.go b/pkg/contract/sequence.go new file mode 100644 index 0000000..67b5fdb --- /dev/null +++ b/pkg/contract/sequence.go @@ -0,0 +1,3078 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package contract + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription + _ = abi.ConvertType +) + +// PolygonRollupBaseEtrogBatchData is an auto generated low-level Go binding around an user-defined struct. +type PolygonRollupBaseEtrogBatchData struct { + Transactions []byte + ForcedGlobalExitRoot [32]byte + ForcedTimestamp uint64 + ForcedBlockHashL1 [32]byte +} + +// SequenceMetaData contains all meta data concerning the Sequence contract. +var SequenceMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"contractIPolygonZkEVMGlobalExitRootV2\",\"name\":\"_globalExitRootManager\",\"type\":\"address\"},{\"internalType\":\"contractIERC20Upgradeable\",\"name\":\"_pol\",\"type\":\"address\"},{\"internalType\":\"contractIPolygonZkEVMBridgeV2\",\"name\":\"_bridgeAddress\",\"type\":\"address\"},{\"internalType\":\"contractPolygonRollupManager\",\"name\":\"_rollupManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BatchAlreadyVerified\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BatchNotSequencedOrNotSequenceEnd\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedMaxVerifyBatches\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalNumBatchBelowLastVerifiedBatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalNumBatchDoesNotMatchPendingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalPendingStateNumInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchTimeoutNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchesAlreadyActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchesDecentralized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchesNotAllowedOnEmergencyState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchesOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForcedDataDoesNotMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GasTokenNetworkMustBeZeroOnEther\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GlobalExitRootNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HaltTimeoutNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HaltTimeoutNotExpiredAfterEmergencyState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HugeTokenMetadataNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitNumBatchAboveLastVerifiedBatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitNumBatchDoesNotMatchPendingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitSequencedBatchDoesNotMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitializeTransaction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRangeBatchTimeTarget\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRangeForceBatchTimeout\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRangeMultiplierBatchFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxTimestampSequenceInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewAccInputHashDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewPendingStateTimeoutMustBeLower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewStateRootNotInsidePrime\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewTrustedAggregatorTimeoutMustBeLower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughMaticAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughPOLAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OldAccInputHashDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OldStateRootDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyPendingAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyRollupManager\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyTrustedAggregator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyTrustedSequencer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateNotConsolidable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateTimeoutExceedHaltAggregationTimeout\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequenceZeroBatches\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequencedTimestampBelowForcedTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequencedTimestampInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoredRootMustBeDifferentThanNewRoot\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransactionsLengthAboveMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TrustedAggregatorTimeoutExceedHaltAggregationTimeout\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TrustedAggregatorTimeoutNotExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AcceptAdminRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"forceBatchNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastGlobalExitRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sequencer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"}],\"name\":\"ForceBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastGlobalExitRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sequencer\",\"type\":\"address\"}],\"name\":\"InitialSequenceBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"l1InfoRoot\",\"type\":\"bytes32\"}],\"name\":\"SequenceBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"}],\"name\":\"SequenceForceBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newForceBatchAddress\",\"type\":\"address\"}],\"name\":\"SetForceBatchAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newforceBatchTimeout\",\"type\":\"uint64\"}],\"name\":\"SetForceBatchTimeout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTrustedSequencer\",\"type\":\"address\"}],\"name\":\"SetTrustedSequencer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newTrustedSequencerURL\",\"type\":\"string\"}],\"name\":\"SetTrustedSequencerURL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newPendingAdmin\",\"type\":\"address\"}],\"name\":\"TransferAdminRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"VerifyBatches\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"GLOBAL_EXIT_ROOT_MANAGER_L2\",\"outputs\":[{\"internalType\":\"contractIBasePolygonZkEVMGlobalExitRoot\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIALIZE_TX_BRIDGE_LIST_LEN_LEN\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIALIZE_TX_BRIDGE_PARAMS\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS_EMPTY_METADATA\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIALIZE_TX_CONSTANT_BYTES\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIALIZE_TX_CONSTANT_BYTES_EMPTY_METADATA\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIALIZE_TX_DATA_LEN_EMPTY_METADATA\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIALIZE_TX_EFFECTIVE_PERCENTAGE\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"\",\"type\":\"bytes1\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SIGNATURE_INITIALIZE_TX_R\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SIGNATURE_INITIALIZE_TX_S\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SIGNATURE_INITIALIZE_TX_V\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TIMESTAMP_RANGE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptAdminRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bridgeAddress\",\"outputs\":[{\"internalType\":\"contractIPolygonZkEVMBridgeV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calculatePolPerForceBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"polAmount\",\"type\":\"uint256\"}],\"name\":\"forceBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"forceBatchAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"forceBatchTimeout\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"forcedBatches\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasTokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasTokenNetwork\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"networkID\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_gasTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_gasTokenNetwork\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"_gasTokenMetadata\",\"type\":\"bytes\"}],\"name\":\"generateInitializeTransaction\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"globalExitRootManager\",\"outputs\":[{\"internalType\":\"contractIPolygonZkEVMGlobalExitRootV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sequencer\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"networkID\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_gasTokenAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"sequencerURL\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_networkName\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastAccInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastForceBatch\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastForceBatchSequenced\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"onVerifyBatches\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pol\",\"outputs\":[{\"internalType\":\"contractIERC20Upgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollupManager\",\"outputs\":[{\"internalType\":\"contractPolygonRollupManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"forcedGlobalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"forcedTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"forcedBlockHashL1\",\"type\":\"bytes32\"}],\"internalType\":\"structPolygonRollupBaseEtrog.BatchData[]\",\"name\":\"batches\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"maxSequenceTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initSequencedBatch\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"l2Coinbase\",\"type\":\"address\"}],\"name\":\"sequenceBatches\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"forcedGlobalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"forcedTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"forcedBlockHashL1\",\"type\":\"bytes32\"}],\"internalType\":\"structPolygonRollupBaseEtrog.BatchData[]\",\"name\":\"batches\",\"type\":\"tuple[]\"}],\"name\":\"sequenceForceBatches\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newForceBatchAddress\",\"type\":\"address\"}],\"name\":\"setForceBatchAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newforceBatchTimeout\",\"type\":\"uint64\"}],\"name\":\"setForceBatchTimeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newTrustedSequencer\",\"type\":\"address\"}],\"name\":\"setTrustedSequencer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newTrustedSequencerURL\",\"type\":\"string\"}],\"name\":\"setTrustedSequencerURL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newPendingAdmin\",\"type\":\"address\"}],\"name\":\"transferAdminRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedSequencer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedSequencerURL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", +} + +// SequenceABI is the input ABI used to generate the binding from. +// Deprecated: Use SequenceMetaData.ABI instead. +var SequenceABI = SequenceMetaData.ABI + +// Sequence is an auto generated Go binding around an Ethereum contract. +type Sequence struct { + SequenceCaller // Read-only binding to the contract + SequenceTransactor // Write-only binding to the contract + SequenceFilterer // Log filterer for contract events +} + +// SequenceCaller is an auto generated read-only Go binding around an Ethereum contract. +type SequenceCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// SequenceTransactor is an auto generated write-only Go binding around an Ethereum contract. +type SequenceTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// SequenceFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type SequenceFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// SequenceSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type SequenceSession struct { + Contract *Sequence // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// SequenceCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type SequenceCallerSession struct { + Contract *SequenceCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// SequenceTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type SequenceTransactorSession struct { + Contract *SequenceTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// SequenceRaw is an auto generated low-level Go binding around an Ethereum contract. +type SequenceRaw struct { + Contract *Sequence // Generic contract binding to access the raw methods on +} + +// SequenceCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type SequenceCallerRaw struct { + Contract *SequenceCaller // Generic read-only contract binding to access the raw methods on +} + +// SequenceTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type SequenceTransactorRaw struct { + Contract *SequenceTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewSequence creates a new instance of Sequence, bound to a specific deployed contract. +func NewSequence(address common.Address, backend bind.ContractBackend) (*Sequence, error) { + contract, err := bindSequence(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &Sequence{SequenceCaller: SequenceCaller{contract: contract}, SequenceTransactor: SequenceTransactor{contract: contract}, SequenceFilterer: SequenceFilterer{contract: contract}}, nil +} + +// NewSequenceCaller creates a new read-only instance of Sequence, bound to a specific deployed contract. +func NewSequenceCaller(address common.Address, caller bind.ContractCaller) (*SequenceCaller, error) { + contract, err := bindSequence(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &SequenceCaller{contract: contract}, nil +} + +// NewSequenceTransactor creates a new write-only instance of Sequence, bound to a specific deployed contract. +func NewSequenceTransactor(address common.Address, transactor bind.ContractTransactor) (*SequenceTransactor, error) { + contract, err := bindSequence(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &SequenceTransactor{contract: contract}, nil +} + +// NewSequenceFilterer creates a new log filterer instance of Sequence, bound to a specific deployed contract. +func NewSequenceFilterer(address common.Address, filterer bind.ContractFilterer) (*SequenceFilterer, error) { + contract, err := bindSequence(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &SequenceFilterer{contract: contract}, nil +} + +// bindSequence binds a generic wrapper to an already deployed contract. +func bindSequence(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := SequenceMetaData.GetAbi() + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_Sequence *SequenceRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _Sequence.Contract.SequenceCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_Sequence *SequenceRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Sequence.Contract.SequenceTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_Sequence *SequenceRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _Sequence.Contract.SequenceTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_Sequence *SequenceCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _Sequence.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_Sequence *SequenceTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Sequence.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_Sequence *SequenceTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _Sequence.Contract.contract.Transact(opts, method, params...) +} + +// GLOBALEXITROOTMANAGERL2 is a free data retrieval call binding the contract method 0x9e001877. +// +// Solidity: function GLOBAL_EXIT_ROOT_MANAGER_L2() view returns(address) +func (_Sequence *SequenceCaller) GLOBALEXITROOTMANAGERL2(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "GLOBAL_EXIT_ROOT_MANAGER_L2") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GLOBALEXITROOTMANAGERL2 is a free data retrieval call binding the contract method 0x9e001877. +// +// Solidity: function GLOBAL_EXIT_ROOT_MANAGER_L2() view returns(address) +func (_Sequence *SequenceSession) GLOBALEXITROOTMANAGERL2() (common.Address, error) { + return _Sequence.Contract.GLOBALEXITROOTMANAGERL2(&_Sequence.CallOpts) +} + +// GLOBALEXITROOTMANAGERL2 is a free data retrieval call binding the contract method 0x9e001877. +// +// Solidity: function GLOBAL_EXIT_ROOT_MANAGER_L2() view returns(address) +func (_Sequence *SequenceCallerSession) GLOBALEXITROOTMANAGERL2() (common.Address, error) { + return _Sequence.Contract.GLOBALEXITROOTMANAGERL2(&_Sequence.CallOpts) +} + +// INITIALIZETXBRIDGELISTLENLEN is a free data retrieval call binding the contract method 0x11e892d4. +// +// Solidity: function INITIALIZE_TX_BRIDGE_LIST_LEN_LEN() view returns(uint8) +func (_Sequence *SequenceCaller) INITIALIZETXBRIDGELISTLENLEN(opts *bind.CallOpts) (uint8, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "INITIALIZE_TX_BRIDGE_LIST_LEN_LEN") + + if err != nil { + return *new(uint8), err + } + + out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) + + return out0, err + +} + +// INITIALIZETXBRIDGELISTLENLEN is a free data retrieval call binding the contract method 0x11e892d4. +// +// Solidity: function INITIALIZE_TX_BRIDGE_LIST_LEN_LEN() view returns(uint8) +func (_Sequence *SequenceSession) INITIALIZETXBRIDGELISTLENLEN() (uint8, error) { + return _Sequence.Contract.INITIALIZETXBRIDGELISTLENLEN(&_Sequence.CallOpts) +} + +// INITIALIZETXBRIDGELISTLENLEN is a free data retrieval call binding the contract method 0x11e892d4. +// +// Solidity: function INITIALIZE_TX_BRIDGE_LIST_LEN_LEN() view returns(uint8) +func (_Sequence *SequenceCallerSession) INITIALIZETXBRIDGELISTLENLEN() (uint8, error) { + return _Sequence.Contract.INITIALIZETXBRIDGELISTLENLEN(&_Sequence.CallOpts) +} + +// INITIALIZETXBRIDGEPARAMS is a free data retrieval call binding the contract method 0x05835f37. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS() view returns(bytes) +func (_Sequence *SequenceCaller) INITIALIZETXBRIDGEPARAMS(opts *bind.CallOpts) ([]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "INITIALIZE_TX_BRIDGE_PARAMS") + + if err != nil { + return *new([]byte), err + } + + out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) + + return out0, err + +} + +// INITIALIZETXBRIDGEPARAMS is a free data retrieval call binding the contract method 0x05835f37. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS() view returns(bytes) +func (_Sequence *SequenceSession) INITIALIZETXBRIDGEPARAMS() ([]byte, error) { + return _Sequence.Contract.INITIALIZETXBRIDGEPARAMS(&_Sequence.CallOpts) +} + +// INITIALIZETXBRIDGEPARAMS is a free data retrieval call binding the contract method 0x05835f37. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS() view returns(bytes) +func (_Sequence *SequenceCallerSession) INITIALIZETXBRIDGEPARAMS() ([]byte, error) { + return _Sequence.Contract.INITIALIZETXBRIDGEPARAMS(&_Sequence.CallOpts) +} + +// INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESS is a free data retrieval call binding the contract method 0x7a5460c5. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS() view returns(bytes) +func (_Sequence *SequenceCaller) INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESS(opts *bind.CallOpts) ([]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS") + + if err != nil { + return *new([]byte), err + } + + out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) + + return out0, err + +} + +// INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESS is a free data retrieval call binding the contract method 0x7a5460c5. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS() view returns(bytes) +func (_Sequence *SequenceSession) INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESS() ([]byte, error) { + return _Sequence.Contract.INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESS(&_Sequence.CallOpts) +} + +// INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESS is a free data retrieval call binding the contract method 0x7a5460c5. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS() view returns(bytes) +func (_Sequence *SequenceCallerSession) INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESS() ([]byte, error) { + return _Sequence.Contract.INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESS(&_Sequence.CallOpts) +} + +// INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESSEMPTYMETADATA is a free data retrieval call binding the contract method 0x52bdeb6d. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS_EMPTY_METADATA() view returns(bytes) +func (_Sequence *SequenceCaller) INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESSEMPTYMETADATA(opts *bind.CallOpts) ([]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS_EMPTY_METADATA") + + if err != nil { + return *new([]byte), err + } + + out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) + + return out0, err + +} + +// INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESSEMPTYMETADATA is a free data retrieval call binding the contract method 0x52bdeb6d. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS_EMPTY_METADATA() view returns(bytes) +func (_Sequence *SequenceSession) INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESSEMPTYMETADATA() ([]byte, error) { + return _Sequence.Contract.INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESSEMPTYMETADATA(&_Sequence.CallOpts) +} + +// INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESSEMPTYMETADATA is a free data retrieval call binding the contract method 0x52bdeb6d. +// +// Solidity: function INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS_EMPTY_METADATA() view returns(bytes) +func (_Sequence *SequenceCallerSession) INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESSEMPTYMETADATA() ([]byte, error) { + return _Sequence.Contract.INITIALIZETXBRIDGEPARAMSAFTERBRIDGEADDRESSEMPTYMETADATA(&_Sequence.CallOpts) +} + +// INITIALIZETXCONSTANTBYTES is a free data retrieval call binding the contract method 0x03508963. +// +// Solidity: function INITIALIZE_TX_CONSTANT_BYTES() view returns(uint16) +func (_Sequence *SequenceCaller) INITIALIZETXCONSTANTBYTES(opts *bind.CallOpts) (uint16, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "INITIALIZE_TX_CONSTANT_BYTES") + + if err != nil { + return *new(uint16), err + } + + out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16) + + return out0, err + +} + +// INITIALIZETXCONSTANTBYTES is a free data retrieval call binding the contract method 0x03508963. +// +// Solidity: function INITIALIZE_TX_CONSTANT_BYTES() view returns(uint16) +func (_Sequence *SequenceSession) INITIALIZETXCONSTANTBYTES() (uint16, error) { + return _Sequence.Contract.INITIALIZETXCONSTANTBYTES(&_Sequence.CallOpts) +} + +// INITIALIZETXCONSTANTBYTES is a free data retrieval call binding the contract method 0x03508963. +// +// Solidity: function INITIALIZE_TX_CONSTANT_BYTES() view returns(uint16) +func (_Sequence *SequenceCallerSession) INITIALIZETXCONSTANTBYTES() (uint16, error) { + return _Sequence.Contract.INITIALIZETXCONSTANTBYTES(&_Sequence.CallOpts) +} + +// INITIALIZETXCONSTANTBYTESEMPTYMETADATA is a free data retrieval call binding the contract method 0x676870d2. +// +// Solidity: function INITIALIZE_TX_CONSTANT_BYTES_EMPTY_METADATA() view returns(uint16) +func (_Sequence *SequenceCaller) INITIALIZETXCONSTANTBYTESEMPTYMETADATA(opts *bind.CallOpts) (uint16, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "INITIALIZE_TX_CONSTANT_BYTES_EMPTY_METADATA") + + if err != nil { + return *new(uint16), err + } + + out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16) + + return out0, err + +} + +// INITIALIZETXCONSTANTBYTESEMPTYMETADATA is a free data retrieval call binding the contract method 0x676870d2. +// +// Solidity: function INITIALIZE_TX_CONSTANT_BYTES_EMPTY_METADATA() view returns(uint16) +func (_Sequence *SequenceSession) INITIALIZETXCONSTANTBYTESEMPTYMETADATA() (uint16, error) { + return _Sequence.Contract.INITIALIZETXCONSTANTBYTESEMPTYMETADATA(&_Sequence.CallOpts) +} + +// INITIALIZETXCONSTANTBYTESEMPTYMETADATA is a free data retrieval call binding the contract method 0x676870d2. +// +// Solidity: function INITIALIZE_TX_CONSTANT_BYTES_EMPTY_METADATA() view returns(uint16) +func (_Sequence *SequenceCallerSession) INITIALIZETXCONSTANTBYTESEMPTYMETADATA() (uint16, error) { + return _Sequence.Contract.INITIALIZETXCONSTANTBYTESEMPTYMETADATA(&_Sequence.CallOpts) +} + +// INITIALIZETXDATALENEMPTYMETADATA is a free data retrieval call binding the contract method 0xc7fffd4b. +// +// Solidity: function INITIALIZE_TX_DATA_LEN_EMPTY_METADATA() view returns(uint8) +func (_Sequence *SequenceCaller) INITIALIZETXDATALENEMPTYMETADATA(opts *bind.CallOpts) (uint8, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "INITIALIZE_TX_DATA_LEN_EMPTY_METADATA") + + if err != nil { + return *new(uint8), err + } + + out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) + + return out0, err + +} + +// INITIALIZETXDATALENEMPTYMETADATA is a free data retrieval call binding the contract method 0xc7fffd4b. +// +// Solidity: function INITIALIZE_TX_DATA_LEN_EMPTY_METADATA() view returns(uint8) +func (_Sequence *SequenceSession) INITIALIZETXDATALENEMPTYMETADATA() (uint8, error) { + return _Sequence.Contract.INITIALIZETXDATALENEMPTYMETADATA(&_Sequence.CallOpts) +} + +// INITIALIZETXDATALENEMPTYMETADATA is a free data retrieval call binding the contract method 0xc7fffd4b. +// +// Solidity: function INITIALIZE_TX_DATA_LEN_EMPTY_METADATA() view returns(uint8) +func (_Sequence *SequenceCallerSession) INITIALIZETXDATALENEMPTYMETADATA() (uint8, error) { + return _Sequence.Contract.INITIALIZETXDATALENEMPTYMETADATA(&_Sequence.CallOpts) +} + +// INITIALIZETXEFFECTIVEPERCENTAGE is a free data retrieval call binding the contract method 0x40b5de6c. +// +// Solidity: function INITIALIZE_TX_EFFECTIVE_PERCENTAGE() view returns(bytes1) +func (_Sequence *SequenceCaller) INITIALIZETXEFFECTIVEPERCENTAGE(opts *bind.CallOpts) ([1]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "INITIALIZE_TX_EFFECTIVE_PERCENTAGE") + + if err != nil { + return *new([1]byte), err + } + + out0 := *abi.ConvertType(out[0], new([1]byte)).(*[1]byte) + + return out0, err + +} + +// INITIALIZETXEFFECTIVEPERCENTAGE is a free data retrieval call binding the contract method 0x40b5de6c. +// +// Solidity: function INITIALIZE_TX_EFFECTIVE_PERCENTAGE() view returns(bytes1) +func (_Sequence *SequenceSession) INITIALIZETXEFFECTIVEPERCENTAGE() ([1]byte, error) { + return _Sequence.Contract.INITIALIZETXEFFECTIVEPERCENTAGE(&_Sequence.CallOpts) +} + +// INITIALIZETXEFFECTIVEPERCENTAGE is a free data retrieval call binding the contract method 0x40b5de6c. +// +// Solidity: function INITIALIZE_TX_EFFECTIVE_PERCENTAGE() view returns(bytes1) +func (_Sequence *SequenceCallerSession) INITIALIZETXEFFECTIVEPERCENTAGE() ([1]byte, error) { + return _Sequence.Contract.INITIALIZETXEFFECTIVEPERCENTAGE(&_Sequence.CallOpts) +} + +// SIGNATUREINITIALIZETXR is a free data retrieval call binding the contract method 0xb0afe154. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_R() view returns(bytes32) +func (_Sequence *SequenceCaller) SIGNATUREINITIALIZETXR(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "SIGNATURE_INITIALIZE_TX_R") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// SIGNATUREINITIALIZETXR is a free data retrieval call binding the contract method 0xb0afe154. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_R() view returns(bytes32) +func (_Sequence *SequenceSession) SIGNATUREINITIALIZETXR() ([32]byte, error) { + return _Sequence.Contract.SIGNATUREINITIALIZETXR(&_Sequence.CallOpts) +} + +// SIGNATUREINITIALIZETXR is a free data retrieval call binding the contract method 0xb0afe154. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_R() view returns(bytes32) +func (_Sequence *SequenceCallerSession) SIGNATUREINITIALIZETXR() ([32]byte, error) { + return _Sequence.Contract.SIGNATUREINITIALIZETXR(&_Sequence.CallOpts) +} + +// SIGNATUREINITIALIZETXS is a free data retrieval call binding the contract method 0xd7bc90ff. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_S() view returns(bytes32) +func (_Sequence *SequenceCaller) SIGNATUREINITIALIZETXS(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "SIGNATURE_INITIALIZE_TX_S") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// SIGNATUREINITIALIZETXS is a free data retrieval call binding the contract method 0xd7bc90ff. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_S() view returns(bytes32) +func (_Sequence *SequenceSession) SIGNATUREINITIALIZETXS() ([32]byte, error) { + return _Sequence.Contract.SIGNATUREINITIALIZETXS(&_Sequence.CallOpts) +} + +// SIGNATUREINITIALIZETXS is a free data retrieval call binding the contract method 0xd7bc90ff. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_S() view returns(bytes32) +func (_Sequence *SequenceCallerSession) SIGNATUREINITIALIZETXS() ([32]byte, error) { + return _Sequence.Contract.SIGNATUREINITIALIZETXS(&_Sequence.CallOpts) +} + +// SIGNATUREINITIALIZETXV is a free data retrieval call binding the contract method 0xf35dda47. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_V() view returns(uint8) +func (_Sequence *SequenceCaller) SIGNATUREINITIALIZETXV(opts *bind.CallOpts) (uint8, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "SIGNATURE_INITIALIZE_TX_V") + + if err != nil { + return *new(uint8), err + } + + out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) + + return out0, err + +} + +// SIGNATUREINITIALIZETXV is a free data retrieval call binding the contract method 0xf35dda47. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_V() view returns(uint8) +func (_Sequence *SequenceSession) SIGNATUREINITIALIZETXV() (uint8, error) { + return _Sequence.Contract.SIGNATUREINITIALIZETXV(&_Sequence.CallOpts) +} + +// SIGNATUREINITIALIZETXV is a free data retrieval call binding the contract method 0xf35dda47. +// +// Solidity: function SIGNATURE_INITIALIZE_TX_V() view returns(uint8) +func (_Sequence *SequenceCallerSession) SIGNATUREINITIALIZETXV() (uint8, error) { + return _Sequence.Contract.SIGNATUREINITIALIZETXV(&_Sequence.CallOpts) +} + +// TIMESTAMPRANGE is a free data retrieval call binding the contract method 0x42308fab. +// +// Solidity: function TIMESTAMP_RANGE() view returns(uint256) +func (_Sequence *SequenceCaller) TIMESTAMPRANGE(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "TIMESTAMP_RANGE") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// TIMESTAMPRANGE is a free data retrieval call binding the contract method 0x42308fab. +// +// Solidity: function TIMESTAMP_RANGE() view returns(uint256) +func (_Sequence *SequenceSession) TIMESTAMPRANGE() (*big.Int, error) { + return _Sequence.Contract.TIMESTAMPRANGE(&_Sequence.CallOpts) +} + +// TIMESTAMPRANGE is a free data retrieval call binding the contract method 0x42308fab. +// +// Solidity: function TIMESTAMP_RANGE() view returns(uint256) +func (_Sequence *SequenceCallerSession) TIMESTAMPRANGE() (*big.Int, error) { + return _Sequence.Contract.TIMESTAMPRANGE(&_Sequence.CallOpts) +} + +// Admin is a free data retrieval call binding the contract method 0xf851a440. +// +// Solidity: function admin() view returns(address) +func (_Sequence *SequenceCaller) Admin(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "admin") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Admin is a free data retrieval call binding the contract method 0xf851a440. +// +// Solidity: function admin() view returns(address) +func (_Sequence *SequenceSession) Admin() (common.Address, error) { + return _Sequence.Contract.Admin(&_Sequence.CallOpts) +} + +// Admin is a free data retrieval call binding the contract method 0xf851a440. +// +// Solidity: function admin() view returns(address) +func (_Sequence *SequenceCallerSession) Admin() (common.Address, error) { + return _Sequence.Contract.Admin(&_Sequence.CallOpts) +} + +// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. +// +// Solidity: function bridgeAddress() view returns(address) +func (_Sequence *SequenceCaller) BridgeAddress(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "bridgeAddress") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. +// +// Solidity: function bridgeAddress() view returns(address) +func (_Sequence *SequenceSession) BridgeAddress() (common.Address, error) { + return _Sequence.Contract.BridgeAddress(&_Sequence.CallOpts) +} + +// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. +// +// Solidity: function bridgeAddress() view returns(address) +func (_Sequence *SequenceCallerSession) BridgeAddress() (common.Address, error) { + return _Sequence.Contract.BridgeAddress(&_Sequence.CallOpts) +} + +// CalculatePolPerForceBatch is a free data retrieval call binding the contract method 0x00d0295d. +// +// Solidity: function calculatePolPerForceBatch() view returns(uint256) +func (_Sequence *SequenceCaller) CalculatePolPerForceBatch(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "calculatePolPerForceBatch") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// CalculatePolPerForceBatch is a free data retrieval call binding the contract method 0x00d0295d. +// +// Solidity: function calculatePolPerForceBatch() view returns(uint256) +func (_Sequence *SequenceSession) CalculatePolPerForceBatch() (*big.Int, error) { + return _Sequence.Contract.CalculatePolPerForceBatch(&_Sequence.CallOpts) +} + +// CalculatePolPerForceBatch is a free data retrieval call binding the contract method 0x00d0295d. +// +// Solidity: function calculatePolPerForceBatch() view returns(uint256) +func (_Sequence *SequenceCallerSession) CalculatePolPerForceBatch() (*big.Int, error) { + return _Sequence.Contract.CalculatePolPerForceBatch(&_Sequence.CallOpts) +} + +// ForceBatchAddress is a free data retrieval call binding the contract method 0x2c111c06. +// +// Solidity: function forceBatchAddress() view returns(address) +func (_Sequence *SequenceCaller) ForceBatchAddress(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "forceBatchAddress") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// ForceBatchAddress is a free data retrieval call binding the contract method 0x2c111c06. +// +// Solidity: function forceBatchAddress() view returns(address) +func (_Sequence *SequenceSession) ForceBatchAddress() (common.Address, error) { + return _Sequence.Contract.ForceBatchAddress(&_Sequence.CallOpts) +} + +// ForceBatchAddress is a free data retrieval call binding the contract method 0x2c111c06. +// +// Solidity: function forceBatchAddress() view returns(address) +func (_Sequence *SequenceCallerSession) ForceBatchAddress() (common.Address, error) { + return _Sequence.Contract.ForceBatchAddress(&_Sequence.CallOpts) +} + +// ForceBatchTimeout is a free data retrieval call binding the contract method 0xc754c7ed. +// +// Solidity: function forceBatchTimeout() view returns(uint64) +func (_Sequence *SequenceCaller) ForceBatchTimeout(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "forceBatchTimeout") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// ForceBatchTimeout is a free data retrieval call binding the contract method 0xc754c7ed. +// +// Solidity: function forceBatchTimeout() view returns(uint64) +func (_Sequence *SequenceSession) ForceBatchTimeout() (uint64, error) { + return _Sequence.Contract.ForceBatchTimeout(&_Sequence.CallOpts) +} + +// ForceBatchTimeout is a free data retrieval call binding the contract method 0xc754c7ed. +// +// Solidity: function forceBatchTimeout() view returns(uint64) +func (_Sequence *SequenceCallerSession) ForceBatchTimeout() (uint64, error) { + return _Sequence.Contract.ForceBatchTimeout(&_Sequence.CallOpts) +} + +// ForcedBatches is a free data retrieval call binding the contract method 0x6b8616ce. +// +// Solidity: function forcedBatches(uint64 ) view returns(bytes32) +func (_Sequence *SequenceCaller) ForcedBatches(opts *bind.CallOpts, arg0 uint64) ([32]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "forcedBatches", arg0) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// ForcedBatches is a free data retrieval call binding the contract method 0x6b8616ce. +// +// Solidity: function forcedBatches(uint64 ) view returns(bytes32) +func (_Sequence *SequenceSession) ForcedBatches(arg0 uint64) ([32]byte, error) { + return _Sequence.Contract.ForcedBatches(&_Sequence.CallOpts, arg0) +} + +// ForcedBatches is a free data retrieval call binding the contract method 0x6b8616ce. +// +// Solidity: function forcedBatches(uint64 ) view returns(bytes32) +func (_Sequence *SequenceCallerSession) ForcedBatches(arg0 uint64) ([32]byte, error) { + return _Sequence.Contract.ForcedBatches(&_Sequence.CallOpts, arg0) +} + +// GasTokenAddress is a free data retrieval call binding the contract method 0x3c351e10. +// +// Solidity: function gasTokenAddress() view returns(address) +func (_Sequence *SequenceCaller) GasTokenAddress(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "gasTokenAddress") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GasTokenAddress is a free data retrieval call binding the contract method 0x3c351e10. +// +// Solidity: function gasTokenAddress() view returns(address) +func (_Sequence *SequenceSession) GasTokenAddress() (common.Address, error) { + return _Sequence.Contract.GasTokenAddress(&_Sequence.CallOpts) +} + +// GasTokenAddress is a free data retrieval call binding the contract method 0x3c351e10. +// +// Solidity: function gasTokenAddress() view returns(address) +func (_Sequence *SequenceCallerSession) GasTokenAddress() (common.Address, error) { + return _Sequence.Contract.GasTokenAddress(&_Sequence.CallOpts) +} + +// GasTokenNetwork is a free data retrieval call binding the contract method 0x3cbc795b. +// +// Solidity: function gasTokenNetwork() view returns(uint32) +func (_Sequence *SequenceCaller) GasTokenNetwork(opts *bind.CallOpts) (uint32, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "gasTokenNetwork") + + if err != nil { + return *new(uint32), err + } + + out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) + + return out0, err + +} + +// GasTokenNetwork is a free data retrieval call binding the contract method 0x3cbc795b. +// +// Solidity: function gasTokenNetwork() view returns(uint32) +func (_Sequence *SequenceSession) GasTokenNetwork() (uint32, error) { + return _Sequence.Contract.GasTokenNetwork(&_Sequence.CallOpts) +} + +// GasTokenNetwork is a free data retrieval call binding the contract method 0x3cbc795b. +// +// Solidity: function gasTokenNetwork() view returns(uint32) +func (_Sequence *SequenceCallerSession) GasTokenNetwork() (uint32, error) { + return _Sequence.Contract.GasTokenNetwork(&_Sequence.CallOpts) +} + +// GenerateInitializeTransaction is a free data retrieval call binding the contract method 0xa652f26c. +// +// Solidity: function generateInitializeTransaction(uint32 networkID, address _gasTokenAddress, uint32 _gasTokenNetwork, bytes _gasTokenMetadata) view returns(bytes) +func (_Sequence *SequenceCaller) GenerateInitializeTransaction(opts *bind.CallOpts, networkID uint32, _gasTokenAddress common.Address, _gasTokenNetwork uint32, _gasTokenMetadata []byte) ([]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "generateInitializeTransaction", networkID, _gasTokenAddress, _gasTokenNetwork, _gasTokenMetadata) + + if err != nil { + return *new([]byte), err + } + + out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) + + return out0, err + +} + +// GenerateInitializeTransaction is a free data retrieval call binding the contract method 0xa652f26c. +// +// Solidity: function generateInitializeTransaction(uint32 networkID, address _gasTokenAddress, uint32 _gasTokenNetwork, bytes _gasTokenMetadata) view returns(bytes) +func (_Sequence *SequenceSession) GenerateInitializeTransaction(networkID uint32, _gasTokenAddress common.Address, _gasTokenNetwork uint32, _gasTokenMetadata []byte) ([]byte, error) { + return _Sequence.Contract.GenerateInitializeTransaction(&_Sequence.CallOpts, networkID, _gasTokenAddress, _gasTokenNetwork, _gasTokenMetadata) +} + +// GenerateInitializeTransaction is a free data retrieval call binding the contract method 0xa652f26c. +// +// Solidity: function generateInitializeTransaction(uint32 networkID, address _gasTokenAddress, uint32 _gasTokenNetwork, bytes _gasTokenMetadata) view returns(bytes) +func (_Sequence *SequenceCallerSession) GenerateInitializeTransaction(networkID uint32, _gasTokenAddress common.Address, _gasTokenNetwork uint32, _gasTokenMetadata []byte) ([]byte, error) { + return _Sequence.Contract.GenerateInitializeTransaction(&_Sequence.CallOpts, networkID, _gasTokenAddress, _gasTokenNetwork, _gasTokenMetadata) +} + +// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. +// +// Solidity: function globalExitRootManager() view returns(address) +func (_Sequence *SequenceCaller) GlobalExitRootManager(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "globalExitRootManager") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. +// +// Solidity: function globalExitRootManager() view returns(address) +func (_Sequence *SequenceSession) GlobalExitRootManager() (common.Address, error) { + return _Sequence.Contract.GlobalExitRootManager(&_Sequence.CallOpts) +} + +// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. +// +// Solidity: function globalExitRootManager() view returns(address) +func (_Sequence *SequenceCallerSession) GlobalExitRootManager() (common.Address, error) { + return _Sequence.Contract.GlobalExitRootManager(&_Sequence.CallOpts) +} + +// LastAccInputHash is a free data retrieval call binding the contract method 0x6e05d2cd. +// +// Solidity: function lastAccInputHash() view returns(bytes32) +func (_Sequence *SequenceCaller) LastAccInputHash(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "lastAccInputHash") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// LastAccInputHash is a free data retrieval call binding the contract method 0x6e05d2cd. +// +// Solidity: function lastAccInputHash() view returns(bytes32) +func (_Sequence *SequenceSession) LastAccInputHash() ([32]byte, error) { + return _Sequence.Contract.LastAccInputHash(&_Sequence.CallOpts) +} + +// LastAccInputHash is a free data retrieval call binding the contract method 0x6e05d2cd. +// +// Solidity: function lastAccInputHash() view returns(bytes32) +func (_Sequence *SequenceCallerSession) LastAccInputHash() ([32]byte, error) { + return _Sequence.Contract.LastAccInputHash(&_Sequence.CallOpts) +} + +// LastForceBatch is a free data retrieval call binding the contract method 0xe7a7ed02. +// +// Solidity: function lastForceBatch() view returns(uint64) +func (_Sequence *SequenceCaller) LastForceBatch(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "lastForceBatch") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// LastForceBatch is a free data retrieval call binding the contract method 0xe7a7ed02. +// +// Solidity: function lastForceBatch() view returns(uint64) +func (_Sequence *SequenceSession) LastForceBatch() (uint64, error) { + return _Sequence.Contract.LastForceBatch(&_Sequence.CallOpts) +} + +// LastForceBatch is a free data retrieval call binding the contract method 0xe7a7ed02. +// +// Solidity: function lastForceBatch() view returns(uint64) +func (_Sequence *SequenceCallerSession) LastForceBatch() (uint64, error) { + return _Sequence.Contract.LastForceBatch(&_Sequence.CallOpts) +} + +// LastForceBatchSequenced is a free data retrieval call binding the contract method 0x45605267. +// +// Solidity: function lastForceBatchSequenced() view returns(uint64) +func (_Sequence *SequenceCaller) LastForceBatchSequenced(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "lastForceBatchSequenced") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// LastForceBatchSequenced is a free data retrieval call binding the contract method 0x45605267. +// +// Solidity: function lastForceBatchSequenced() view returns(uint64) +func (_Sequence *SequenceSession) LastForceBatchSequenced() (uint64, error) { + return _Sequence.Contract.LastForceBatchSequenced(&_Sequence.CallOpts) +} + +// LastForceBatchSequenced is a free data retrieval call binding the contract method 0x45605267. +// +// Solidity: function lastForceBatchSequenced() view returns(uint64) +func (_Sequence *SequenceCallerSession) LastForceBatchSequenced() (uint64, error) { + return _Sequence.Contract.LastForceBatchSequenced(&_Sequence.CallOpts) +} + +// NetworkName is a free data retrieval call binding the contract method 0x107bf28c. +// +// Solidity: function networkName() view returns(string) +func (_Sequence *SequenceCaller) NetworkName(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "networkName") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// NetworkName is a free data retrieval call binding the contract method 0x107bf28c. +// +// Solidity: function networkName() view returns(string) +func (_Sequence *SequenceSession) NetworkName() (string, error) { + return _Sequence.Contract.NetworkName(&_Sequence.CallOpts) +} + +// NetworkName is a free data retrieval call binding the contract method 0x107bf28c. +// +// Solidity: function networkName() view returns(string) +func (_Sequence *SequenceCallerSession) NetworkName() (string, error) { + return _Sequence.Contract.NetworkName(&_Sequence.CallOpts) +} + +// PendingAdmin is a free data retrieval call binding the contract method 0x26782247. +// +// Solidity: function pendingAdmin() view returns(address) +func (_Sequence *SequenceCaller) PendingAdmin(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "pendingAdmin") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// PendingAdmin is a free data retrieval call binding the contract method 0x26782247. +// +// Solidity: function pendingAdmin() view returns(address) +func (_Sequence *SequenceSession) PendingAdmin() (common.Address, error) { + return _Sequence.Contract.PendingAdmin(&_Sequence.CallOpts) +} + +// PendingAdmin is a free data retrieval call binding the contract method 0x26782247. +// +// Solidity: function pendingAdmin() view returns(address) +func (_Sequence *SequenceCallerSession) PendingAdmin() (common.Address, error) { + return _Sequence.Contract.PendingAdmin(&_Sequence.CallOpts) +} + +// Pol is a free data retrieval call binding the contract method 0xe46761c4. +// +// Solidity: function pol() view returns(address) +func (_Sequence *SequenceCaller) Pol(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "pol") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Pol is a free data retrieval call binding the contract method 0xe46761c4. +// +// Solidity: function pol() view returns(address) +func (_Sequence *SequenceSession) Pol() (common.Address, error) { + return _Sequence.Contract.Pol(&_Sequence.CallOpts) +} + +// Pol is a free data retrieval call binding the contract method 0xe46761c4. +// +// Solidity: function pol() view returns(address) +func (_Sequence *SequenceCallerSession) Pol() (common.Address, error) { + return _Sequence.Contract.Pol(&_Sequence.CallOpts) +} + +// RollupManager is a free data retrieval call binding the contract method 0x49b7b802. +// +// Solidity: function rollupManager() view returns(address) +func (_Sequence *SequenceCaller) RollupManager(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "rollupManager") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// RollupManager is a free data retrieval call binding the contract method 0x49b7b802. +// +// Solidity: function rollupManager() view returns(address) +func (_Sequence *SequenceSession) RollupManager() (common.Address, error) { + return _Sequence.Contract.RollupManager(&_Sequence.CallOpts) +} + +// RollupManager is a free data retrieval call binding the contract method 0x49b7b802. +// +// Solidity: function rollupManager() view returns(address) +func (_Sequence *SequenceCallerSession) RollupManager() (common.Address, error) { + return _Sequence.Contract.RollupManager(&_Sequence.CallOpts) +} + +// TrustedSequencer is a free data retrieval call binding the contract method 0xcfa8ed47. +// +// Solidity: function trustedSequencer() view returns(address) +func (_Sequence *SequenceCaller) TrustedSequencer(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "trustedSequencer") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// TrustedSequencer is a free data retrieval call binding the contract method 0xcfa8ed47. +// +// Solidity: function trustedSequencer() view returns(address) +func (_Sequence *SequenceSession) TrustedSequencer() (common.Address, error) { + return _Sequence.Contract.TrustedSequencer(&_Sequence.CallOpts) +} + +// TrustedSequencer is a free data retrieval call binding the contract method 0xcfa8ed47. +// +// Solidity: function trustedSequencer() view returns(address) +func (_Sequence *SequenceCallerSession) TrustedSequencer() (common.Address, error) { + return _Sequence.Contract.TrustedSequencer(&_Sequence.CallOpts) +} + +// TrustedSequencerURL is a free data retrieval call binding the contract method 0x542028d5. +// +// Solidity: function trustedSequencerURL() view returns(string) +func (_Sequence *SequenceCaller) TrustedSequencerURL(opts *bind.CallOpts) (string, error) { + var out []interface{} + err := _Sequence.contract.Call(opts, &out, "trustedSequencerURL") + + if err != nil { + return *new(string), err + } + + out0 := *abi.ConvertType(out[0], new(string)).(*string) + + return out0, err + +} + +// TrustedSequencerURL is a free data retrieval call binding the contract method 0x542028d5. +// +// Solidity: function trustedSequencerURL() view returns(string) +func (_Sequence *SequenceSession) TrustedSequencerURL() (string, error) { + return _Sequence.Contract.TrustedSequencerURL(&_Sequence.CallOpts) +} + +// TrustedSequencerURL is a free data retrieval call binding the contract method 0x542028d5. +// +// Solidity: function trustedSequencerURL() view returns(string) +func (_Sequence *SequenceCallerSession) TrustedSequencerURL() (string, error) { + return _Sequence.Contract.TrustedSequencerURL(&_Sequence.CallOpts) +} + +// AcceptAdminRole is a paid mutator transaction binding the contract method 0x8c3d7301. +// +// Solidity: function acceptAdminRole() returns() +func (_Sequence *SequenceTransactor) AcceptAdminRole(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "acceptAdminRole") +} + +// AcceptAdminRole is a paid mutator transaction binding the contract method 0x8c3d7301. +// +// Solidity: function acceptAdminRole() returns() +func (_Sequence *SequenceSession) AcceptAdminRole() (*types.Transaction, error) { + return _Sequence.Contract.AcceptAdminRole(&_Sequence.TransactOpts) +} + +// AcceptAdminRole is a paid mutator transaction binding the contract method 0x8c3d7301. +// +// Solidity: function acceptAdminRole() returns() +func (_Sequence *SequenceTransactorSession) AcceptAdminRole() (*types.Transaction, error) { + return _Sequence.Contract.AcceptAdminRole(&_Sequence.TransactOpts) +} + +// ForceBatch is a paid mutator transaction binding the contract method 0xeaeb077b. +// +// Solidity: function forceBatch(bytes transactions, uint256 polAmount) returns() +func (_Sequence *SequenceTransactor) ForceBatch(opts *bind.TransactOpts, transactions []byte, polAmount *big.Int) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "forceBatch", transactions, polAmount) +} + +// ForceBatch is a paid mutator transaction binding the contract method 0xeaeb077b. +// +// Solidity: function forceBatch(bytes transactions, uint256 polAmount) returns() +func (_Sequence *SequenceSession) ForceBatch(transactions []byte, polAmount *big.Int) (*types.Transaction, error) { + return _Sequence.Contract.ForceBatch(&_Sequence.TransactOpts, transactions, polAmount) +} + +// ForceBatch is a paid mutator transaction binding the contract method 0xeaeb077b. +// +// Solidity: function forceBatch(bytes transactions, uint256 polAmount) returns() +func (_Sequence *SequenceTransactorSession) ForceBatch(transactions []byte, polAmount *big.Int) (*types.Transaction, error) { + return _Sequence.Contract.ForceBatch(&_Sequence.TransactOpts, transactions, polAmount) +} + +// Initialize is a paid mutator transaction binding the contract method 0x71257022. +// +// Solidity: function initialize(address _admin, address sequencer, uint32 networkID, address _gasTokenAddress, string sequencerURL, string _networkName) returns() +func (_Sequence *SequenceTransactor) Initialize(opts *bind.TransactOpts, _admin common.Address, sequencer common.Address, networkID uint32, _gasTokenAddress common.Address, sequencerURL string, _networkName string) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "initialize", _admin, sequencer, networkID, _gasTokenAddress, sequencerURL, _networkName) +} + +// Initialize is a paid mutator transaction binding the contract method 0x71257022. +// +// Solidity: function initialize(address _admin, address sequencer, uint32 networkID, address _gasTokenAddress, string sequencerURL, string _networkName) returns() +func (_Sequence *SequenceSession) Initialize(_admin common.Address, sequencer common.Address, networkID uint32, _gasTokenAddress common.Address, sequencerURL string, _networkName string) (*types.Transaction, error) { + return _Sequence.Contract.Initialize(&_Sequence.TransactOpts, _admin, sequencer, networkID, _gasTokenAddress, sequencerURL, _networkName) +} + +// Initialize is a paid mutator transaction binding the contract method 0x71257022. +// +// Solidity: function initialize(address _admin, address sequencer, uint32 networkID, address _gasTokenAddress, string sequencerURL, string _networkName) returns() +func (_Sequence *SequenceTransactorSession) Initialize(_admin common.Address, sequencer common.Address, networkID uint32, _gasTokenAddress common.Address, sequencerURL string, _networkName string) (*types.Transaction, error) { + return _Sequence.Contract.Initialize(&_Sequence.TransactOpts, _admin, sequencer, networkID, _gasTokenAddress, sequencerURL, _networkName) +} + +// OnVerifyBatches is a paid mutator transaction binding the contract method 0x32c2d153. +// +// Solidity: function onVerifyBatches(uint64 lastVerifiedBatch, bytes32 newStateRoot, address aggregator) returns() +func (_Sequence *SequenceTransactor) OnVerifyBatches(opts *bind.TransactOpts, lastVerifiedBatch uint64, newStateRoot [32]byte, aggregator common.Address) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "onVerifyBatches", lastVerifiedBatch, newStateRoot, aggregator) +} + +// OnVerifyBatches is a paid mutator transaction binding the contract method 0x32c2d153. +// +// Solidity: function onVerifyBatches(uint64 lastVerifiedBatch, bytes32 newStateRoot, address aggregator) returns() +func (_Sequence *SequenceSession) OnVerifyBatches(lastVerifiedBatch uint64, newStateRoot [32]byte, aggregator common.Address) (*types.Transaction, error) { + return _Sequence.Contract.OnVerifyBatches(&_Sequence.TransactOpts, lastVerifiedBatch, newStateRoot, aggregator) +} + +// OnVerifyBatches is a paid mutator transaction binding the contract method 0x32c2d153. +// +// Solidity: function onVerifyBatches(uint64 lastVerifiedBatch, bytes32 newStateRoot, address aggregator) returns() +func (_Sequence *SequenceTransactorSession) OnVerifyBatches(lastVerifiedBatch uint64, newStateRoot [32]byte, aggregator common.Address) (*types.Transaction, error) { + return _Sequence.Contract.OnVerifyBatches(&_Sequence.TransactOpts, lastVerifiedBatch, newStateRoot, aggregator) +} + +// SequenceBatches is a paid mutator transaction binding the contract method 0xdef57e54. +// +// Solidity: function sequenceBatches((bytes,bytes32,uint64,bytes32)[] batches, uint64 maxSequenceTimestamp, uint64 initSequencedBatch, address l2Coinbase) returns() +func (_Sequence *SequenceTransactor) SequenceBatches(opts *bind.TransactOpts, batches []PolygonRollupBaseEtrogBatchData, maxSequenceTimestamp uint64, initSequencedBatch uint64, l2Coinbase common.Address) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "sequenceBatches", batches, maxSequenceTimestamp, initSequencedBatch, l2Coinbase) +} + +// SequenceBatches is a paid mutator transaction binding the contract method 0xdef57e54. +// +// Solidity: function sequenceBatches((bytes,bytes32,uint64,bytes32)[] batches, uint64 maxSequenceTimestamp, uint64 initSequencedBatch, address l2Coinbase) returns() +func (_Sequence *SequenceSession) SequenceBatches(batches []PolygonRollupBaseEtrogBatchData, maxSequenceTimestamp uint64, initSequencedBatch uint64, l2Coinbase common.Address) (*types.Transaction, error) { + return _Sequence.Contract.SequenceBatches(&_Sequence.TransactOpts, batches, maxSequenceTimestamp, initSequencedBatch, l2Coinbase) +} + +// SequenceBatches is a paid mutator transaction binding the contract method 0xdef57e54. +// +// Solidity: function sequenceBatches((bytes,bytes32,uint64,bytes32)[] batches, uint64 maxSequenceTimestamp, uint64 initSequencedBatch, address l2Coinbase) returns() +func (_Sequence *SequenceTransactorSession) SequenceBatches(batches []PolygonRollupBaseEtrogBatchData, maxSequenceTimestamp uint64, initSequencedBatch uint64, l2Coinbase common.Address) (*types.Transaction, error) { + return _Sequence.Contract.SequenceBatches(&_Sequence.TransactOpts, batches, maxSequenceTimestamp, initSequencedBatch, l2Coinbase) +} + +// SequenceForceBatches is a paid mutator transaction binding the contract method 0x9f26f840. +// +// Solidity: function sequenceForceBatches((bytes,bytes32,uint64,bytes32)[] batches) returns() +func (_Sequence *SequenceTransactor) SequenceForceBatches(opts *bind.TransactOpts, batches []PolygonRollupBaseEtrogBatchData) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "sequenceForceBatches", batches) +} + +// SequenceForceBatches is a paid mutator transaction binding the contract method 0x9f26f840. +// +// Solidity: function sequenceForceBatches((bytes,bytes32,uint64,bytes32)[] batches) returns() +func (_Sequence *SequenceSession) SequenceForceBatches(batches []PolygonRollupBaseEtrogBatchData) (*types.Transaction, error) { + return _Sequence.Contract.SequenceForceBatches(&_Sequence.TransactOpts, batches) +} + +// SequenceForceBatches is a paid mutator transaction binding the contract method 0x9f26f840. +// +// Solidity: function sequenceForceBatches((bytes,bytes32,uint64,bytes32)[] batches) returns() +func (_Sequence *SequenceTransactorSession) SequenceForceBatches(batches []PolygonRollupBaseEtrogBatchData) (*types.Transaction, error) { + return _Sequence.Contract.SequenceForceBatches(&_Sequence.TransactOpts, batches) +} + +// SetForceBatchAddress is a paid mutator transaction binding the contract method 0x91cafe32. +// +// Solidity: function setForceBatchAddress(address newForceBatchAddress) returns() +func (_Sequence *SequenceTransactor) SetForceBatchAddress(opts *bind.TransactOpts, newForceBatchAddress common.Address) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "setForceBatchAddress", newForceBatchAddress) +} + +// SetForceBatchAddress is a paid mutator transaction binding the contract method 0x91cafe32. +// +// Solidity: function setForceBatchAddress(address newForceBatchAddress) returns() +func (_Sequence *SequenceSession) SetForceBatchAddress(newForceBatchAddress common.Address) (*types.Transaction, error) { + return _Sequence.Contract.SetForceBatchAddress(&_Sequence.TransactOpts, newForceBatchAddress) +} + +// SetForceBatchAddress is a paid mutator transaction binding the contract method 0x91cafe32. +// +// Solidity: function setForceBatchAddress(address newForceBatchAddress) returns() +func (_Sequence *SequenceTransactorSession) SetForceBatchAddress(newForceBatchAddress common.Address) (*types.Transaction, error) { + return _Sequence.Contract.SetForceBatchAddress(&_Sequence.TransactOpts, newForceBatchAddress) +} + +// SetForceBatchTimeout is a paid mutator transaction binding the contract method 0x4e487706. +// +// Solidity: function setForceBatchTimeout(uint64 newforceBatchTimeout) returns() +func (_Sequence *SequenceTransactor) SetForceBatchTimeout(opts *bind.TransactOpts, newforceBatchTimeout uint64) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "setForceBatchTimeout", newforceBatchTimeout) +} + +// SetForceBatchTimeout is a paid mutator transaction binding the contract method 0x4e487706. +// +// Solidity: function setForceBatchTimeout(uint64 newforceBatchTimeout) returns() +func (_Sequence *SequenceSession) SetForceBatchTimeout(newforceBatchTimeout uint64) (*types.Transaction, error) { + return _Sequence.Contract.SetForceBatchTimeout(&_Sequence.TransactOpts, newforceBatchTimeout) +} + +// SetForceBatchTimeout is a paid mutator transaction binding the contract method 0x4e487706. +// +// Solidity: function setForceBatchTimeout(uint64 newforceBatchTimeout) returns() +func (_Sequence *SequenceTransactorSession) SetForceBatchTimeout(newforceBatchTimeout uint64) (*types.Transaction, error) { + return _Sequence.Contract.SetForceBatchTimeout(&_Sequence.TransactOpts, newforceBatchTimeout) +} + +// SetTrustedSequencer is a paid mutator transaction binding the contract method 0x6ff512cc. +// +// Solidity: function setTrustedSequencer(address newTrustedSequencer) returns() +func (_Sequence *SequenceTransactor) SetTrustedSequencer(opts *bind.TransactOpts, newTrustedSequencer common.Address) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "setTrustedSequencer", newTrustedSequencer) +} + +// SetTrustedSequencer is a paid mutator transaction binding the contract method 0x6ff512cc. +// +// Solidity: function setTrustedSequencer(address newTrustedSequencer) returns() +func (_Sequence *SequenceSession) SetTrustedSequencer(newTrustedSequencer common.Address) (*types.Transaction, error) { + return _Sequence.Contract.SetTrustedSequencer(&_Sequence.TransactOpts, newTrustedSequencer) +} + +// SetTrustedSequencer is a paid mutator transaction binding the contract method 0x6ff512cc. +// +// Solidity: function setTrustedSequencer(address newTrustedSequencer) returns() +func (_Sequence *SequenceTransactorSession) SetTrustedSequencer(newTrustedSequencer common.Address) (*types.Transaction, error) { + return _Sequence.Contract.SetTrustedSequencer(&_Sequence.TransactOpts, newTrustedSequencer) +} + +// SetTrustedSequencerURL is a paid mutator transaction binding the contract method 0xc89e42df. +// +// Solidity: function setTrustedSequencerURL(string newTrustedSequencerURL) returns() +func (_Sequence *SequenceTransactor) SetTrustedSequencerURL(opts *bind.TransactOpts, newTrustedSequencerURL string) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "setTrustedSequencerURL", newTrustedSequencerURL) +} + +// SetTrustedSequencerURL is a paid mutator transaction binding the contract method 0xc89e42df. +// +// Solidity: function setTrustedSequencerURL(string newTrustedSequencerURL) returns() +func (_Sequence *SequenceSession) SetTrustedSequencerURL(newTrustedSequencerURL string) (*types.Transaction, error) { + return _Sequence.Contract.SetTrustedSequencerURL(&_Sequence.TransactOpts, newTrustedSequencerURL) +} + +// SetTrustedSequencerURL is a paid mutator transaction binding the contract method 0xc89e42df. +// +// Solidity: function setTrustedSequencerURL(string newTrustedSequencerURL) returns() +func (_Sequence *SequenceTransactorSession) SetTrustedSequencerURL(newTrustedSequencerURL string) (*types.Transaction, error) { + return _Sequence.Contract.SetTrustedSequencerURL(&_Sequence.TransactOpts, newTrustedSequencerURL) +} + +// TransferAdminRole is a paid mutator transaction binding the contract method 0xada8f919. +// +// Solidity: function transferAdminRole(address newPendingAdmin) returns() +func (_Sequence *SequenceTransactor) TransferAdminRole(opts *bind.TransactOpts, newPendingAdmin common.Address) (*types.Transaction, error) { + return _Sequence.contract.Transact(opts, "transferAdminRole", newPendingAdmin) +} + +// TransferAdminRole is a paid mutator transaction binding the contract method 0xada8f919. +// +// Solidity: function transferAdminRole(address newPendingAdmin) returns() +func (_Sequence *SequenceSession) TransferAdminRole(newPendingAdmin common.Address) (*types.Transaction, error) { + return _Sequence.Contract.TransferAdminRole(&_Sequence.TransactOpts, newPendingAdmin) +} + +// TransferAdminRole is a paid mutator transaction binding the contract method 0xada8f919. +// +// Solidity: function transferAdminRole(address newPendingAdmin) returns() +func (_Sequence *SequenceTransactorSession) TransferAdminRole(newPendingAdmin common.Address) (*types.Transaction, error) { + return _Sequence.Contract.TransferAdminRole(&_Sequence.TransactOpts, newPendingAdmin) +} + +// SequenceAcceptAdminRoleIterator is returned from FilterAcceptAdminRole and is used to iterate over the raw logs and unpacked data for AcceptAdminRole events raised by the Sequence contract. +type SequenceAcceptAdminRoleIterator struct { + Event *SequenceAcceptAdminRole // 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 *SequenceAcceptAdminRoleIterator) 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(SequenceAcceptAdminRole) + 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(SequenceAcceptAdminRole) + 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 *SequenceAcceptAdminRoleIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceAcceptAdminRoleIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceAcceptAdminRole represents a AcceptAdminRole event raised by the Sequence contract. +type SequenceAcceptAdminRole struct { + NewAdmin common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterAcceptAdminRole is a free log retrieval operation binding the contract event 0x056dc487bbf0795d0bbb1b4f0af523a855503cff740bfb4d5475f7a90c091e8e. +// +// Solidity: event AcceptAdminRole(address newAdmin) +func (_Sequence *SequenceFilterer) FilterAcceptAdminRole(opts *bind.FilterOpts) (*SequenceAcceptAdminRoleIterator, error) { + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "AcceptAdminRole") + if err != nil { + return nil, err + } + return &SequenceAcceptAdminRoleIterator{contract: _Sequence.contract, event: "AcceptAdminRole", logs: logs, sub: sub}, nil +} + +// WatchAcceptAdminRole is a free log subscription operation binding the contract event 0x056dc487bbf0795d0bbb1b4f0af523a855503cff740bfb4d5475f7a90c091e8e. +// +// Solidity: event AcceptAdminRole(address newAdmin) +func (_Sequence *SequenceFilterer) WatchAcceptAdminRole(opts *bind.WatchOpts, sink chan<- *SequenceAcceptAdminRole) (event.Subscription, error) { + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "AcceptAdminRole") + 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(SequenceAcceptAdminRole) + if err := _Sequence.contract.UnpackLog(event, "AcceptAdminRole", 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 +} + +// ParseAcceptAdminRole is a log parse operation binding the contract event 0x056dc487bbf0795d0bbb1b4f0af523a855503cff740bfb4d5475f7a90c091e8e. +// +// Solidity: event AcceptAdminRole(address newAdmin) +func (_Sequence *SequenceFilterer) ParseAcceptAdminRole(log types.Log) (*SequenceAcceptAdminRole, error) { + event := new(SequenceAcceptAdminRole) + if err := _Sequence.contract.UnpackLog(event, "AcceptAdminRole", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceForceBatchIterator is returned from FilterForceBatch and is used to iterate over the raw logs and unpacked data for ForceBatch events raised by the Sequence contract. +type SequenceForceBatchIterator struct { + Event *SequenceForceBatch // 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 *SequenceForceBatchIterator) 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(SequenceForceBatch) + 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(SequenceForceBatch) + 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 *SequenceForceBatchIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceForceBatchIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceForceBatch represents a ForceBatch event raised by the Sequence contract. +type SequenceForceBatch struct { + ForceBatchNum uint64 + LastGlobalExitRoot [32]byte + Sequencer common.Address + Transactions []byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterForceBatch is a free log retrieval operation binding the contract event 0xf94bb37db835f1ab585ee00041849a09b12cd081d77fa15ca070757619cbc931. +// +// Solidity: event ForceBatch(uint64 indexed forceBatchNum, bytes32 lastGlobalExitRoot, address sequencer, bytes transactions) +func (_Sequence *SequenceFilterer) FilterForceBatch(opts *bind.FilterOpts, forceBatchNum []uint64) (*SequenceForceBatchIterator, error) { + + var forceBatchNumRule []interface{} + for _, forceBatchNumItem := range forceBatchNum { + forceBatchNumRule = append(forceBatchNumRule, forceBatchNumItem) + } + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "ForceBatch", forceBatchNumRule) + if err != nil { + return nil, err + } + return &SequenceForceBatchIterator{contract: _Sequence.contract, event: "ForceBatch", logs: logs, sub: sub}, nil +} + +// WatchForceBatch is a free log subscription operation binding the contract event 0xf94bb37db835f1ab585ee00041849a09b12cd081d77fa15ca070757619cbc931. +// +// Solidity: event ForceBatch(uint64 indexed forceBatchNum, bytes32 lastGlobalExitRoot, address sequencer, bytes transactions) +func (_Sequence *SequenceFilterer) WatchForceBatch(opts *bind.WatchOpts, sink chan<- *SequenceForceBatch, forceBatchNum []uint64) (event.Subscription, error) { + + var forceBatchNumRule []interface{} + for _, forceBatchNumItem := range forceBatchNum { + forceBatchNumRule = append(forceBatchNumRule, forceBatchNumItem) + } + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "ForceBatch", forceBatchNumRule) + 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(SequenceForceBatch) + if err := _Sequence.contract.UnpackLog(event, "ForceBatch", 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 +} + +// ParseForceBatch is a log parse operation binding the contract event 0xf94bb37db835f1ab585ee00041849a09b12cd081d77fa15ca070757619cbc931. +// +// Solidity: event ForceBatch(uint64 indexed forceBatchNum, bytes32 lastGlobalExitRoot, address sequencer, bytes transactions) +func (_Sequence *SequenceFilterer) ParseForceBatch(log types.Log) (*SequenceForceBatch, error) { + event := new(SequenceForceBatch) + if err := _Sequence.contract.UnpackLog(event, "ForceBatch", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceInitialSequenceBatchesIterator is returned from FilterInitialSequenceBatches and is used to iterate over the raw logs and unpacked data for InitialSequenceBatches events raised by the Sequence contract. +type SequenceInitialSequenceBatchesIterator struct { + Event *SequenceInitialSequenceBatches // 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 *SequenceInitialSequenceBatchesIterator) 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(SequenceInitialSequenceBatches) + 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(SequenceInitialSequenceBatches) + 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 *SequenceInitialSequenceBatchesIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceInitialSequenceBatchesIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceInitialSequenceBatches represents a InitialSequenceBatches event raised by the Sequence contract. +type SequenceInitialSequenceBatches struct { + Transactions []byte + LastGlobalExitRoot [32]byte + Sequencer common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterInitialSequenceBatches is a free log retrieval operation binding the contract event 0x060116213bcbf54ca19fd649dc84b59ab2bbd200ab199770e4d923e222a28e7f. +// +// Solidity: event InitialSequenceBatches(bytes transactions, bytes32 lastGlobalExitRoot, address sequencer) +func (_Sequence *SequenceFilterer) FilterInitialSequenceBatches(opts *bind.FilterOpts) (*SequenceInitialSequenceBatchesIterator, error) { + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "InitialSequenceBatches") + if err != nil { + return nil, err + } + return &SequenceInitialSequenceBatchesIterator{contract: _Sequence.contract, event: "InitialSequenceBatches", logs: logs, sub: sub}, nil +} + +// WatchInitialSequenceBatches is a free log subscription operation binding the contract event 0x060116213bcbf54ca19fd649dc84b59ab2bbd200ab199770e4d923e222a28e7f. +// +// Solidity: event InitialSequenceBatches(bytes transactions, bytes32 lastGlobalExitRoot, address sequencer) +func (_Sequence *SequenceFilterer) WatchInitialSequenceBatches(opts *bind.WatchOpts, sink chan<- *SequenceInitialSequenceBatches) (event.Subscription, error) { + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "InitialSequenceBatches") + 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(SequenceInitialSequenceBatches) + if err := _Sequence.contract.UnpackLog(event, "InitialSequenceBatches", 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 +} + +// ParseInitialSequenceBatches is a log parse operation binding the contract event 0x060116213bcbf54ca19fd649dc84b59ab2bbd200ab199770e4d923e222a28e7f. +// +// Solidity: event InitialSequenceBatches(bytes transactions, bytes32 lastGlobalExitRoot, address sequencer) +func (_Sequence *SequenceFilterer) ParseInitialSequenceBatches(log types.Log) (*SequenceInitialSequenceBatches, error) { + event := new(SequenceInitialSequenceBatches) + if err := _Sequence.contract.UnpackLog(event, "InitialSequenceBatches", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the Sequence contract. +type SequenceInitializedIterator struct { + Event *SequenceInitialized // 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 *SequenceInitializedIterator) 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(SequenceInitialized) + 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(SequenceInitialized) + 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 *SequenceInitializedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceInitializedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceInitialized represents a Initialized event raised by the Sequence contract. +type SequenceInitialized struct { + Version uint8 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_Sequence *SequenceFilterer) FilterInitialized(opts *bind.FilterOpts) (*SequenceInitializedIterator, error) { + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "Initialized") + if err != nil { + return nil, err + } + return &SequenceInitializedIterator{contract: _Sequence.contract, event: "Initialized", logs: logs, sub: sub}, nil +} + +// WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_Sequence *SequenceFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *SequenceInitialized) (event.Subscription, error) { + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "Initialized") + 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(SequenceInitialized) + if err := _Sequence.contract.UnpackLog(event, "Initialized", 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 +} + +// ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_Sequence *SequenceFilterer) ParseInitialized(log types.Log) (*SequenceInitialized, error) { + event := new(SequenceInitialized) + if err := _Sequence.contract.UnpackLog(event, "Initialized", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceSequenceBatchesIterator is returned from FilterSequenceBatches and is used to iterate over the raw logs and unpacked data for SequenceBatches events raised by the Sequence contract. +type SequenceSequenceBatchesIterator struct { + Event *SequenceSequenceBatches // 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 *SequenceSequenceBatchesIterator) 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(SequenceSequenceBatches) + 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(SequenceSequenceBatches) + 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 *SequenceSequenceBatchesIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceSequenceBatchesIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceSequenceBatches represents a SequenceBatches event raised by the Sequence contract. +type SequenceSequenceBatches struct { + NumBatch uint64 + L1InfoRoot [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSequenceBatches is a free log retrieval operation binding the contract event 0x3e54d0825ed78523037d00a81759237eb436ce774bd546993ee67a1b67b6e766. +// +// Solidity: event SequenceBatches(uint64 indexed numBatch, bytes32 l1InfoRoot) +func (_Sequence *SequenceFilterer) FilterSequenceBatches(opts *bind.FilterOpts, numBatch []uint64) (*SequenceSequenceBatchesIterator, error) { + + var numBatchRule []interface{} + for _, numBatchItem := range numBatch { + numBatchRule = append(numBatchRule, numBatchItem) + } + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "SequenceBatches", numBatchRule) + if err != nil { + return nil, err + } + return &SequenceSequenceBatchesIterator{contract: _Sequence.contract, event: "SequenceBatches", logs: logs, sub: sub}, nil +} + +// WatchSequenceBatches is a free log subscription operation binding the contract event 0x3e54d0825ed78523037d00a81759237eb436ce774bd546993ee67a1b67b6e766. +// +// Solidity: event SequenceBatches(uint64 indexed numBatch, bytes32 l1InfoRoot) +func (_Sequence *SequenceFilterer) WatchSequenceBatches(opts *bind.WatchOpts, sink chan<- *SequenceSequenceBatches, numBatch []uint64) (event.Subscription, error) { + + var numBatchRule []interface{} + for _, numBatchItem := range numBatch { + numBatchRule = append(numBatchRule, numBatchItem) + } + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "SequenceBatches", numBatchRule) + 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(SequenceSequenceBatches) + if err := _Sequence.contract.UnpackLog(event, "SequenceBatches", 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 +} + +// ParseSequenceBatches is a log parse operation binding the contract event 0x3e54d0825ed78523037d00a81759237eb436ce774bd546993ee67a1b67b6e766. +// +// Solidity: event SequenceBatches(uint64 indexed numBatch, bytes32 l1InfoRoot) +func (_Sequence *SequenceFilterer) ParseSequenceBatches(log types.Log) (*SequenceSequenceBatches, error) { + event := new(SequenceSequenceBatches) + if err := _Sequence.contract.UnpackLog(event, "SequenceBatches", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceSequenceForceBatchesIterator is returned from FilterSequenceForceBatches and is used to iterate over the raw logs and unpacked data for SequenceForceBatches events raised by the Sequence contract. +type SequenceSequenceForceBatchesIterator struct { + Event *SequenceSequenceForceBatches // 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 *SequenceSequenceForceBatchesIterator) 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(SequenceSequenceForceBatches) + 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(SequenceSequenceForceBatches) + 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 *SequenceSequenceForceBatchesIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceSequenceForceBatchesIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceSequenceForceBatches represents a SequenceForceBatches event raised by the Sequence contract. +type SequenceSequenceForceBatches struct { + NumBatch uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSequenceForceBatches is a free log retrieval operation binding the contract event 0x648a61dd2438f072f5a1960939abd30f37aea80d2e94c9792ad142d3e0a490a4. +// +// Solidity: event SequenceForceBatches(uint64 indexed numBatch) +func (_Sequence *SequenceFilterer) FilterSequenceForceBatches(opts *bind.FilterOpts, numBatch []uint64) (*SequenceSequenceForceBatchesIterator, error) { + + var numBatchRule []interface{} + for _, numBatchItem := range numBatch { + numBatchRule = append(numBatchRule, numBatchItem) + } + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "SequenceForceBatches", numBatchRule) + if err != nil { + return nil, err + } + return &SequenceSequenceForceBatchesIterator{contract: _Sequence.contract, event: "SequenceForceBatches", logs: logs, sub: sub}, nil +} + +// WatchSequenceForceBatches is a free log subscription operation binding the contract event 0x648a61dd2438f072f5a1960939abd30f37aea80d2e94c9792ad142d3e0a490a4. +// +// Solidity: event SequenceForceBatches(uint64 indexed numBatch) +func (_Sequence *SequenceFilterer) WatchSequenceForceBatches(opts *bind.WatchOpts, sink chan<- *SequenceSequenceForceBatches, numBatch []uint64) (event.Subscription, error) { + + var numBatchRule []interface{} + for _, numBatchItem := range numBatch { + numBatchRule = append(numBatchRule, numBatchItem) + } + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "SequenceForceBatches", numBatchRule) + 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(SequenceSequenceForceBatches) + if err := _Sequence.contract.UnpackLog(event, "SequenceForceBatches", 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 +} + +// ParseSequenceForceBatches is a log parse operation binding the contract event 0x648a61dd2438f072f5a1960939abd30f37aea80d2e94c9792ad142d3e0a490a4. +// +// Solidity: event SequenceForceBatches(uint64 indexed numBatch) +func (_Sequence *SequenceFilterer) ParseSequenceForceBatches(log types.Log) (*SequenceSequenceForceBatches, error) { + event := new(SequenceSequenceForceBatches) + if err := _Sequence.contract.UnpackLog(event, "SequenceForceBatches", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceSetForceBatchAddressIterator is returned from FilterSetForceBatchAddress and is used to iterate over the raw logs and unpacked data for SetForceBatchAddress events raised by the Sequence contract. +type SequenceSetForceBatchAddressIterator struct { + Event *SequenceSetForceBatchAddress // 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 *SequenceSetForceBatchAddressIterator) 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(SequenceSetForceBatchAddress) + 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(SequenceSetForceBatchAddress) + 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 *SequenceSetForceBatchAddressIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceSetForceBatchAddressIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceSetForceBatchAddress represents a SetForceBatchAddress event raised by the Sequence contract. +type SequenceSetForceBatchAddress struct { + NewForceBatchAddress common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetForceBatchAddress is a free log retrieval operation binding the contract event 0x5fbd7dd171301c4a1611a84aac4ba86d119478560557755f7927595b082634fb. +// +// Solidity: event SetForceBatchAddress(address newForceBatchAddress) +func (_Sequence *SequenceFilterer) FilterSetForceBatchAddress(opts *bind.FilterOpts) (*SequenceSetForceBatchAddressIterator, error) { + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "SetForceBatchAddress") + if err != nil { + return nil, err + } + return &SequenceSetForceBatchAddressIterator{contract: _Sequence.contract, event: "SetForceBatchAddress", logs: logs, sub: sub}, nil +} + +// WatchSetForceBatchAddress is a free log subscription operation binding the contract event 0x5fbd7dd171301c4a1611a84aac4ba86d119478560557755f7927595b082634fb. +// +// Solidity: event SetForceBatchAddress(address newForceBatchAddress) +func (_Sequence *SequenceFilterer) WatchSetForceBatchAddress(opts *bind.WatchOpts, sink chan<- *SequenceSetForceBatchAddress) (event.Subscription, error) { + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "SetForceBatchAddress") + 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(SequenceSetForceBatchAddress) + if err := _Sequence.contract.UnpackLog(event, "SetForceBatchAddress", 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 +} + +// ParseSetForceBatchAddress is a log parse operation binding the contract event 0x5fbd7dd171301c4a1611a84aac4ba86d119478560557755f7927595b082634fb. +// +// Solidity: event SetForceBatchAddress(address newForceBatchAddress) +func (_Sequence *SequenceFilterer) ParseSetForceBatchAddress(log types.Log) (*SequenceSetForceBatchAddress, error) { + event := new(SequenceSetForceBatchAddress) + if err := _Sequence.contract.UnpackLog(event, "SetForceBatchAddress", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceSetForceBatchTimeoutIterator is returned from FilterSetForceBatchTimeout and is used to iterate over the raw logs and unpacked data for SetForceBatchTimeout events raised by the Sequence contract. +type SequenceSetForceBatchTimeoutIterator struct { + Event *SequenceSetForceBatchTimeout // 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 *SequenceSetForceBatchTimeoutIterator) 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(SequenceSetForceBatchTimeout) + 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(SequenceSetForceBatchTimeout) + 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 *SequenceSetForceBatchTimeoutIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceSetForceBatchTimeoutIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceSetForceBatchTimeout represents a SetForceBatchTimeout event raised by the Sequence contract. +type SequenceSetForceBatchTimeout struct { + NewforceBatchTimeout uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetForceBatchTimeout is a free log retrieval operation binding the contract event 0xa7eb6cb8a613eb4e8bddc1ac3d61ec6cf10898760f0b187bcca794c6ca6fa40b. +// +// Solidity: event SetForceBatchTimeout(uint64 newforceBatchTimeout) +func (_Sequence *SequenceFilterer) FilterSetForceBatchTimeout(opts *bind.FilterOpts) (*SequenceSetForceBatchTimeoutIterator, error) { + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "SetForceBatchTimeout") + if err != nil { + return nil, err + } + return &SequenceSetForceBatchTimeoutIterator{contract: _Sequence.contract, event: "SetForceBatchTimeout", logs: logs, sub: sub}, nil +} + +// WatchSetForceBatchTimeout is a free log subscription operation binding the contract event 0xa7eb6cb8a613eb4e8bddc1ac3d61ec6cf10898760f0b187bcca794c6ca6fa40b. +// +// Solidity: event SetForceBatchTimeout(uint64 newforceBatchTimeout) +func (_Sequence *SequenceFilterer) WatchSetForceBatchTimeout(opts *bind.WatchOpts, sink chan<- *SequenceSetForceBatchTimeout) (event.Subscription, error) { + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "SetForceBatchTimeout") + 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(SequenceSetForceBatchTimeout) + if err := _Sequence.contract.UnpackLog(event, "SetForceBatchTimeout", 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 +} + +// ParseSetForceBatchTimeout is a log parse operation binding the contract event 0xa7eb6cb8a613eb4e8bddc1ac3d61ec6cf10898760f0b187bcca794c6ca6fa40b. +// +// Solidity: event SetForceBatchTimeout(uint64 newforceBatchTimeout) +func (_Sequence *SequenceFilterer) ParseSetForceBatchTimeout(log types.Log) (*SequenceSetForceBatchTimeout, error) { + event := new(SequenceSetForceBatchTimeout) + if err := _Sequence.contract.UnpackLog(event, "SetForceBatchTimeout", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceSetTrustedSequencerIterator is returned from FilterSetTrustedSequencer and is used to iterate over the raw logs and unpacked data for SetTrustedSequencer events raised by the Sequence contract. +type SequenceSetTrustedSequencerIterator struct { + Event *SequenceSetTrustedSequencer // 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 *SequenceSetTrustedSequencerIterator) 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(SequenceSetTrustedSequencer) + 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(SequenceSetTrustedSequencer) + 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 *SequenceSetTrustedSequencerIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceSetTrustedSequencerIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceSetTrustedSequencer represents a SetTrustedSequencer event raised by the Sequence contract. +type SequenceSetTrustedSequencer struct { + NewTrustedSequencer common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetTrustedSequencer is a free log retrieval operation binding the contract event 0xf54144f9611984021529f814a1cb6a41e22c58351510a0d9f7e822618abb9cc0. +// +// Solidity: event SetTrustedSequencer(address newTrustedSequencer) +func (_Sequence *SequenceFilterer) FilterSetTrustedSequencer(opts *bind.FilterOpts) (*SequenceSetTrustedSequencerIterator, error) { + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "SetTrustedSequencer") + if err != nil { + return nil, err + } + return &SequenceSetTrustedSequencerIterator{contract: _Sequence.contract, event: "SetTrustedSequencer", logs: logs, sub: sub}, nil +} + +// WatchSetTrustedSequencer is a free log subscription operation binding the contract event 0xf54144f9611984021529f814a1cb6a41e22c58351510a0d9f7e822618abb9cc0. +// +// Solidity: event SetTrustedSequencer(address newTrustedSequencer) +func (_Sequence *SequenceFilterer) WatchSetTrustedSequencer(opts *bind.WatchOpts, sink chan<- *SequenceSetTrustedSequencer) (event.Subscription, error) { + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "SetTrustedSequencer") + 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(SequenceSetTrustedSequencer) + if err := _Sequence.contract.UnpackLog(event, "SetTrustedSequencer", 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 +} + +// ParseSetTrustedSequencer is a log parse operation binding the contract event 0xf54144f9611984021529f814a1cb6a41e22c58351510a0d9f7e822618abb9cc0. +// +// Solidity: event SetTrustedSequencer(address newTrustedSequencer) +func (_Sequence *SequenceFilterer) ParseSetTrustedSequencer(log types.Log) (*SequenceSetTrustedSequencer, error) { + event := new(SequenceSetTrustedSequencer) + if err := _Sequence.contract.UnpackLog(event, "SetTrustedSequencer", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceSetTrustedSequencerURLIterator is returned from FilterSetTrustedSequencerURL and is used to iterate over the raw logs and unpacked data for SetTrustedSequencerURL events raised by the Sequence contract. +type SequenceSetTrustedSequencerURLIterator struct { + Event *SequenceSetTrustedSequencerURL // 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 *SequenceSetTrustedSequencerURLIterator) 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(SequenceSetTrustedSequencerURL) + 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(SequenceSetTrustedSequencerURL) + 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 *SequenceSetTrustedSequencerURLIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceSetTrustedSequencerURLIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceSetTrustedSequencerURL represents a SetTrustedSequencerURL event raised by the Sequence contract. +type SequenceSetTrustedSequencerURL struct { + NewTrustedSequencerURL string + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetTrustedSequencerURL is a free log retrieval operation binding the contract event 0x6b8f723a4c7a5335cafae8a598a0aa0301be1387c037dccc085b62add6448b20. +// +// Solidity: event SetTrustedSequencerURL(string newTrustedSequencerURL) +func (_Sequence *SequenceFilterer) FilterSetTrustedSequencerURL(opts *bind.FilterOpts) (*SequenceSetTrustedSequencerURLIterator, error) { + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "SetTrustedSequencerURL") + if err != nil { + return nil, err + } + return &SequenceSetTrustedSequencerURLIterator{contract: _Sequence.contract, event: "SetTrustedSequencerURL", logs: logs, sub: sub}, nil +} + +// WatchSetTrustedSequencerURL is a free log subscription operation binding the contract event 0x6b8f723a4c7a5335cafae8a598a0aa0301be1387c037dccc085b62add6448b20. +// +// Solidity: event SetTrustedSequencerURL(string newTrustedSequencerURL) +func (_Sequence *SequenceFilterer) WatchSetTrustedSequencerURL(opts *bind.WatchOpts, sink chan<- *SequenceSetTrustedSequencerURL) (event.Subscription, error) { + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "SetTrustedSequencerURL") + 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(SequenceSetTrustedSequencerURL) + if err := _Sequence.contract.UnpackLog(event, "SetTrustedSequencerURL", 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 +} + +// ParseSetTrustedSequencerURL is a log parse operation binding the contract event 0x6b8f723a4c7a5335cafae8a598a0aa0301be1387c037dccc085b62add6448b20. +// +// Solidity: event SetTrustedSequencerURL(string newTrustedSequencerURL) +func (_Sequence *SequenceFilterer) ParseSetTrustedSequencerURL(log types.Log) (*SequenceSetTrustedSequencerURL, error) { + event := new(SequenceSetTrustedSequencerURL) + if err := _Sequence.contract.UnpackLog(event, "SetTrustedSequencerURL", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceTransferAdminRoleIterator is returned from FilterTransferAdminRole and is used to iterate over the raw logs and unpacked data for TransferAdminRole events raised by the Sequence contract. +type SequenceTransferAdminRoleIterator struct { + Event *SequenceTransferAdminRole // 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 *SequenceTransferAdminRoleIterator) 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(SequenceTransferAdminRole) + 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(SequenceTransferAdminRole) + 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 *SequenceTransferAdminRoleIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceTransferAdminRoleIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceTransferAdminRole represents a TransferAdminRole event raised by the Sequence contract. +type SequenceTransferAdminRole struct { + NewPendingAdmin common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterTransferAdminRole is a free log retrieval operation binding the contract event 0xa5b56b7906fd0a20e3f35120dd8343db1e12e037a6c90111c7e42885e82a1ce6. +// +// Solidity: event TransferAdminRole(address newPendingAdmin) +func (_Sequence *SequenceFilterer) FilterTransferAdminRole(opts *bind.FilterOpts) (*SequenceTransferAdminRoleIterator, error) { + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "TransferAdminRole") + if err != nil { + return nil, err + } + return &SequenceTransferAdminRoleIterator{contract: _Sequence.contract, event: "TransferAdminRole", logs: logs, sub: sub}, nil +} + +// WatchTransferAdminRole is a free log subscription operation binding the contract event 0xa5b56b7906fd0a20e3f35120dd8343db1e12e037a6c90111c7e42885e82a1ce6. +// +// Solidity: event TransferAdminRole(address newPendingAdmin) +func (_Sequence *SequenceFilterer) WatchTransferAdminRole(opts *bind.WatchOpts, sink chan<- *SequenceTransferAdminRole) (event.Subscription, error) { + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "TransferAdminRole") + 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(SequenceTransferAdminRole) + if err := _Sequence.contract.UnpackLog(event, "TransferAdminRole", 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 +} + +// ParseTransferAdminRole is a log parse operation binding the contract event 0xa5b56b7906fd0a20e3f35120dd8343db1e12e037a6c90111c7e42885e82a1ce6. +// +// Solidity: event TransferAdminRole(address newPendingAdmin) +func (_Sequence *SequenceFilterer) ParseTransferAdminRole(log types.Log) (*SequenceTransferAdminRole, error) { + event := new(SequenceTransferAdminRole) + if err := _Sequence.contract.UnpackLog(event, "TransferAdminRole", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SequenceVerifyBatchesIterator is returned from FilterVerifyBatches and is used to iterate over the raw logs and unpacked data for VerifyBatches events raised by the Sequence contract. +type SequenceVerifyBatchesIterator struct { + Event *SequenceVerifyBatches // 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 *SequenceVerifyBatchesIterator) 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(SequenceVerifyBatches) + 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(SequenceVerifyBatches) + 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 *SequenceVerifyBatchesIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SequenceVerifyBatchesIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SequenceVerifyBatches represents a VerifyBatches event raised by the Sequence contract. +type SequenceVerifyBatches struct { + NumBatch uint64 + StateRoot [32]byte + Aggregator common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterVerifyBatches is a free log retrieval operation binding the contract event 0x9c72852172521097ba7e1482e6b44b351323df0155f97f4ea18fcec28e1f5966. +// +// Solidity: event VerifyBatches(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) +func (_Sequence *SequenceFilterer) FilterVerifyBatches(opts *bind.FilterOpts, numBatch []uint64, aggregator []common.Address) (*SequenceVerifyBatchesIterator, error) { + + var numBatchRule []interface{} + for _, numBatchItem := range numBatch { + numBatchRule = append(numBatchRule, numBatchItem) + } + + var aggregatorRule []interface{} + for _, aggregatorItem := range aggregator { + aggregatorRule = append(aggregatorRule, aggregatorItem) + } + + logs, sub, err := _Sequence.contract.FilterLogs(opts, "VerifyBatches", numBatchRule, aggregatorRule) + if err != nil { + return nil, err + } + return &SequenceVerifyBatchesIterator{contract: _Sequence.contract, event: "VerifyBatches", logs: logs, sub: sub}, nil +} + +// WatchVerifyBatches is a free log subscription operation binding the contract event 0x9c72852172521097ba7e1482e6b44b351323df0155f97f4ea18fcec28e1f5966. +// +// Solidity: event VerifyBatches(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) +func (_Sequence *SequenceFilterer) WatchVerifyBatches(opts *bind.WatchOpts, sink chan<- *SequenceVerifyBatches, numBatch []uint64, aggregator []common.Address) (event.Subscription, error) { + + var numBatchRule []interface{} + for _, numBatchItem := range numBatch { + numBatchRule = append(numBatchRule, numBatchItem) + } + + var aggregatorRule []interface{} + for _, aggregatorItem := range aggregator { + aggregatorRule = append(aggregatorRule, aggregatorItem) + } + + logs, sub, err := _Sequence.contract.WatchLogs(opts, "VerifyBatches", numBatchRule, aggregatorRule) + 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(SequenceVerifyBatches) + if err := _Sequence.contract.UnpackLog(event, "VerifyBatches", 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 +} + +// ParseVerifyBatches is a log parse operation binding the contract event 0x9c72852172521097ba7e1482e6b44b351323df0155f97f4ea18fcec28e1f5966. +// +// Solidity: event VerifyBatches(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) +func (_Sequence *SequenceFilterer) ParseVerifyBatches(log types.Log) (*SequenceVerifyBatches, error) { + event := new(SequenceVerifyBatches) + if err := _Sequence.contract.UnpackLog(event, "VerifyBatches", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/pkg/contract/verify.go b/pkg/contract/verify.go new file mode 100644 index 0000000..b00d541 --- /dev/null +++ b/pkg/contract/verify.go @@ -0,0 +1,5036 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package contract + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription + _ = abi.ConvertType +) + +// LegacyZKEVMStateVariablesPendingState is an auto generated low-level Go binding around an user-defined struct. +type LegacyZKEVMStateVariablesPendingState struct { + Timestamp uint64 + LastVerifiedBatch uint64 + ExitRoot [32]byte + StateRoot [32]byte +} + +// LegacyZKEVMStateVariablesSequencedBatchData is an auto generated low-level Go binding around an user-defined struct. +type LegacyZKEVMStateVariablesSequencedBatchData struct { + AccInputHash [32]byte + SequencedTimestamp uint64 + PreviousLastBatchSequenced uint64 +} + +// VerifyMetaData contains all meta data concerning the Verify contract. +var VerifyMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"contractIPolygonZkEVMGlobalExitRootV2\",\"name\":\"_globalExitRootManager\",\"type\":\"address\"},{\"internalType\":\"contractIERC20Upgradeable\",\"name\":\"_pol\",\"type\":\"address\"},{\"internalType\":\"contractIPolygonZkEVMBridge\",\"name\":\"_bridgeAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlOnlyCanRenounceRolesForSelf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressDoNotHaveRequiredRole\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllzkEVMSequencedBatchesMustBeVerified\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BatchFeeOutOfRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ChainIDAlreadyExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedMaxVerifyBatches\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalNumBatchBelowLastVerifiedBatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalNumBatchDoesNotMatchPendingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalPendingStateNumInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HaltTimeoutNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitBatchMustMatchCurrentForkID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitNumBatchAboveLastVerifiedBatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitNumBatchDoesNotMatchPendingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRangeBatchTimeTarget\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRangeMultiplierBatchFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustSequenceSomeBatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewAccInputHashDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewPendingStateTimeoutMustBeLower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewStateRootNotInsidePrime\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewTrustedAggregatorTimeoutMustBeLower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OldAccInputHashDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OldStateRootDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyEmergencyState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyNotEmergencyState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateNotConsolidable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RollupAddressAlreadyExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RollupMustExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RollupTypeDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RollupTypeObsolete\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderMustBeRollup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoredRootMustBeDifferentThanNewRoot\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TrustedAggregatorTimeoutNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UpdateNotCompatible\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UpdateToSameRollupTypeID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"forkID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"rollupAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"rollupCompatibilityID\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastVerifiedBatchBeforeUpgrade\",\"type\":\"uint64\"}],\"name\":\"AddExistingRollup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupTypeID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"consensusImplementation\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"forkID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"rollupCompatibilityID\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"genesis\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"AddNewRollupType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"exitRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"}],\"name\":\"ConsolidatePendingState\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"rollupTypeID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"rollupAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasTokenAddress\",\"type\":\"address\"}],\"name\":\"CreateNewRollup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EmergencyStateActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EmergencyStateDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupTypeID\",\"type\":\"uint32\"}],\"name\":\"ObsoleteRollupType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastBatchSequenced\",\"type\":\"uint64\"}],\"name\":\"OnSequenceBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"exitRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"OverridePendingState\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"storedStateRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"provedStateRoot\",\"type\":\"bytes32\"}],\"name\":\"ProveNonDeterministicPendingState\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBatchFee\",\"type\":\"uint256\"}],\"name\":\"SetBatchFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"newMultiplierBatchFee\",\"type\":\"uint16\"}],\"name\":\"SetMultiplierBatchFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newPendingStateTimeout\",\"type\":\"uint64\"}],\"name\":\"SetPendingStateTimeout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTrustedAggregator\",\"type\":\"address\"}],\"name\":\"SetTrustedAggregator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newTrustedAggregatorTimeout\",\"type\":\"uint64\"}],\"name\":\"SetTrustedAggregatorTimeout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newVerifyBatchTimeTarget\",\"type\":\"uint64\"}],\"name\":\"SetVerifyBatchTimeTarget\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"newRollupTypeID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastVerifiedBatchBeforeUpgrade\",\"type\":\"uint64\"}],\"name\":\"UpdateRollup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"exitRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"VerifyBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"exitRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"VerifyBatchesTrustedAggregator\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activateEmergencyState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIPolygonRollupBase\",\"name\":\"rollupAddress\",\"type\":\"address\"},{\"internalType\":\"contractIVerifierRollup\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"forkID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"genesis\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"rollupCompatibilityID\",\"type\":\"uint8\"}],\"name\":\"addExistingRollup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"consensusImplementation\",\"type\":\"address\"},{\"internalType\":\"contractIVerifierRollup\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"forkID\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"rollupCompatibilityID\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"genesis\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"addNewRollupType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bridgeAddress\",\"outputs\":[{\"internalType\":\"contractIPolygonZkEVMBridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calculateRewardPerBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"}],\"name\":\"chainIDToRollupID\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"}],\"name\":\"consolidatePendingState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupTypeID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sequencer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"gasTokenAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"sequencerURL\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"networkName\",\"type\":\"string\"}],\"name\":\"createNewRollup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateEmergencyState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBatchFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getForcedBatchFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"oldStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"}],\"name\":\"getInputSnarkBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"}],\"name\":\"getLastVerifiedBatch\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"batchNum\",\"type\":\"uint64\"}],\"name\":\"getRollupBatchNumToStateRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRollupExitRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"batchNum\",\"type\":\"uint64\"}],\"name\":\"getRollupPendingStateTransitions\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"exitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"}],\"internalType\":\"structLegacyZKEVMStateVariables.PendingState\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"batchNum\",\"type\":\"uint64\"}],\"name\":\"getRollupSequencedBatches\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"accInputHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"sequencedTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"previousLastBatchSequenced\",\"type\":\"uint64\"}],\"internalType\":\"structLegacyZKEVMStateVariables.SequencedBatchData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"globalExitRootManager\",\"outputs\":[{\"internalType\":\"contractIPolygonZkEVMGlobalExitRootV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"trustedAggregator\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_pendingStateTimeout\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_trustedAggregatorTimeout\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"timelock\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"emergencyCouncil\",\"type\":\"address\"},{\"internalType\":\"contractPolygonZkEVMExistentEtrog\",\"name\":\"polygonZkEVM\",\"type\":\"address\"},{\"internalType\":\"contractIVerifierRollup\",\"name\":\"zkEVMVerifier\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"zkEVMForkID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"zkEVMChainID\",\"type\":\"uint64\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isEmergencyState\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"}],\"name\":\"isPendingStateConsolidable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastAggregationTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastDeactivatedEmergencyStateTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multiplierBatchFee\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupTypeID\",\"type\":\"uint32\"}],\"name\":\"obsoleteRollupType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newSequencedBatches\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newAccInputHash\",\"type\":\"bytes32\"}],\"name\":\"onSequenceBatches\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"initPendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalPendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[24]\",\"name\":\"proof\",\"type\":\"bytes32[24]\"}],\"name\":\"overridePendingState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingStateTimeout\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pol\",\"outputs\":[{\"internalType\":\"contractIERC20Upgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"initPendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalPendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[24]\",\"name\":\"proof\",\"type\":\"bytes32[24]\"}],\"name\":\"proveNonDeterministicPendingState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rollupAddress\",\"type\":\"address\"}],\"name\":\"rollupAddressToID\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollupCount\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"}],\"name\":\"rollupIDToRollupData\",\"outputs\":[{\"internalType\":\"contractIPolygonRollupBase\",\"name\":\"rollupContract\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"chainID\",\"type\":\"uint64\"},{\"internalType\":\"contractIVerifierRollup\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"forkID\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"lastLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastBatchSequenced\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastPendingState\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastPendingStateConsolidated\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBatchBeforeUpgrade\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"rollupTypeID\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"rollupCompatibilityID\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollupTypeCount\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupTypeID\",\"type\":\"uint32\"}],\"name\":\"rollupTypeMap\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"consensusImplementation\",\"type\":\"address\"},{\"internalType\":\"contractIVerifierRollup\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"forkID\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"rollupCompatibilityID\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"obsolete\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"genesis\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBatchFee\",\"type\":\"uint256\"}],\"name\":\"setBatchFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"newMultiplierBatchFee\",\"type\":\"uint16\"}],\"name\":\"setMultiplierBatchFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newPendingStateTimeout\",\"type\":\"uint64\"}],\"name\":\"setPendingStateTimeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newTrustedAggregatorTimeout\",\"type\":\"uint64\"}],\"name\":\"setTrustedAggregatorTimeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVerifyBatchTimeTarget\",\"type\":\"uint64\"}],\"name\":\"setVerifyBatchTimeTarget\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSequencedBatches\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalVerifiedBatches\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedAggregatorTimeout\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractITransparentUpgradeableProxy\",\"name\":\"rollupContract\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"newRollupTypeID\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"upgradeData\",\"type\":\"bytes\"}],\"name\":\"updateRollup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifyBatchTimeTarget\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32[24]\",\"name\":\"proof\",\"type\":\"bytes32[24]\"}],\"name\":\"verifyBatches\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rollupID\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32[24]\",\"name\":\"proof\",\"type\":\"bytes32[24]\"}],\"name\":\"verifyBatchesTrustedAggregator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", +} + +// VerifyABI is the input ABI used to generate the binding from. +// Deprecated: Use VerifyMetaData.ABI instead. +var VerifyABI = VerifyMetaData.ABI + +// Verify is an auto generated Go binding around an Ethereum contract. +type Verify struct { + VerifyCaller // Read-only binding to the contract + VerifyTransactor // Write-only binding to the contract + VerifyFilterer // Log filterer for contract events +} + +// VerifyCaller is an auto generated read-only Go binding around an Ethereum contract. +type VerifyCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// VerifyTransactor is an auto generated write-only Go binding around an Ethereum contract. +type VerifyTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// VerifyFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type VerifyFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// VerifySession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type VerifySession struct { + Contract *Verify // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// VerifyCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type VerifyCallerSession struct { + Contract *VerifyCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// VerifyTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type VerifyTransactorSession struct { + Contract *VerifyTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// VerifyRaw is an auto generated low-level Go binding around an Ethereum contract. +type VerifyRaw struct { + Contract *Verify // Generic contract binding to access the raw methods on +} + +// VerifyCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type VerifyCallerRaw struct { + Contract *VerifyCaller // Generic read-only contract binding to access the raw methods on +} + +// VerifyTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type VerifyTransactorRaw struct { + Contract *VerifyTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewVerify creates a new instance of Verify, bound to a specific deployed contract. +func NewVerify(address common.Address, backend bind.ContractBackend) (*Verify, error) { + contract, err := bindVerify(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &Verify{VerifyCaller: VerifyCaller{contract: contract}, VerifyTransactor: VerifyTransactor{contract: contract}, VerifyFilterer: VerifyFilterer{contract: contract}}, nil +} + +// NewVerifyCaller creates a new read-only instance of Verify, bound to a specific deployed contract. +func NewVerifyCaller(address common.Address, caller bind.ContractCaller) (*VerifyCaller, error) { + contract, err := bindVerify(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &VerifyCaller{contract: contract}, nil +} + +// NewVerifyTransactor creates a new write-only instance of Verify, bound to a specific deployed contract. +func NewVerifyTransactor(address common.Address, transactor bind.ContractTransactor) (*VerifyTransactor, error) { + contract, err := bindVerify(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &VerifyTransactor{contract: contract}, nil +} + +// NewVerifyFilterer creates a new log filterer instance of Verify, bound to a specific deployed contract. +func NewVerifyFilterer(address common.Address, filterer bind.ContractFilterer) (*VerifyFilterer, error) { + contract, err := bindVerify(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &VerifyFilterer{contract: contract}, nil +} + +// bindVerify binds a generic wrapper to an already deployed contract. +func bindVerify(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := VerifyMetaData.GetAbi() + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_Verify *VerifyRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _Verify.Contract.VerifyCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_Verify *VerifyRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Verify.Contract.VerifyTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_Verify *VerifyRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _Verify.Contract.VerifyTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_Verify *VerifyCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _Verify.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_Verify *VerifyTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Verify.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_Verify *VerifyTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _Verify.Contract.contract.Transact(opts, method, params...) +} + +// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. +// +// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) +func (_Verify *VerifyCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. +// +// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) +func (_Verify *VerifySession) DEFAULTADMINROLE() ([32]byte, error) { + return _Verify.Contract.DEFAULTADMINROLE(&_Verify.CallOpts) +} + +// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. +// +// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) +func (_Verify *VerifyCallerSession) DEFAULTADMINROLE() ([32]byte, error) { + return _Verify.Contract.DEFAULTADMINROLE(&_Verify.CallOpts) +} + +// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. +// +// Solidity: function bridgeAddress() view returns(address) +func (_Verify *VerifyCaller) BridgeAddress(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "bridgeAddress") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. +// +// Solidity: function bridgeAddress() view returns(address) +func (_Verify *VerifySession) BridgeAddress() (common.Address, error) { + return _Verify.Contract.BridgeAddress(&_Verify.CallOpts) +} + +// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. +// +// Solidity: function bridgeAddress() view returns(address) +func (_Verify *VerifyCallerSession) BridgeAddress() (common.Address, error) { + return _Verify.Contract.BridgeAddress(&_Verify.CallOpts) +} + +// CalculateRewardPerBatch is a free data retrieval call binding the contract method 0x99f5634e. +// +// Solidity: function calculateRewardPerBatch() view returns(uint256) +func (_Verify *VerifyCaller) CalculateRewardPerBatch(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "calculateRewardPerBatch") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// CalculateRewardPerBatch is a free data retrieval call binding the contract method 0x99f5634e. +// +// Solidity: function calculateRewardPerBatch() view returns(uint256) +func (_Verify *VerifySession) CalculateRewardPerBatch() (*big.Int, error) { + return _Verify.Contract.CalculateRewardPerBatch(&_Verify.CallOpts) +} + +// CalculateRewardPerBatch is a free data retrieval call binding the contract method 0x99f5634e. +// +// Solidity: function calculateRewardPerBatch() view returns(uint256) +func (_Verify *VerifyCallerSession) CalculateRewardPerBatch() (*big.Int, error) { + return _Verify.Contract.CalculateRewardPerBatch(&_Verify.CallOpts) +} + +// ChainIDToRollupID is a free data retrieval call binding the contract method 0x7fb6e76a. +// +// Solidity: function chainIDToRollupID(uint64 chainID) view returns(uint32 rollupID) +func (_Verify *VerifyCaller) ChainIDToRollupID(opts *bind.CallOpts, chainID uint64) (uint32, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "chainIDToRollupID", chainID) + + if err != nil { + return *new(uint32), err + } + + out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) + + return out0, err + +} + +// ChainIDToRollupID is a free data retrieval call binding the contract method 0x7fb6e76a. +// +// Solidity: function chainIDToRollupID(uint64 chainID) view returns(uint32 rollupID) +func (_Verify *VerifySession) ChainIDToRollupID(chainID uint64) (uint32, error) { + return _Verify.Contract.ChainIDToRollupID(&_Verify.CallOpts, chainID) +} + +// ChainIDToRollupID is a free data retrieval call binding the contract method 0x7fb6e76a. +// +// Solidity: function chainIDToRollupID(uint64 chainID) view returns(uint32 rollupID) +func (_Verify *VerifyCallerSession) ChainIDToRollupID(chainID uint64) (uint32, error) { + return _Verify.Contract.ChainIDToRollupID(&_Verify.CallOpts, chainID) +} + +// GetBatchFee is a free data retrieval call binding the contract method 0x477fa270. +// +// Solidity: function getBatchFee() view returns(uint256) +func (_Verify *VerifyCaller) GetBatchFee(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getBatchFee") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// GetBatchFee is a free data retrieval call binding the contract method 0x477fa270. +// +// Solidity: function getBatchFee() view returns(uint256) +func (_Verify *VerifySession) GetBatchFee() (*big.Int, error) { + return _Verify.Contract.GetBatchFee(&_Verify.CallOpts) +} + +// GetBatchFee is a free data retrieval call binding the contract method 0x477fa270. +// +// Solidity: function getBatchFee() view returns(uint256) +func (_Verify *VerifyCallerSession) GetBatchFee() (*big.Int, error) { + return _Verify.Contract.GetBatchFee(&_Verify.CallOpts) +} + +// GetForcedBatchFee is a free data retrieval call binding the contract method 0x60469169. +// +// Solidity: function getForcedBatchFee() view returns(uint256) +func (_Verify *VerifyCaller) GetForcedBatchFee(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getForcedBatchFee") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// GetForcedBatchFee is a free data retrieval call binding the contract method 0x60469169. +// +// Solidity: function getForcedBatchFee() view returns(uint256) +func (_Verify *VerifySession) GetForcedBatchFee() (*big.Int, error) { + return _Verify.Contract.GetForcedBatchFee(&_Verify.CallOpts) +} + +// GetForcedBatchFee is a free data retrieval call binding the contract method 0x60469169. +// +// Solidity: function getForcedBatchFee() view returns(uint256) +func (_Verify *VerifyCallerSession) GetForcedBatchFee() (*big.Int, error) { + return _Verify.Contract.GetForcedBatchFee(&_Verify.CallOpts) +} + +// GetInputSnarkBytes is a free data retrieval call binding the contract method 0x7975fcfe. +// +// Solidity: function getInputSnarkBytes(uint32 rollupID, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 oldStateRoot, bytes32 newStateRoot) view returns(bytes) +func (_Verify *VerifyCaller) GetInputSnarkBytes(opts *bind.CallOpts, rollupID uint32, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, oldStateRoot [32]byte, newStateRoot [32]byte) ([]byte, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getInputSnarkBytes", rollupID, initNumBatch, finalNewBatch, newLocalExitRoot, oldStateRoot, newStateRoot) + + if err != nil { + return *new([]byte), err + } + + out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) + + return out0, err + +} + +// GetInputSnarkBytes is a free data retrieval call binding the contract method 0x7975fcfe. +// +// Solidity: function getInputSnarkBytes(uint32 rollupID, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 oldStateRoot, bytes32 newStateRoot) view returns(bytes) +func (_Verify *VerifySession) GetInputSnarkBytes(rollupID uint32, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, oldStateRoot [32]byte, newStateRoot [32]byte) ([]byte, error) { + return _Verify.Contract.GetInputSnarkBytes(&_Verify.CallOpts, rollupID, initNumBatch, finalNewBatch, newLocalExitRoot, oldStateRoot, newStateRoot) +} + +// GetInputSnarkBytes is a free data retrieval call binding the contract method 0x7975fcfe. +// +// Solidity: function getInputSnarkBytes(uint32 rollupID, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 oldStateRoot, bytes32 newStateRoot) view returns(bytes) +func (_Verify *VerifyCallerSession) GetInputSnarkBytes(rollupID uint32, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, oldStateRoot [32]byte, newStateRoot [32]byte) ([]byte, error) { + return _Verify.Contract.GetInputSnarkBytes(&_Verify.CallOpts, rollupID, initNumBatch, finalNewBatch, newLocalExitRoot, oldStateRoot, newStateRoot) +} + +// GetLastVerifiedBatch is a free data retrieval call binding the contract method 0x11f6b287. +// +// Solidity: function getLastVerifiedBatch(uint32 rollupID) view returns(uint64) +func (_Verify *VerifyCaller) GetLastVerifiedBatch(opts *bind.CallOpts, rollupID uint32) (uint64, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getLastVerifiedBatch", rollupID) + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// GetLastVerifiedBatch is a free data retrieval call binding the contract method 0x11f6b287. +// +// Solidity: function getLastVerifiedBatch(uint32 rollupID) view returns(uint64) +func (_Verify *VerifySession) GetLastVerifiedBatch(rollupID uint32) (uint64, error) { + return _Verify.Contract.GetLastVerifiedBatch(&_Verify.CallOpts, rollupID) +} + +// GetLastVerifiedBatch is a free data retrieval call binding the contract method 0x11f6b287. +// +// Solidity: function getLastVerifiedBatch(uint32 rollupID) view returns(uint64) +func (_Verify *VerifyCallerSession) GetLastVerifiedBatch(rollupID uint32) (uint64, error) { + return _Verify.Contract.GetLastVerifiedBatch(&_Verify.CallOpts, rollupID) +} + +// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. +// +// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) +func (_Verify *VerifyCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getRoleAdmin", role) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. +// +// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) +func (_Verify *VerifySession) GetRoleAdmin(role [32]byte) ([32]byte, error) { + return _Verify.Contract.GetRoleAdmin(&_Verify.CallOpts, role) +} + +// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. +// +// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) +func (_Verify *VerifyCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { + return _Verify.Contract.GetRoleAdmin(&_Verify.CallOpts, role) +} + +// GetRollupBatchNumToStateRoot is a free data retrieval call binding the contract method 0x55a71ee0. +// +// Solidity: function getRollupBatchNumToStateRoot(uint32 rollupID, uint64 batchNum) view returns(bytes32) +func (_Verify *VerifyCaller) GetRollupBatchNumToStateRoot(opts *bind.CallOpts, rollupID uint32, batchNum uint64) ([32]byte, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getRollupBatchNumToStateRoot", rollupID, batchNum) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetRollupBatchNumToStateRoot is a free data retrieval call binding the contract method 0x55a71ee0. +// +// Solidity: function getRollupBatchNumToStateRoot(uint32 rollupID, uint64 batchNum) view returns(bytes32) +func (_Verify *VerifySession) GetRollupBatchNumToStateRoot(rollupID uint32, batchNum uint64) ([32]byte, error) { + return _Verify.Contract.GetRollupBatchNumToStateRoot(&_Verify.CallOpts, rollupID, batchNum) +} + +// GetRollupBatchNumToStateRoot is a free data retrieval call binding the contract method 0x55a71ee0. +// +// Solidity: function getRollupBatchNumToStateRoot(uint32 rollupID, uint64 batchNum) view returns(bytes32) +func (_Verify *VerifyCallerSession) GetRollupBatchNumToStateRoot(rollupID uint32, batchNum uint64) ([32]byte, error) { + return _Verify.Contract.GetRollupBatchNumToStateRoot(&_Verify.CallOpts, rollupID, batchNum) +} + +// GetRollupExitRoot is a free data retrieval call binding the contract method 0xa2967d99. +// +// Solidity: function getRollupExitRoot() view returns(bytes32) +func (_Verify *VerifyCaller) GetRollupExitRoot(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getRollupExitRoot") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetRollupExitRoot is a free data retrieval call binding the contract method 0xa2967d99. +// +// Solidity: function getRollupExitRoot() view returns(bytes32) +func (_Verify *VerifySession) GetRollupExitRoot() ([32]byte, error) { + return _Verify.Contract.GetRollupExitRoot(&_Verify.CallOpts) +} + +// GetRollupExitRoot is a free data retrieval call binding the contract method 0xa2967d99. +// +// Solidity: function getRollupExitRoot() view returns(bytes32) +func (_Verify *VerifyCallerSession) GetRollupExitRoot() ([32]byte, error) { + return _Verify.Contract.GetRollupExitRoot(&_Verify.CallOpts) +} + +// GetRollupPendingStateTransitions is a free data retrieval call binding the contract method 0xb99d0ad7. +// +// Solidity: function getRollupPendingStateTransitions(uint32 rollupID, uint64 batchNum) view returns((uint64,uint64,bytes32,bytes32)) +func (_Verify *VerifyCaller) GetRollupPendingStateTransitions(opts *bind.CallOpts, rollupID uint32, batchNum uint64) (LegacyZKEVMStateVariablesPendingState, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getRollupPendingStateTransitions", rollupID, batchNum) + + if err != nil { + return *new(LegacyZKEVMStateVariablesPendingState), err + } + + out0 := *abi.ConvertType(out[0], new(LegacyZKEVMStateVariablesPendingState)).(*LegacyZKEVMStateVariablesPendingState) + + return out0, err + +} + +// GetRollupPendingStateTransitions is a free data retrieval call binding the contract method 0xb99d0ad7. +// +// Solidity: function getRollupPendingStateTransitions(uint32 rollupID, uint64 batchNum) view returns((uint64,uint64,bytes32,bytes32)) +func (_Verify *VerifySession) GetRollupPendingStateTransitions(rollupID uint32, batchNum uint64) (LegacyZKEVMStateVariablesPendingState, error) { + return _Verify.Contract.GetRollupPendingStateTransitions(&_Verify.CallOpts, rollupID, batchNum) +} + +// GetRollupPendingStateTransitions is a free data retrieval call binding the contract method 0xb99d0ad7. +// +// Solidity: function getRollupPendingStateTransitions(uint32 rollupID, uint64 batchNum) view returns((uint64,uint64,bytes32,bytes32)) +func (_Verify *VerifyCallerSession) GetRollupPendingStateTransitions(rollupID uint32, batchNum uint64) (LegacyZKEVMStateVariablesPendingState, error) { + return _Verify.Contract.GetRollupPendingStateTransitions(&_Verify.CallOpts, rollupID, batchNum) +} + +// GetRollupSequencedBatches is a free data retrieval call binding the contract method 0x25280169. +// +// Solidity: function getRollupSequencedBatches(uint32 rollupID, uint64 batchNum) view returns((bytes32,uint64,uint64)) +func (_Verify *VerifyCaller) GetRollupSequencedBatches(opts *bind.CallOpts, rollupID uint32, batchNum uint64) (LegacyZKEVMStateVariablesSequencedBatchData, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "getRollupSequencedBatches", rollupID, batchNum) + + if err != nil { + return *new(LegacyZKEVMStateVariablesSequencedBatchData), err + } + + out0 := *abi.ConvertType(out[0], new(LegacyZKEVMStateVariablesSequencedBatchData)).(*LegacyZKEVMStateVariablesSequencedBatchData) + + return out0, err + +} + +// GetRollupSequencedBatches is a free data retrieval call binding the contract method 0x25280169. +// +// Solidity: function getRollupSequencedBatches(uint32 rollupID, uint64 batchNum) view returns((bytes32,uint64,uint64)) +func (_Verify *VerifySession) GetRollupSequencedBatches(rollupID uint32, batchNum uint64) (LegacyZKEVMStateVariablesSequencedBatchData, error) { + return _Verify.Contract.GetRollupSequencedBatches(&_Verify.CallOpts, rollupID, batchNum) +} + +// GetRollupSequencedBatches is a free data retrieval call binding the contract method 0x25280169. +// +// Solidity: function getRollupSequencedBatches(uint32 rollupID, uint64 batchNum) view returns((bytes32,uint64,uint64)) +func (_Verify *VerifyCallerSession) GetRollupSequencedBatches(rollupID uint32, batchNum uint64) (LegacyZKEVMStateVariablesSequencedBatchData, error) { + return _Verify.Contract.GetRollupSequencedBatches(&_Verify.CallOpts, rollupID, batchNum) +} + +// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. +// +// Solidity: function globalExitRootManager() view returns(address) +func (_Verify *VerifyCaller) GlobalExitRootManager(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "globalExitRootManager") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. +// +// Solidity: function globalExitRootManager() view returns(address) +func (_Verify *VerifySession) GlobalExitRootManager() (common.Address, error) { + return _Verify.Contract.GlobalExitRootManager(&_Verify.CallOpts) +} + +// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. +// +// Solidity: function globalExitRootManager() view returns(address) +func (_Verify *VerifyCallerSession) GlobalExitRootManager() (common.Address, error) { + return _Verify.Contract.GlobalExitRootManager(&_Verify.CallOpts) +} + +// HasRole is a free data retrieval call binding the contract method 0x91d14854. +// +// Solidity: function hasRole(bytes32 role, address account) view returns(bool) +func (_Verify *VerifyCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "hasRole", role, account) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// HasRole is a free data retrieval call binding the contract method 0x91d14854. +// +// Solidity: function hasRole(bytes32 role, address account) view returns(bool) +func (_Verify *VerifySession) HasRole(role [32]byte, account common.Address) (bool, error) { + return _Verify.Contract.HasRole(&_Verify.CallOpts, role, account) +} + +// HasRole is a free data retrieval call binding the contract method 0x91d14854. +// +// Solidity: function hasRole(bytes32 role, address account) view returns(bool) +func (_Verify *VerifyCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { + return _Verify.Contract.HasRole(&_Verify.CallOpts, role, account) +} + +// IsEmergencyState is a free data retrieval call binding the contract method 0x15064c96. +// +// Solidity: function isEmergencyState() view returns(bool) +func (_Verify *VerifyCaller) IsEmergencyState(opts *bind.CallOpts) (bool, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "isEmergencyState") + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// IsEmergencyState is a free data retrieval call binding the contract method 0x15064c96. +// +// Solidity: function isEmergencyState() view returns(bool) +func (_Verify *VerifySession) IsEmergencyState() (bool, error) { + return _Verify.Contract.IsEmergencyState(&_Verify.CallOpts) +} + +// IsEmergencyState is a free data retrieval call binding the contract method 0x15064c96. +// +// Solidity: function isEmergencyState() view returns(bool) +func (_Verify *VerifyCallerSession) IsEmergencyState() (bool, error) { + return _Verify.Contract.IsEmergencyState(&_Verify.CallOpts) +} + +// IsPendingStateConsolidable is a free data retrieval call binding the contract method 0x080b3111. +// +// Solidity: function isPendingStateConsolidable(uint32 rollupID, uint64 pendingStateNum) view returns(bool) +func (_Verify *VerifyCaller) IsPendingStateConsolidable(opts *bind.CallOpts, rollupID uint32, pendingStateNum uint64) (bool, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "isPendingStateConsolidable", rollupID, pendingStateNum) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// IsPendingStateConsolidable is a free data retrieval call binding the contract method 0x080b3111. +// +// Solidity: function isPendingStateConsolidable(uint32 rollupID, uint64 pendingStateNum) view returns(bool) +func (_Verify *VerifySession) IsPendingStateConsolidable(rollupID uint32, pendingStateNum uint64) (bool, error) { + return _Verify.Contract.IsPendingStateConsolidable(&_Verify.CallOpts, rollupID, pendingStateNum) +} + +// IsPendingStateConsolidable is a free data retrieval call binding the contract method 0x080b3111. +// +// Solidity: function isPendingStateConsolidable(uint32 rollupID, uint64 pendingStateNum) view returns(bool) +func (_Verify *VerifyCallerSession) IsPendingStateConsolidable(rollupID uint32, pendingStateNum uint64) (bool, error) { + return _Verify.Contract.IsPendingStateConsolidable(&_Verify.CallOpts, rollupID, pendingStateNum) +} + +// LastAggregationTimestamp is a free data retrieval call binding the contract method 0xc1acbc34. +// +// Solidity: function lastAggregationTimestamp() view returns(uint64) +func (_Verify *VerifyCaller) LastAggregationTimestamp(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "lastAggregationTimestamp") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// LastAggregationTimestamp is a free data retrieval call binding the contract method 0xc1acbc34. +// +// Solidity: function lastAggregationTimestamp() view returns(uint64) +func (_Verify *VerifySession) LastAggregationTimestamp() (uint64, error) { + return _Verify.Contract.LastAggregationTimestamp(&_Verify.CallOpts) +} + +// LastAggregationTimestamp is a free data retrieval call binding the contract method 0xc1acbc34. +// +// Solidity: function lastAggregationTimestamp() view returns(uint64) +func (_Verify *VerifyCallerSession) LastAggregationTimestamp() (uint64, error) { + return _Verify.Contract.LastAggregationTimestamp(&_Verify.CallOpts) +} + +// LastDeactivatedEmergencyStateTimestamp is a free data retrieval call binding the contract method 0x30c27dde. +// +// Solidity: function lastDeactivatedEmergencyStateTimestamp() view returns(uint64) +func (_Verify *VerifyCaller) LastDeactivatedEmergencyStateTimestamp(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "lastDeactivatedEmergencyStateTimestamp") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// LastDeactivatedEmergencyStateTimestamp is a free data retrieval call binding the contract method 0x30c27dde. +// +// Solidity: function lastDeactivatedEmergencyStateTimestamp() view returns(uint64) +func (_Verify *VerifySession) LastDeactivatedEmergencyStateTimestamp() (uint64, error) { + return _Verify.Contract.LastDeactivatedEmergencyStateTimestamp(&_Verify.CallOpts) +} + +// LastDeactivatedEmergencyStateTimestamp is a free data retrieval call binding the contract method 0x30c27dde. +// +// Solidity: function lastDeactivatedEmergencyStateTimestamp() view returns(uint64) +func (_Verify *VerifyCallerSession) LastDeactivatedEmergencyStateTimestamp() (uint64, error) { + return _Verify.Contract.LastDeactivatedEmergencyStateTimestamp(&_Verify.CallOpts) +} + +// MultiplierBatchFee is a free data retrieval call binding the contract method 0xafd23cbe. +// +// Solidity: function multiplierBatchFee() view returns(uint16) +func (_Verify *VerifyCaller) MultiplierBatchFee(opts *bind.CallOpts) (uint16, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "multiplierBatchFee") + + if err != nil { + return *new(uint16), err + } + + out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16) + + return out0, err + +} + +// MultiplierBatchFee is a free data retrieval call binding the contract method 0xafd23cbe. +// +// Solidity: function multiplierBatchFee() view returns(uint16) +func (_Verify *VerifySession) MultiplierBatchFee() (uint16, error) { + return _Verify.Contract.MultiplierBatchFee(&_Verify.CallOpts) +} + +// MultiplierBatchFee is a free data retrieval call binding the contract method 0xafd23cbe. +// +// Solidity: function multiplierBatchFee() view returns(uint16) +func (_Verify *VerifyCallerSession) MultiplierBatchFee() (uint16, error) { + return _Verify.Contract.MultiplierBatchFee(&_Verify.CallOpts) +} + +// PendingStateTimeout is a free data retrieval call binding the contract method 0xd939b315. +// +// Solidity: function pendingStateTimeout() view returns(uint64) +func (_Verify *VerifyCaller) PendingStateTimeout(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "pendingStateTimeout") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// PendingStateTimeout is a free data retrieval call binding the contract method 0xd939b315. +// +// Solidity: function pendingStateTimeout() view returns(uint64) +func (_Verify *VerifySession) PendingStateTimeout() (uint64, error) { + return _Verify.Contract.PendingStateTimeout(&_Verify.CallOpts) +} + +// PendingStateTimeout is a free data retrieval call binding the contract method 0xd939b315. +// +// Solidity: function pendingStateTimeout() view returns(uint64) +func (_Verify *VerifyCallerSession) PendingStateTimeout() (uint64, error) { + return _Verify.Contract.PendingStateTimeout(&_Verify.CallOpts) +} + +// Pol is a free data retrieval call binding the contract method 0xe46761c4. +// +// Solidity: function pol() view returns(address) +func (_Verify *VerifyCaller) Pol(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "pol") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Pol is a free data retrieval call binding the contract method 0xe46761c4. +// +// Solidity: function pol() view returns(address) +func (_Verify *VerifySession) Pol() (common.Address, error) { + return _Verify.Contract.Pol(&_Verify.CallOpts) +} + +// Pol is a free data retrieval call binding the contract method 0xe46761c4. +// +// Solidity: function pol() view returns(address) +func (_Verify *VerifyCallerSession) Pol() (common.Address, error) { + return _Verify.Contract.Pol(&_Verify.CallOpts) +} + +// RollupAddressToID is a free data retrieval call binding the contract method 0xceee281d. +// +// Solidity: function rollupAddressToID(address rollupAddress) view returns(uint32 rollupID) +func (_Verify *VerifyCaller) RollupAddressToID(opts *bind.CallOpts, rollupAddress common.Address) (uint32, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "rollupAddressToID", rollupAddress) + + if err != nil { + return *new(uint32), err + } + + out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) + + return out0, err + +} + +// RollupAddressToID is a free data retrieval call binding the contract method 0xceee281d. +// +// Solidity: function rollupAddressToID(address rollupAddress) view returns(uint32 rollupID) +func (_Verify *VerifySession) RollupAddressToID(rollupAddress common.Address) (uint32, error) { + return _Verify.Contract.RollupAddressToID(&_Verify.CallOpts, rollupAddress) +} + +// RollupAddressToID is a free data retrieval call binding the contract method 0xceee281d. +// +// Solidity: function rollupAddressToID(address rollupAddress) view returns(uint32 rollupID) +func (_Verify *VerifyCallerSession) RollupAddressToID(rollupAddress common.Address) (uint32, error) { + return _Verify.Contract.RollupAddressToID(&_Verify.CallOpts, rollupAddress) +} + +// RollupCount is a free data retrieval call binding the contract method 0xf4e92675. +// +// Solidity: function rollupCount() view returns(uint32) +func (_Verify *VerifyCaller) RollupCount(opts *bind.CallOpts) (uint32, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "rollupCount") + + if err != nil { + return *new(uint32), err + } + + out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) + + return out0, err + +} + +// RollupCount is a free data retrieval call binding the contract method 0xf4e92675. +// +// Solidity: function rollupCount() view returns(uint32) +func (_Verify *VerifySession) RollupCount() (uint32, error) { + return _Verify.Contract.RollupCount(&_Verify.CallOpts) +} + +// RollupCount is a free data retrieval call binding the contract method 0xf4e92675. +// +// Solidity: function rollupCount() view returns(uint32) +func (_Verify *VerifyCallerSession) RollupCount() (uint32, error) { + return _Verify.Contract.RollupCount(&_Verify.CallOpts) +} + +// RollupIDToRollupData is a free data retrieval call binding the contract method 0xf9c4c2ae. +// +// Solidity: function rollupIDToRollupData(uint32 rollupID) view returns(address rollupContract, uint64 chainID, address verifier, uint64 forkID, bytes32 lastLocalExitRoot, uint64 lastBatchSequenced, uint64 lastVerifiedBatch, uint64 lastPendingState, uint64 lastPendingStateConsolidated, uint64 lastVerifiedBatchBeforeUpgrade, uint64 rollupTypeID, uint8 rollupCompatibilityID) +func (_Verify *VerifyCaller) RollupIDToRollupData(opts *bind.CallOpts, rollupID uint32) (struct { + RollupContract common.Address + ChainID uint64 + Verifier common.Address + ForkID uint64 + LastLocalExitRoot [32]byte + LastBatchSequenced uint64 + LastVerifiedBatch uint64 + LastPendingState uint64 + LastPendingStateConsolidated uint64 + LastVerifiedBatchBeforeUpgrade uint64 + RollupTypeID uint64 + RollupCompatibilityID uint8 +}, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "rollupIDToRollupData", rollupID) + + outstruct := new(struct { + RollupContract common.Address + ChainID uint64 + Verifier common.Address + ForkID uint64 + LastLocalExitRoot [32]byte + LastBatchSequenced uint64 + LastVerifiedBatch uint64 + LastPendingState uint64 + LastPendingStateConsolidated uint64 + LastVerifiedBatchBeforeUpgrade uint64 + RollupTypeID uint64 + RollupCompatibilityID uint8 + }) + if err != nil { + return *outstruct, err + } + + outstruct.RollupContract = *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + outstruct.ChainID = *abi.ConvertType(out[1], new(uint64)).(*uint64) + outstruct.Verifier = *abi.ConvertType(out[2], new(common.Address)).(*common.Address) + outstruct.ForkID = *abi.ConvertType(out[3], new(uint64)).(*uint64) + outstruct.LastLocalExitRoot = *abi.ConvertType(out[4], new([32]byte)).(*[32]byte) + outstruct.LastBatchSequenced = *abi.ConvertType(out[5], new(uint64)).(*uint64) + outstruct.LastVerifiedBatch = *abi.ConvertType(out[6], new(uint64)).(*uint64) + outstruct.LastPendingState = *abi.ConvertType(out[7], new(uint64)).(*uint64) + outstruct.LastPendingStateConsolidated = *abi.ConvertType(out[8], new(uint64)).(*uint64) + outstruct.LastVerifiedBatchBeforeUpgrade = *abi.ConvertType(out[9], new(uint64)).(*uint64) + outstruct.RollupTypeID = *abi.ConvertType(out[10], new(uint64)).(*uint64) + outstruct.RollupCompatibilityID = *abi.ConvertType(out[11], new(uint8)).(*uint8) + + return *outstruct, err + +} + +// RollupIDToRollupData is a free data retrieval call binding the contract method 0xf9c4c2ae. +// +// Solidity: function rollupIDToRollupData(uint32 rollupID) view returns(address rollupContract, uint64 chainID, address verifier, uint64 forkID, bytes32 lastLocalExitRoot, uint64 lastBatchSequenced, uint64 lastVerifiedBatch, uint64 lastPendingState, uint64 lastPendingStateConsolidated, uint64 lastVerifiedBatchBeforeUpgrade, uint64 rollupTypeID, uint8 rollupCompatibilityID) +func (_Verify *VerifySession) RollupIDToRollupData(rollupID uint32) (struct { + RollupContract common.Address + ChainID uint64 + Verifier common.Address + ForkID uint64 + LastLocalExitRoot [32]byte + LastBatchSequenced uint64 + LastVerifiedBatch uint64 + LastPendingState uint64 + LastPendingStateConsolidated uint64 + LastVerifiedBatchBeforeUpgrade uint64 + RollupTypeID uint64 + RollupCompatibilityID uint8 +}, error) { + return _Verify.Contract.RollupIDToRollupData(&_Verify.CallOpts, rollupID) +} + +// RollupIDToRollupData is a free data retrieval call binding the contract method 0xf9c4c2ae. +// +// Solidity: function rollupIDToRollupData(uint32 rollupID) view returns(address rollupContract, uint64 chainID, address verifier, uint64 forkID, bytes32 lastLocalExitRoot, uint64 lastBatchSequenced, uint64 lastVerifiedBatch, uint64 lastPendingState, uint64 lastPendingStateConsolidated, uint64 lastVerifiedBatchBeforeUpgrade, uint64 rollupTypeID, uint8 rollupCompatibilityID) +func (_Verify *VerifyCallerSession) RollupIDToRollupData(rollupID uint32) (struct { + RollupContract common.Address + ChainID uint64 + Verifier common.Address + ForkID uint64 + LastLocalExitRoot [32]byte + LastBatchSequenced uint64 + LastVerifiedBatch uint64 + LastPendingState uint64 + LastPendingStateConsolidated uint64 + LastVerifiedBatchBeforeUpgrade uint64 + RollupTypeID uint64 + RollupCompatibilityID uint8 +}, error) { + return _Verify.Contract.RollupIDToRollupData(&_Verify.CallOpts, rollupID) +} + +// RollupTypeCount is a free data retrieval call binding the contract method 0x1796a1ae. +// +// Solidity: function rollupTypeCount() view returns(uint32) +func (_Verify *VerifyCaller) RollupTypeCount(opts *bind.CallOpts) (uint32, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "rollupTypeCount") + + if err != nil { + return *new(uint32), err + } + + out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) + + return out0, err + +} + +// RollupTypeCount is a free data retrieval call binding the contract method 0x1796a1ae. +// +// Solidity: function rollupTypeCount() view returns(uint32) +func (_Verify *VerifySession) RollupTypeCount() (uint32, error) { + return _Verify.Contract.RollupTypeCount(&_Verify.CallOpts) +} + +// RollupTypeCount is a free data retrieval call binding the contract method 0x1796a1ae. +// +// Solidity: function rollupTypeCount() view returns(uint32) +func (_Verify *VerifyCallerSession) RollupTypeCount() (uint32, error) { + return _Verify.Contract.RollupTypeCount(&_Verify.CallOpts) +} + +// RollupTypeMap is a free data retrieval call binding the contract method 0x65c0504d. +// +// Solidity: function rollupTypeMap(uint32 rollupTypeID) view returns(address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bool obsolete, bytes32 genesis) +func (_Verify *VerifyCaller) RollupTypeMap(opts *bind.CallOpts, rollupTypeID uint32) (struct { + ConsensusImplementation common.Address + Verifier common.Address + ForkID uint64 + RollupCompatibilityID uint8 + Obsolete bool + Genesis [32]byte +}, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "rollupTypeMap", rollupTypeID) + + outstruct := new(struct { + ConsensusImplementation common.Address + Verifier common.Address + ForkID uint64 + RollupCompatibilityID uint8 + Obsolete bool + Genesis [32]byte + }) + if err != nil { + return *outstruct, err + } + + outstruct.ConsensusImplementation = *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + outstruct.Verifier = *abi.ConvertType(out[1], new(common.Address)).(*common.Address) + outstruct.ForkID = *abi.ConvertType(out[2], new(uint64)).(*uint64) + outstruct.RollupCompatibilityID = *abi.ConvertType(out[3], new(uint8)).(*uint8) + outstruct.Obsolete = *abi.ConvertType(out[4], new(bool)).(*bool) + outstruct.Genesis = *abi.ConvertType(out[5], new([32]byte)).(*[32]byte) + + return *outstruct, err + +} + +// RollupTypeMap is a free data retrieval call binding the contract method 0x65c0504d. +// +// Solidity: function rollupTypeMap(uint32 rollupTypeID) view returns(address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bool obsolete, bytes32 genesis) +func (_Verify *VerifySession) RollupTypeMap(rollupTypeID uint32) (struct { + ConsensusImplementation common.Address + Verifier common.Address + ForkID uint64 + RollupCompatibilityID uint8 + Obsolete bool + Genesis [32]byte +}, error) { + return _Verify.Contract.RollupTypeMap(&_Verify.CallOpts, rollupTypeID) +} + +// RollupTypeMap is a free data retrieval call binding the contract method 0x65c0504d. +// +// Solidity: function rollupTypeMap(uint32 rollupTypeID) view returns(address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bool obsolete, bytes32 genesis) +func (_Verify *VerifyCallerSession) RollupTypeMap(rollupTypeID uint32) (struct { + ConsensusImplementation common.Address + Verifier common.Address + ForkID uint64 + RollupCompatibilityID uint8 + Obsolete bool + Genesis [32]byte +}, error) { + return _Verify.Contract.RollupTypeMap(&_Verify.CallOpts, rollupTypeID) +} + +// TotalSequencedBatches is a free data retrieval call binding the contract method 0x066ec012. +// +// Solidity: function totalSequencedBatches() view returns(uint64) +func (_Verify *VerifyCaller) TotalSequencedBatches(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "totalSequencedBatches") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// TotalSequencedBatches is a free data retrieval call binding the contract method 0x066ec012. +// +// Solidity: function totalSequencedBatches() view returns(uint64) +func (_Verify *VerifySession) TotalSequencedBatches() (uint64, error) { + return _Verify.Contract.TotalSequencedBatches(&_Verify.CallOpts) +} + +// TotalSequencedBatches is a free data retrieval call binding the contract method 0x066ec012. +// +// Solidity: function totalSequencedBatches() view returns(uint64) +func (_Verify *VerifyCallerSession) TotalSequencedBatches() (uint64, error) { + return _Verify.Contract.TotalSequencedBatches(&_Verify.CallOpts) +} + +// TotalVerifiedBatches is a free data retrieval call binding the contract method 0xdde0ff77. +// +// Solidity: function totalVerifiedBatches() view returns(uint64) +func (_Verify *VerifyCaller) TotalVerifiedBatches(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "totalVerifiedBatches") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// TotalVerifiedBatches is a free data retrieval call binding the contract method 0xdde0ff77. +// +// Solidity: function totalVerifiedBatches() view returns(uint64) +func (_Verify *VerifySession) TotalVerifiedBatches() (uint64, error) { + return _Verify.Contract.TotalVerifiedBatches(&_Verify.CallOpts) +} + +// TotalVerifiedBatches is a free data retrieval call binding the contract method 0xdde0ff77. +// +// Solidity: function totalVerifiedBatches() view returns(uint64) +func (_Verify *VerifyCallerSession) TotalVerifiedBatches() (uint64, error) { + return _Verify.Contract.TotalVerifiedBatches(&_Verify.CallOpts) +} + +// TrustedAggregatorTimeout is a free data retrieval call binding the contract method 0x841b24d7. +// +// Solidity: function trustedAggregatorTimeout() view returns(uint64) +func (_Verify *VerifyCaller) TrustedAggregatorTimeout(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "trustedAggregatorTimeout") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// TrustedAggregatorTimeout is a free data retrieval call binding the contract method 0x841b24d7. +// +// Solidity: function trustedAggregatorTimeout() view returns(uint64) +func (_Verify *VerifySession) TrustedAggregatorTimeout() (uint64, error) { + return _Verify.Contract.TrustedAggregatorTimeout(&_Verify.CallOpts) +} + +// TrustedAggregatorTimeout is a free data retrieval call binding the contract method 0x841b24d7. +// +// Solidity: function trustedAggregatorTimeout() view returns(uint64) +func (_Verify *VerifyCallerSession) TrustedAggregatorTimeout() (uint64, error) { + return _Verify.Contract.TrustedAggregatorTimeout(&_Verify.CallOpts) +} + +// VerifyBatchTimeTarget is a free data retrieval call binding the contract method 0x0a0d9fbe. +// +// Solidity: function verifyBatchTimeTarget() view returns(uint64) +func (_Verify *VerifyCaller) VerifyBatchTimeTarget(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _Verify.contract.Call(opts, &out, "verifyBatchTimeTarget") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// VerifyBatchTimeTarget is a free data retrieval call binding the contract method 0x0a0d9fbe. +// +// Solidity: function verifyBatchTimeTarget() view returns(uint64) +func (_Verify *VerifySession) VerifyBatchTimeTarget() (uint64, error) { + return _Verify.Contract.VerifyBatchTimeTarget(&_Verify.CallOpts) +} + +// VerifyBatchTimeTarget is a free data retrieval call binding the contract method 0x0a0d9fbe. +// +// Solidity: function verifyBatchTimeTarget() view returns(uint64) +func (_Verify *VerifyCallerSession) VerifyBatchTimeTarget() (uint64, error) { + return _Verify.Contract.VerifyBatchTimeTarget(&_Verify.CallOpts) +} + +// ActivateEmergencyState is a paid mutator transaction binding the contract method 0x2072f6c5. +// +// Solidity: function activateEmergencyState() returns() +func (_Verify *VerifyTransactor) ActivateEmergencyState(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "activateEmergencyState") +} + +// ActivateEmergencyState is a paid mutator transaction binding the contract method 0x2072f6c5. +// +// Solidity: function activateEmergencyState() returns() +func (_Verify *VerifySession) ActivateEmergencyState() (*types.Transaction, error) { + return _Verify.Contract.ActivateEmergencyState(&_Verify.TransactOpts) +} + +// ActivateEmergencyState is a paid mutator transaction binding the contract method 0x2072f6c5. +// +// Solidity: function activateEmergencyState() returns() +func (_Verify *VerifyTransactorSession) ActivateEmergencyState() (*types.Transaction, error) { + return _Verify.Contract.ActivateEmergencyState(&_Verify.TransactOpts) +} + +// AddExistingRollup is a paid mutator transaction binding the contract method 0xe0bfd3d2. +// +// Solidity: function addExistingRollup(address rollupAddress, address verifier, uint64 forkID, uint64 chainID, bytes32 genesis, uint8 rollupCompatibilityID) returns() +func (_Verify *VerifyTransactor) AddExistingRollup(opts *bind.TransactOpts, rollupAddress common.Address, verifier common.Address, forkID uint64, chainID uint64, genesis [32]byte, rollupCompatibilityID uint8) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "addExistingRollup", rollupAddress, verifier, forkID, chainID, genesis, rollupCompatibilityID) +} + +// AddExistingRollup is a paid mutator transaction binding the contract method 0xe0bfd3d2. +// +// Solidity: function addExistingRollup(address rollupAddress, address verifier, uint64 forkID, uint64 chainID, bytes32 genesis, uint8 rollupCompatibilityID) returns() +func (_Verify *VerifySession) AddExistingRollup(rollupAddress common.Address, verifier common.Address, forkID uint64, chainID uint64, genesis [32]byte, rollupCompatibilityID uint8) (*types.Transaction, error) { + return _Verify.Contract.AddExistingRollup(&_Verify.TransactOpts, rollupAddress, verifier, forkID, chainID, genesis, rollupCompatibilityID) +} + +// AddExistingRollup is a paid mutator transaction binding the contract method 0xe0bfd3d2. +// +// Solidity: function addExistingRollup(address rollupAddress, address verifier, uint64 forkID, uint64 chainID, bytes32 genesis, uint8 rollupCompatibilityID) returns() +func (_Verify *VerifyTransactorSession) AddExistingRollup(rollupAddress common.Address, verifier common.Address, forkID uint64, chainID uint64, genesis [32]byte, rollupCompatibilityID uint8) (*types.Transaction, error) { + return _Verify.Contract.AddExistingRollup(&_Verify.TransactOpts, rollupAddress, verifier, forkID, chainID, genesis, rollupCompatibilityID) +} + +// AddNewRollupType is a paid mutator transaction binding the contract method 0xf34eb8eb. +// +// Solidity: function addNewRollupType(address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bytes32 genesis, string description) returns() +func (_Verify *VerifyTransactor) AddNewRollupType(opts *bind.TransactOpts, consensusImplementation common.Address, verifier common.Address, forkID uint64, rollupCompatibilityID uint8, genesis [32]byte, description string) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "addNewRollupType", consensusImplementation, verifier, forkID, rollupCompatibilityID, genesis, description) +} + +// AddNewRollupType is a paid mutator transaction binding the contract method 0xf34eb8eb. +// +// Solidity: function addNewRollupType(address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bytes32 genesis, string description) returns() +func (_Verify *VerifySession) AddNewRollupType(consensusImplementation common.Address, verifier common.Address, forkID uint64, rollupCompatibilityID uint8, genesis [32]byte, description string) (*types.Transaction, error) { + return _Verify.Contract.AddNewRollupType(&_Verify.TransactOpts, consensusImplementation, verifier, forkID, rollupCompatibilityID, genesis, description) +} + +// AddNewRollupType is a paid mutator transaction binding the contract method 0xf34eb8eb. +// +// Solidity: function addNewRollupType(address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bytes32 genesis, string description) returns() +func (_Verify *VerifyTransactorSession) AddNewRollupType(consensusImplementation common.Address, verifier common.Address, forkID uint64, rollupCompatibilityID uint8, genesis [32]byte, description string) (*types.Transaction, error) { + return _Verify.Contract.AddNewRollupType(&_Verify.TransactOpts, consensusImplementation, verifier, forkID, rollupCompatibilityID, genesis, description) +} + +// ConsolidatePendingState is a paid mutator transaction binding the contract method 0x1608859c. +// +// Solidity: function consolidatePendingState(uint32 rollupID, uint64 pendingStateNum) returns() +func (_Verify *VerifyTransactor) ConsolidatePendingState(opts *bind.TransactOpts, rollupID uint32, pendingStateNum uint64) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "consolidatePendingState", rollupID, pendingStateNum) +} + +// ConsolidatePendingState is a paid mutator transaction binding the contract method 0x1608859c. +// +// Solidity: function consolidatePendingState(uint32 rollupID, uint64 pendingStateNum) returns() +func (_Verify *VerifySession) ConsolidatePendingState(rollupID uint32, pendingStateNum uint64) (*types.Transaction, error) { + return _Verify.Contract.ConsolidatePendingState(&_Verify.TransactOpts, rollupID, pendingStateNum) +} + +// ConsolidatePendingState is a paid mutator transaction binding the contract method 0x1608859c. +// +// Solidity: function consolidatePendingState(uint32 rollupID, uint64 pendingStateNum) returns() +func (_Verify *VerifyTransactorSession) ConsolidatePendingState(rollupID uint32, pendingStateNum uint64) (*types.Transaction, error) { + return _Verify.Contract.ConsolidatePendingState(&_Verify.TransactOpts, rollupID, pendingStateNum) +} + +// CreateNewRollup is a paid mutator transaction binding the contract method 0x727885e9. +// +// Solidity: function createNewRollup(uint32 rollupTypeID, uint64 chainID, address admin, address sequencer, address gasTokenAddress, string sequencerURL, string networkName) returns() +func (_Verify *VerifyTransactor) CreateNewRollup(opts *bind.TransactOpts, rollupTypeID uint32, chainID uint64, admin common.Address, sequencer common.Address, gasTokenAddress common.Address, sequencerURL string, networkName string) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "createNewRollup", rollupTypeID, chainID, admin, sequencer, gasTokenAddress, sequencerURL, networkName) +} + +// CreateNewRollup is a paid mutator transaction binding the contract method 0x727885e9. +// +// Solidity: function createNewRollup(uint32 rollupTypeID, uint64 chainID, address admin, address sequencer, address gasTokenAddress, string sequencerURL, string networkName) returns() +func (_Verify *VerifySession) CreateNewRollup(rollupTypeID uint32, chainID uint64, admin common.Address, sequencer common.Address, gasTokenAddress common.Address, sequencerURL string, networkName string) (*types.Transaction, error) { + return _Verify.Contract.CreateNewRollup(&_Verify.TransactOpts, rollupTypeID, chainID, admin, sequencer, gasTokenAddress, sequencerURL, networkName) +} + +// CreateNewRollup is a paid mutator transaction binding the contract method 0x727885e9. +// +// Solidity: function createNewRollup(uint32 rollupTypeID, uint64 chainID, address admin, address sequencer, address gasTokenAddress, string sequencerURL, string networkName) returns() +func (_Verify *VerifyTransactorSession) CreateNewRollup(rollupTypeID uint32, chainID uint64, admin common.Address, sequencer common.Address, gasTokenAddress common.Address, sequencerURL string, networkName string) (*types.Transaction, error) { + return _Verify.Contract.CreateNewRollup(&_Verify.TransactOpts, rollupTypeID, chainID, admin, sequencer, gasTokenAddress, sequencerURL, networkName) +} + +// DeactivateEmergencyState is a paid mutator transaction binding the contract method 0xdbc16976. +// +// Solidity: function deactivateEmergencyState() returns() +func (_Verify *VerifyTransactor) DeactivateEmergencyState(opts *bind.TransactOpts) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "deactivateEmergencyState") +} + +// DeactivateEmergencyState is a paid mutator transaction binding the contract method 0xdbc16976. +// +// Solidity: function deactivateEmergencyState() returns() +func (_Verify *VerifySession) DeactivateEmergencyState() (*types.Transaction, error) { + return _Verify.Contract.DeactivateEmergencyState(&_Verify.TransactOpts) +} + +// DeactivateEmergencyState is a paid mutator transaction binding the contract method 0xdbc16976. +// +// Solidity: function deactivateEmergencyState() returns() +func (_Verify *VerifyTransactorSession) DeactivateEmergencyState() (*types.Transaction, error) { + return _Verify.Contract.DeactivateEmergencyState(&_Verify.TransactOpts) +} + +// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. +// +// Solidity: function grantRole(bytes32 role, address account) returns() +func (_Verify *VerifyTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "grantRole", role, account) +} + +// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. +// +// Solidity: function grantRole(bytes32 role, address account) returns() +func (_Verify *VerifySession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.Contract.GrantRole(&_Verify.TransactOpts, role, account) +} + +// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. +// +// Solidity: function grantRole(bytes32 role, address account) returns() +func (_Verify *VerifyTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.Contract.GrantRole(&_Verify.TransactOpts, role, account) +} + +// Initialize is a paid mutator transaction binding the contract method 0x0645af09. +// +// Solidity: function initialize(address trustedAggregator, uint64 _pendingStateTimeout, uint64 _trustedAggregatorTimeout, address admin, address timelock, address emergencyCouncil, address polygonZkEVM, address zkEVMVerifier, uint64 zkEVMForkID, uint64 zkEVMChainID) returns() +func (_Verify *VerifyTransactor) Initialize(opts *bind.TransactOpts, trustedAggregator common.Address, _pendingStateTimeout uint64, _trustedAggregatorTimeout uint64, admin common.Address, timelock common.Address, emergencyCouncil common.Address, polygonZkEVM common.Address, zkEVMVerifier common.Address, zkEVMForkID uint64, zkEVMChainID uint64) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "initialize", trustedAggregator, _pendingStateTimeout, _trustedAggregatorTimeout, admin, timelock, emergencyCouncil, polygonZkEVM, zkEVMVerifier, zkEVMForkID, zkEVMChainID) +} + +// Initialize is a paid mutator transaction binding the contract method 0x0645af09. +// +// Solidity: function initialize(address trustedAggregator, uint64 _pendingStateTimeout, uint64 _trustedAggregatorTimeout, address admin, address timelock, address emergencyCouncil, address polygonZkEVM, address zkEVMVerifier, uint64 zkEVMForkID, uint64 zkEVMChainID) returns() +func (_Verify *VerifySession) Initialize(trustedAggregator common.Address, _pendingStateTimeout uint64, _trustedAggregatorTimeout uint64, admin common.Address, timelock common.Address, emergencyCouncil common.Address, polygonZkEVM common.Address, zkEVMVerifier common.Address, zkEVMForkID uint64, zkEVMChainID uint64) (*types.Transaction, error) { + return _Verify.Contract.Initialize(&_Verify.TransactOpts, trustedAggregator, _pendingStateTimeout, _trustedAggregatorTimeout, admin, timelock, emergencyCouncil, polygonZkEVM, zkEVMVerifier, zkEVMForkID, zkEVMChainID) +} + +// Initialize is a paid mutator transaction binding the contract method 0x0645af09. +// +// Solidity: function initialize(address trustedAggregator, uint64 _pendingStateTimeout, uint64 _trustedAggregatorTimeout, address admin, address timelock, address emergencyCouncil, address polygonZkEVM, address zkEVMVerifier, uint64 zkEVMForkID, uint64 zkEVMChainID) returns() +func (_Verify *VerifyTransactorSession) Initialize(trustedAggregator common.Address, _pendingStateTimeout uint64, _trustedAggregatorTimeout uint64, admin common.Address, timelock common.Address, emergencyCouncil common.Address, polygonZkEVM common.Address, zkEVMVerifier common.Address, zkEVMForkID uint64, zkEVMChainID uint64) (*types.Transaction, error) { + return _Verify.Contract.Initialize(&_Verify.TransactOpts, trustedAggregator, _pendingStateTimeout, _trustedAggregatorTimeout, admin, timelock, emergencyCouncil, polygonZkEVM, zkEVMVerifier, zkEVMForkID, zkEVMChainID) +} + +// ObsoleteRollupType is a paid mutator transaction binding the contract method 0x7222020f. +// +// Solidity: function obsoleteRollupType(uint32 rollupTypeID) returns() +func (_Verify *VerifyTransactor) ObsoleteRollupType(opts *bind.TransactOpts, rollupTypeID uint32) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "obsoleteRollupType", rollupTypeID) +} + +// ObsoleteRollupType is a paid mutator transaction binding the contract method 0x7222020f. +// +// Solidity: function obsoleteRollupType(uint32 rollupTypeID) returns() +func (_Verify *VerifySession) ObsoleteRollupType(rollupTypeID uint32) (*types.Transaction, error) { + return _Verify.Contract.ObsoleteRollupType(&_Verify.TransactOpts, rollupTypeID) +} + +// ObsoleteRollupType is a paid mutator transaction binding the contract method 0x7222020f. +// +// Solidity: function obsoleteRollupType(uint32 rollupTypeID) returns() +func (_Verify *VerifyTransactorSession) ObsoleteRollupType(rollupTypeID uint32) (*types.Transaction, error) { + return _Verify.Contract.ObsoleteRollupType(&_Verify.TransactOpts, rollupTypeID) +} + +// OnSequenceBatches is a paid mutator transaction binding the contract method 0x9a908e73. +// +// Solidity: function onSequenceBatches(uint64 newSequencedBatches, bytes32 newAccInputHash) returns(uint64) +func (_Verify *VerifyTransactor) OnSequenceBatches(opts *bind.TransactOpts, newSequencedBatches uint64, newAccInputHash [32]byte) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "onSequenceBatches", newSequencedBatches, newAccInputHash) +} + +// OnSequenceBatches is a paid mutator transaction binding the contract method 0x9a908e73. +// +// Solidity: function onSequenceBatches(uint64 newSequencedBatches, bytes32 newAccInputHash) returns(uint64) +func (_Verify *VerifySession) OnSequenceBatches(newSequencedBatches uint64, newAccInputHash [32]byte) (*types.Transaction, error) { + return _Verify.Contract.OnSequenceBatches(&_Verify.TransactOpts, newSequencedBatches, newAccInputHash) +} + +// OnSequenceBatches is a paid mutator transaction binding the contract method 0x9a908e73. +// +// Solidity: function onSequenceBatches(uint64 newSequencedBatches, bytes32 newAccInputHash) returns(uint64) +func (_Verify *VerifyTransactorSession) OnSequenceBatches(newSequencedBatches uint64, newAccInputHash [32]byte) (*types.Transaction, error) { + return _Verify.Contract.OnSequenceBatches(&_Verify.TransactOpts, newSequencedBatches, newAccInputHash) +} + +// OverridePendingState is a paid mutator transaction binding the contract method 0x12b86e19. +// +// Solidity: function overridePendingState(uint32 rollupID, uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() +func (_Verify *VerifyTransactor) OverridePendingState(opts *bind.TransactOpts, rollupID uint32, initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "overridePendingState", rollupID, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) +} + +// OverridePendingState is a paid mutator transaction binding the contract method 0x12b86e19. +// +// Solidity: function overridePendingState(uint32 rollupID, uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() +func (_Verify *VerifySession) OverridePendingState(rollupID uint32, initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.Contract.OverridePendingState(&_Verify.TransactOpts, rollupID, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) +} + +// OverridePendingState is a paid mutator transaction binding the contract method 0x12b86e19. +// +// Solidity: function overridePendingState(uint32 rollupID, uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() +func (_Verify *VerifyTransactorSession) OverridePendingState(rollupID uint32, initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.Contract.OverridePendingState(&_Verify.TransactOpts, rollupID, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) +} + +// ProveNonDeterministicPendingState is a paid mutator transaction binding the contract method 0x8bd4f071. +// +// Solidity: function proveNonDeterministicPendingState(uint32 rollupID, uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() +func (_Verify *VerifyTransactor) ProveNonDeterministicPendingState(opts *bind.TransactOpts, rollupID uint32, initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "proveNonDeterministicPendingState", rollupID, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) +} + +// ProveNonDeterministicPendingState is a paid mutator transaction binding the contract method 0x8bd4f071. +// +// Solidity: function proveNonDeterministicPendingState(uint32 rollupID, uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() +func (_Verify *VerifySession) ProveNonDeterministicPendingState(rollupID uint32, initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.Contract.ProveNonDeterministicPendingState(&_Verify.TransactOpts, rollupID, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) +} + +// ProveNonDeterministicPendingState is a paid mutator transaction binding the contract method 0x8bd4f071. +// +// Solidity: function proveNonDeterministicPendingState(uint32 rollupID, uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() +func (_Verify *VerifyTransactorSession) ProveNonDeterministicPendingState(rollupID uint32, initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.Contract.ProveNonDeterministicPendingState(&_Verify.TransactOpts, rollupID, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) +} + +// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. +// +// Solidity: function renounceRole(bytes32 role, address account) returns() +func (_Verify *VerifyTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "renounceRole", role, account) +} + +// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. +// +// Solidity: function renounceRole(bytes32 role, address account) returns() +func (_Verify *VerifySession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.Contract.RenounceRole(&_Verify.TransactOpts, role, account) +} + +// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. +// +// Solidity: function renounceRole(bytes32 role, address account) returns() +func (_Verify *VerifyTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.Contract.RenounceRole(&_Verify.TransactOpts, role, account) +} + +// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. +// +// Solidity: function revokeRole(bytes32 role, address account) returns() +func (_Verify *VerifyTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "revokeRole", role, account) +} + +// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. +// +// Solidity: function revokeRole(bytes32 role, address account) returns() +func (_Verify *VerifySession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.Contract.RevokeRole(&_Verify.TransactOpts, role, account) +} + +// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. +// +// Solidity: function revokeRole(bytes32 role, address account) returns() +func (_Verify *VerifyTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Verify.Contract.RevokeRole(&_Verify.TransactOpts, role, account) +} + +// SetBatchFee is a paid mutator transaction binding the contract method 0xd5073f6f. +// +// Solidity: function setBatchFee(uint256 newBatchFee) returns() +func (_Verify *VerifyTransactor) SetBatchFee(opts *bind.TransactOpts, newBatchFee *big.Int) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "setBatchFee", newBatchFee) +} + +// SetBatchFee is a paid mutator transaction binding the contract method 0xd5073f6f. +// +// Solidity: function setBatchFee(uint256 newBatchFee) returns() +func (_Verify *VerifySession) SetBatchFee(newBatchFee *big.Int) (*types.Transaction, error) { + return _Verify.Contract.SetBatchFee(&_Verify.TransactOpts, newBatchFee) +} + +// SetBatchFee is a paid mutator transaction binding the contract method 0xd5073f6f. +// +// Solidity: function setBatchFee(uint256 newBatchFee) returns() +func (_Verify *VerifyTransactorSession) SetBatchFee(newBatchFee *big.Int) (*types.Transaction, error) { + return _Verify.Contract.SetBatchFee(&_Verify.TransactOpts, newBatchFee) +} + +// SetMultiplierBatchFee is a paid mutator transaction binding the contract method 0x1816b7e5. +// +// Solidity: function setMultiplierBatchFee(uint16 newMultiplierBatchFee) returns() +func (_Verify *VerifyTransactor) SetMultiplierBatchFee(opts *bind.TransactOpts, newMultiplierBatchFee uint16) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "setMultiplierBatchFee", newMultiplierBatchFee) +} + +// SetMultiplierBatchFee is a paid mutator transaction binding the contract method 0x1816b7e5. +// +// Solidity: function setMultiplierBatchFee(uint16 newMultiplierBatchFee) returns() +func (_Verify *VerifySession) SetMultiplierBatchFee(newMultiplierBatchFee uint16) (*types.Transaction, error) { + return _Verify.Contract.SetMultiplierBatchFee(&_Verify.TransactOpts, newMultiplierBatchFee) +} + +// SetMultiplierBatchFee is a paid mutator transaction binding the contract method 0x1816b7e5. +// +// Solidity: function setMultiplierBatchFee(uint16 newMultiplierBatchFee) returns() +func (_Verify *VerifyTransactorSession) SetMultiplierBatchFee(newMultiplierBatchFee uint16) (*types.Transaction, error) { + return _Verify.Contract.SetMultiplierBatchFee(&_Verify.TransactOpts, newMultiplierBatchFee) +} + +// SetPendingStateTimeout is a paid mutator transaction binding the contract method 0x9c9f3dfe. +// +// Solidity: function setPendingStateTimeout(uint64 newPendingStateTimeout) returns() +func (_Verify *VerifyTransactor) SetPendingStateTimeout(opts *bind.TransactOpts, newPendingStateTimeout uint64) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "setPendingStateTimeout", newPendingStateTimeout) +} + +// SetPendingStateTimeout is a paid mutator transaction binding the contract method 0x9c9f3dfe. +// +// Solidity: function setPendingStateTimeout(uint64 newPendingStateTimeout) returns() +func (_Verify *VerifySession) SetPendingStateTimeout(newPendingStateTimeout uint64) (*types.Transaction, error) { + return _Verify.Contract.SetPendingStateTimeout(&_Verify.TransactOpts, newPendingStateTimeout) +} + +// SetPendingStateTimeout is a paid mutator transaction binding the contract method 0x9c9f3dfe. +// +// Solidity: function setPendingStateTimeout(uint64 newPendingStateTimeout) returns() +func (_Verify *VerifyTransactorSession) SetPendingStateTimeout(newPendingStateTimeout uint64) (*types.Transaction, error) { + return _Verify.Contract.SetPendingStateTimeout(&_Verify.TransactOpts, newPendingStateTimeout) +} + +// SetTrustedAggregatorTimeout is a paid mutator transaction binding the contract method 0x394218e9. +// +// Solidity: function setTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) returns() +func (_Verify *VerifyTransactor) SetTrustedAggregatorTimeout(opts *bind.TransactOpts, newTrustedAggregatorTimeout uint64) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "setTrustedAggregatorTimeout", newTrustedAggregatorTimeout) +} + +// SetTrustedAggregatorTimeout is a paid mutator transaction binding the contract method 0x394218e9. +// +// Solidity: function setTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) returns() +func (_Verify *VerifySession) SetTrustedAggregatorTimeout(newTrustedAggregatorTimeout uint64) (*types.Transaction, error) { + return _Verify.Contract.SetTrustedAggregatorTimeout(&_Verify.TransactOpts, newTrustedAggregatorTimeout) +} + +// SetTrustedAggregatorTimeout is a paid mutator transaction binding the contract method 0x394218e9. +// +// Solidity: function setTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) returns() +func (_Verify *VerifyTransactorSession) SetTrustedAggregatorTimeout(newTrustedAggregatorTimeout uint64) (*types.Transaction, error) { + return _Verify.Contract.SetTrustedAggregatorTimeout(&_Verify.TransactOpts, newTrustedAggregatorTimeout) +} + +// SetVerifyBatchTimeTarget is a paid mutator transaction binding the contract method 0xa066215c. +// +// Solidity: function setVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) returns() +func (_Verify *VerifyTransactor) SetVerifyBatchTimeTarget(opts *bind.TransactOpts, newVerifyBatchTimeTarget uint64) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "setVerifyBatchTimeTarget", newVerifyBatchTimeTarget) +} + +// SetVerifyBatchTimeTarget is a paid mutator transaction binding the contract method 0xa066215c. +// +// Solidity: function setVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) returns() +func (_Verify *VerifySession) SetVerifyBatchTimeTarget(newVerifyBatchTimeTarget uint64) (*types.Transaction, error) { + return _Verify.Contract.SetVerifyBatchTimeTarget(&_Verify.TransactOpts, newVerifyBatchTimeTarget) +} + +// SetVerifyBatchTimeTarget is a paid mutator transaction binding the contract method 0xa066215c. +// +// Solidity: function setVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) returns() +func (_Verify *VerifyTransactorSession) SetVerifyBatchTimeTarget(newVerifyBatchTimeTarget uint64) (*types.Transaction, error) { + return _Verify.Contract.SetVerifyBatchTimeTarget(&_Verify.TransactOpts, newVerifyBatchTimeTarget) +} + +// UpdateRollup is a paid mutator transaction binding the contract method 0xc4c928c2. +// +// Solidity: function updateRollup(address rollupContract, uint32 newRollupTypeID, bytes upgradeData) returns() +func (_Verify *VerifyTransactor) UpdateRollup(opts *bind.TransactOpts, rollupContract common.Address, newRollupTypeID uint32, upgradeData []byte) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "updateRollup", rollupContract, newRollupTypeID, upgradeData) +} + +// UpdateRollup is a paid mutator transaction binding the contract method 0xc4c928c2. +// +// Solidity: function updateRollup(address rollupContract, uint32 newRollupTypeID, bytes upgradeData) returns() +func (_Verify *VerifySession) UpdateRollup(rollupContract common.Address, newRollupTypeID uint32, upgradeData []byte) (*types.Transaction, error) { + return _Verify.Contract.UpdateRollup(&_Verify.TransactOpts, rollupContract, newRollupTypeID, upgradeData) +} + +// UpdateRollup is a paid mutator transaction binding the contract method 0xc4c928c2. +// +// Solidity: function updateRollup(address rollupContract, uint32 newRollupTypeID, bytes upgradeData) returns() +func (_Verify *VerifyTransactorSession) UpdateRollup(rollupContract common.Address, newRollupTypeID uint32, upgradeData []byte) (*types.Transaction, error) { + return _Verify.Contract.UpdateRollup(&_Verify.TransactOpts, rollupContract, newRollupTypeID, upgradeData) +} + +// VerifyBatches is a paid mutator transaction binding the contract method 0x87c20c01. +// +// Solidity: function verifyBatches(uint32 rollupID, uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, address beneficiary, bytes32[24] proof) returns() +func (_Verify *VerifyTransactor) VerifyBatches(opts *bind.TransactOpts, rollupID uint32, pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, beneficiary common.Address, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "verifyBatches", rollupID, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, beneficiary, proof) +} + +// VerifyBatches is a paid mutator transaction binding the contract method 0x87c20c01. +// +// Solidity: function verifyBatches(uint32 rollupID, uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, address beneficiary, bytes32[24] proof) returns() +func (_Verify *VerifySession) VerifyBatches(rollupID uint32, pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, beneficiary common.Address, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.Contract.VerifyBatches(&_Verify.TransactOpts, rollupID, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, beneficiary, proof) +} + +// VerifyBatches is a paid mutator transaction binding the contract method 0x87c20c01. +// +// Solidity: function verifyBatches(uint32 rollupID, uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, address beneficiary, bytes32[24] proof) returns() +func (_Verify *VerifyTransactorSession) VerifyBatches(rollupID uint32, pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, beneficiary common.Address, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.Contract.VerifyBatches(&_Verify.TransactOpts, rollupID, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, beneficiary, proof) +} + +// VerifyBatchesTrustedAggregator is a paid mutator transaction binding the contract method 0x1489ed10. +// +// Solidity: function verifyBatchesTrustedAggregator(uint32 rollupID, uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, address beneficiary, bytes32[24] proof) returns() +func (_Verify *VerifyTransactor) VerifyBatchesTrustedAggregator(opts *bind.TransactOpts, rollupID uint32, pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, beneficiary common.Address, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.contract.Transact(opts, "verifyBatchesTrustedAggregator", rollupID, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, beneficiary, proof) +} + +// VerifyBatchesTrustedAggregator is a paid mutator transaction binding the contract method 0x1489ed10. +// +// Solidity: function verifyBatchesTrustedAggregator(uint32 rollupID, uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, address beneficiary, bytes32[24] proof) returns() +func (_Verify *VerifySession) VerifyBatchesTrustedAggregator(rollupID uint32, pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, beneficiary common.Address, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.Contract.VerifyBatchesTrustedAggregator(&_Verify.TransactOpts, rollupID, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, beneficiary, proof) +} + +// VerifyBatchesTrustedAggregator is a paid mutator transaction binding the contract method 0x1489ed10. +// +// Solidity: function verifyBatchesTrustedAggregator(uint32 rollupID, uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, address beneficiary, bytes32[24] proof) returns() +func (_Verify *VerifyTransactorSession) VerifyBatchesTrustedAggregator(rollupID uint32, pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, beneficiary common.Address, proof [24][32]byte) (*types.Transaction, error) { + return _Verify.Contract.VerifyBatchesTrustedAggregator(&_Verify.TransactOpts, rollupID, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, beneficiary, proof) +} + +// VerifyAddExistingRollupIterator is returned from FilterAddExistingRollup and is used to iterate over the raw logs and unpacked data for AddExistingRollup events raised by the Verify contract. +type VerifyAddExistingRollupIterator struct { + Event *VerifyAddExistingRollup // 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 *VerifyAddExistingRollupIterator) 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(VerifyAddExistingRollup) + 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(VerifyAddExistingRollup) + 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 *VerifyAddExistingRollupIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyAddExistingRollupIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyAddExistingRollup represents a AddExistingRollup event raised by the Verify contract. +type VerifyAddExistingRollup struct { + RollupID uint32 + ForkID uint64 + RollupAddress common.Address + ChainID uint64 + RollupCompatibilityID uint8 + LastVerifiedBatchBeforeUpgrade uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterAddExistingRollup is a free log retrieval operation binding the contract event 0xadfc7d56f7e39b08b321534f14bfb135ad27698f7d2f5ad0edc2356ea9a3f850. +// +// Solidity: event AddExistingRollup(uint32 indexed rollupID, uint64 forkID, address rollupAddress, uint64 chainID, uint8 rollupCompatibilityID, uint64 lastVerifiedBatchBeforeUpgrade) +func (_Verify *VerifyFilterer) FilterAddExistingRollup(opts *bind.FilterOpts, rollupID []uint32) (*VerifyAddExistingRollupIterator, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "AddExistingRollup", rollupIDRule) + if err != nil { + return nil, err + } + return &VerifyAddExistingRollupIterator{contract: _Verify.contract, event: "AddExistingRollup", logs: logs, sub: sub}, nil +} + +// WatchAddExistingRollup is a free log subscription operation binding the contract event 0xadfc7d56f7e39b08b321534f14bfb135ad27698f7d2f5ad0edc2356ea9a3f850. +// +// Solidity: event AddExistingRollup(uint32 indexed rollupID, uint64 forkID, address rollupAddress, uint64 chainID, uint8 rollupCompatibilityID, uint64 lastVerifiedBatchBeforeUpgrade) +func (_Verify *VerifyFilterer) WatchAddExistingRollup(opts *bind.WatchOpts, sink chan<- *VerifyAddExistingRollup, rollupID []uint32) (event.Subscription, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "AddExistingRollup", rollupIDRule) + 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(VerifyAddExistingRollup) + if err := _Verify.contract.UnpackLog(event, "AddExistingRollup", 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 +} + +// ParseAddExistingRollup is a log parse operation binding the contract event 0xadfc7d56f7e39b08b321534f14bfb135ad27698f7d2f5ad0edc2356ea9a3f850. +// +// Solidity: event AddExistingRollup(uint32 indexed rollupID, uint64 forkID, address rollupAddress, uint64 chainID, uint8 rollupCompatibilityID, uint64 lastVerifiedBatchBeforeUpgrade) +func (_Verify *VerifyFilterer) ParseAddExistingRollup(log types.Log) (*VerifyAddExistingRollup, error) { + event := new(VerifyAddExistingRollup) + if err := _Verify.contract.UnpackLog(event, "AddExistingRollup", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyAddNewRollupTypeIterator is returned from FilterAddNewRollupType and is used to iterate over the raw logs and unpacked data for AddNewRollupType events raised by the Verify contract. +type VerifyAddNewRollupTypeIterator struct { + Event *VerifyAddNewRollupType // 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 *VerifyAddNewRollupTypeIterator) 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(VerifyAddNewRollupType) + 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(VerifyAddNewRollupType) + 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 *VerifyAddNewRollupTypeIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyAddNewRollupTypeIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyAddNewRollupType represents a AddNewRollupType event raised by the Verify contract. +type VerifyAddNewRollupType struct { + RollupTypeID uint32 + ConsensusImplementation common.Address + Verifier common.Address + ForkID uint64 + RollupCompatibilityID uint8 + Genesis [32]byte + Description string + Raw types.Log // Blockchain specific contextual infos +} + +// FilterAddNewRollupType is a free log retrieval operation binding the contract event 0xa2970448b3bd66ba7e524e7b2a5b9cf94fa29e32488fb942afdfe70dd4b77b52. +// +// Solidity: event AddNewRollupType(uint32 indexed rollupTypeID, address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bytes32 genesis, string description) +func (_Verify *VerifyFilterer) FilterAddNewRollupType(opts *bind.FilterOpts, rollupTypeID []uint32) (*VerifyAddNewRollupTypeIterator, error) { + + var rollupTypeIDRule []interface{} + for _, rollupTypeIDItem := range rollupTypeID { + rollupTypeIDRule = append(rollupTypeIDRule, rollupTypeIDItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "AddNewRollupType", rollupTypeIDRule) + if err != nil { + return nil, err + } + return &VerifyAddNewRollupTypeIterator{contract: _Verify.contract, event: "AddNewRollupType", logs: logs, sub: sub}, nil +} + +// WatchAddNewRollupType is a free log subscription operation binding the contract event 0xa2970448b3bd66ba7e524e7b2a5b9cf94fa29e32488fb942afdfe70dd4b77b52. +// +// Solidity: event AddNewRollupType(uint32 indexed rollupTypeID, address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bytes32 genesis, string description) +func (_Verify *VerifyFilterer) WatchAddNewRollupType(opts *bind.WatchOpts, sink chan<- *VerifyAddNewRollupType, rollupTypeID []uint32) (event.Subscription, error) { + + var rollupTypeIDRule []interface{} + for _, rollupTypeIDItem := range rollupTypeID { + rollupTypeIDRule = append(rollupTypeIDRule, rollupTypeIDItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "AddNewRollupType", rollupTypeIDRule) + 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(VerifyAddNewRollupType) + if err := _Verify.contract.UnpackLog(event, "AddNewRollupType", 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 +} + +// ParseAddNewRollupType is a log parse operation binding the contract event 0xa2970448b3bd66ba7e524e7b2a5b9cf94fa29e32488fb942afdfe70dd4b77b52. +// +// Solidity: event AddNewRollupType(uint32 indexed rollupTypeID, address consensusImplementation, address verifier, uint64 forkID, uint8 rollupCompatibilityID, bytes32 genesis, string description) +func (_Verify *VerifyFilterer) ParseAddNewRollupType(log types.Log) (*VerifyAddNewRollupType, error) { + event := new(VerifyAddNewRollupType) + if err := _Verify.contract.UnpackLog(event, "AddNewRollupType", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyConsolidatePendingStateIterator is returned from FilterConsolidatePendingState and is used to iterate over the raw logs and unpacked data for ConsolidatePendingState events raised by the Verify contract. +type VerifyConsolidatePendingStateIterator struct { + Event *VerifyConsolidatePendingState // 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 *VerifyConsolidatePendingStateIterator) 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(VerifyConsolidatePendingState) + 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(VerifyConsolidatePendingState) + 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 *VerifyConsolidatePendingStateIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyConsolidatePendingStateIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyConsolidatePendingState represents a ConsolidatePendingState event raised by the Verify contract. +type VerifyConsolidatePendingState struct { + RollupID uint32 + NumBatch uint64 + StateRoot [32]byte + ExitRoot [32]byte + PendingStateNum uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterConsolidatePendingState is a free log retrieval operation binding the contract event 0x581910eb7a27738945c2f00a91f2284b2d6de9d4e472b12f901c2b0df045e21b. +// +// Solidity: event ConsolidatePendingState(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, uint64 pendingStateNum) +func (_Verify *VerifyFilterer) FilterConsolidatePendingState(opts *bind.FilterOpts, rollupID []uint32) (*VerifyConsolidatePendingStateIterator, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "ConsolidatePendingState", rollupIDRule) + if err != nil { + return nil, err + } + return &VerifyConsolidatePendingStateIterator{contract: _Verify.contract, event: "ConsolidatePendingState", logs: logs, sub: sub}, nil +} + +// WatchConsolidatePendingState is a free log subscription operation binding the contract event 0x581910eb7a27738945c2f00a91f2284b2d6de9d4e472b12f901c2b0df045e21b. +// +// Solidity: event ConsolidatePendingState(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, uint64 pendingStateNum) +func (_Verify *VerifyFilterer) WatchConsolidatePendingState(opts *bind.WatchOpts, sink chan<- *VerifyConsolidatePendingState, rollupID []uint32) (event.Subscription, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "ConsolidatePendingState", rollupIDRule) + 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(VerifyConsolidatePendingState) + if err := _Verify.contract.UnpackLog(event, "ConsolidatePendingState", 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 +} + +// ParseConsolidatePendingState is a log parse operation binding the contract event 0x581910eb7a27738945c2f00a91f2284b2d6de9d4e472b12f901c2b0df045e21b. +// +// Solidity: event ConsolidatePendingState(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, uint64 pendingStateNum) +func (_Verify *VerifyFilterer) ParseConsolidatePendingState(log types.Log) (*VerifyConsolidatePendingState, error) { + event := new(VerifyConsolidatePendingState) + if err := _Verify.contract.UnpackLog(event, "ConsolidatePendingState", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyCreateNewRollupIterator is returned from FilterCreateNewRollup and is used to iterate over the raw logs and unpacked data for CreateNewRollup events raised by the Verify contract. +type VerifyCreateNewRollupIterator struct { + Event *VerifyCreateNewRollup // 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 *VerifyCreateNewRollupIterator) 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(VerifyCreateNewRollup) + 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(VerifyCreateNewRollup) + 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 *VerifyCreateNewRollupIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyCreateNewRollupIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyCreateNewRollup represents a CreateNewRollup event raised by the Verify contract. +type VerifyCreateNewRollup struct { + RollupID uint32 + RollupTypeID uint32 + RollupAddress common.Address + ChainID uint64 + GasTokenAddress common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterCreateNewRollup is a free log retrieval operation binding the contract event 0x194c983456df6701c6a50830b90fe80e72b823411d0d524970c9590dc277a641. +// +// Solidity: event CreateNewRollup(uint32 indexed rollupID, uint32 rollupTypeID, address rollupAddress, uint64 chainID, address gasTokenAddress) +func (_Verify *VerifyFilterer) FilterCreateNewRollup(opts *bind.FilterOpts, rollupID []uint32) (*VerifyCreateNewRollupIterator, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "CreateNewRollup", rollupIDRule) + if err != nil { + return nil, err + } + return &VerifyCreateNewRollupIterator{contract: _Verify.contract, event: "CreateNewRollup", logs: logs, sub: sub}, nil +} + +// WatchCreateNewRollup is a free log subscription operation binding the contract event 0x194c983456df6701c6a50830b90fe80e72b823411d0d524970c9590dc277a641. +// +// Solidity: event CreateNewRollup(uint32 indexed rollupID, uint32 rollupTypeID, address rollupAddress, uint64 chainID, address gasTokenAddress) +func (_Verify *VerifyFilterer) WatchCreateNewRollup(opts *bind.WatchOpts, sink chan<- *VerifyCreateNewRollup, rollupID []uint32) (event.Subscription, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "CreateNewRollup", rollupIDRule) + 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(VerifyCreateNewRollup) + if err := _Verify.contract.UnpackLog(event, "CreateNewRollup", 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 +} + +// ParseCreateNewRollup is a log parse operation binding the contract event 0x194c983456df6701c6a50830b90fe80e72b823411d0d524970c9590dc277a641. +// +// Solidity: event CreateNewRollup(uint32 indexed rollupID, uint32 rollupTypeID, address rollupAddress, uint64 chainID, address gasTokenAddress) +func (_Verify *VerifyFilterer) ParseCreateNewRollup(log types.Log) (*VerifyCreateNewRollup, error) { + event := new(VerifyCreateNewRollup) + if err := _Verify.contract.UnpackLog(event, "CreateNewRollup", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyEmergencyStateActivatedIterator is returned from FilterEmergencyStateActivated and is used to iterate over the raw logs and unpacked data for EmergencyStateActivated events raised by the Verify contract. +type VerifyEmergencyStateActivatedIterator struct { + Event *VerifyEmergencyStateActivated // 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 *VerifyEmergencyStateActivatedIterator) 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(VerifyEmergencyStateActivated) + 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(VerifyEmergencyStateActivated) + 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 *VerifyEmergencyStateActivatedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyEmergencyStateActivatedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyEmergencyStateActivated represents a EmergencyStateActivated event raised by the Verify contract. +type VerifyEmergencyStateActivated struct { + Raw types.Log // Blockchain specific contextual infos +} + +// FilterEmergencyStateActivated is a free log retrieval operation binding the contract event 0x2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497. +// +// Solidity: event EmergencyStateActivated() +func (_Verify *VerifyFilterer) FilterEmergencyStateActivated(opts *bind.FilterOpts) (*VerifyEmergencyStateActivatedIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "EmergencyStateActivated") + if err != nil { + return nil, err + } + return &VerifyEmergencyStateActivatedIterator{contract: _Verify.contract, event: "EmergencyStateActivated", logs: logs, sub: sub}, nil +} + +// WatchEmergencyStateActivated is a free log subscription operation binding the contract event 0x2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497. +// +// Solidity: event EmergencyStateActivated() +func (_Verify *VerifyFilterer) WatchEmergencyStateActivated(opts *bind.WatchOpts, sink chan<- *VerifyEmergencyStateActivated) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "EmergencyStateActivated") + 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(VerifyEmergencyStateActivated) + if err := _Verify.contract.UnpackLog(event, "EmergencyStateActivated", 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 +} + +// ParseEmergencyStateActivated is a log parse operation binding the contract event 0x2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497. +// +// Solidity: event EmergencyStateActivated() +func (_Verify *VerifyFilterer) ParseEmergencyStateActivated(log types.Log) (*VerifyEmergencyStateActivated, error) { + event := new(VerifyEmergencyStateActivated) + if err := _Verify.contract.UnpackLog(event, "EmergencyStateActivated", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyEmergencyStateDeactivatedIterator is returned from FilterEmergencyStateDeactivated and is used to iterate over the raw logs and unpacked data for EmergencyStateDeactivated events raised by the Verify contract. +type VerifyEmergencyStateDeactivatedIterator struct { + Event *VerifyEmergencyStateDeactivated // 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 *VerifyEmergencyStateDeactivatedIterator) 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(VerifyEmergencyStateDeactivated) + 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(VerifyEmergencyStateDeactivated) + 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 *VerifyEmergencyStateDeactivatedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyEmergencyStateDeactivatedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyEmergencyStateDeactivated represents a EmergencyStateDeactivated event raised by the Verify contract. +type VerifyEmergencyStateDeactivated struct { + Raw types.Log // Blockchain specific contextual infos +} + +// FilterEmergencyStateDeactivated is a free log retrieval operation binding the contract event 0x1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3. +// +// Solidity: event EmergencyStateDeactivated() +func (_Verify *VerifyFilterer) FilterEmergencyStateDeactivated(opts *bind.FilterOpts) (*VerifyEmergencyStateDeactivatedIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "EmergencyStateDeactivated") + if err != nil { + return nil, err + } + return &VerifyEmergencyStateDeactivatedIterator{contract: _Verify.contract, event: "EmergencyStateDeactivated", logs: logs, sub: sub}, nil +} + +// WatchEmergencyStateDeactivated is a free log subscription operation binding the contract event 0x1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3. +// +// Solidity: event EmergencyStateDeactivated() +func (_Verify *VerifyFilterer) WatchEmergencyStateDeactivated(opts *bind.WatchOpts, sink chan<- *VerifyEmergencyStateDeactivated) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "EmergencyStateDeactivated") + 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(VerifyEmergencyStateDeactivated) + if err := _Verify.contract.UnpackLog(event, "EmergencyStateDeactivated", 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 +} + +// ParseEmergencyStateDeactivated is a log parse operation binding the contract event 0x1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3. +// +// Solidity: event EmergencyStateDeactivated() +func (_Verify *VerifyFilterer) ParseEmergencyStateDeactivated(log types.Log) (*VerifyEmergencyStateDeactivated, error) { + event := new(VerifyEmergencyStateDeactivated) + if err := _Verify.contract.UnpackLog(event, "EmergencyStateDeactivated", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the Verify contract. +type VerifyInitializedIterator struct { + Event *VerifyInitialized // 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 *VerifyInitializedIterator) 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(VerifyInitialized) + 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(VerifyInitialized) + 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 *VerifyInitializedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyInitializedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyInitialized represents a Initialized event raised by the Verify contract. +type VerifyInitialized struct { + Version uint8 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_Verify *VerifyFilterer) FilterInitialized(opts *bind.FilterOpts) (*VerifyInitializedIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "Initialized") + if err != nil { + return nil, err + } + return &VerifyInitializedIterator{contract: _Verify.contract, event: "Initialized", logs: logs, sub: sub}, nil +} + +// WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_Verify *VerifyFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *VerifyInitialized) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "Initialized") + 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(VerifyInitialized) + if err := _Verify.contract.UnpackLog(event, "Initialized", 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 +} + +// ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_Verify *VerifyFilterer) ParseInitialized(log types.Log) (*VerifyInitialized, error) { + event := new(VerifyInitialized) + if err := _Verify.contract.UnpackLog(event, "Initialized", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyObsoleteRollupTypeIterator is returned from FilterObsoleteRollupType and is used to iterate over the raw logs and unpacked data for ObsoleteRollupType events raised by the Verify contract. +type VerifyObsoleteRollupTypeIterator struct { + Event *VerifyObsoleteRollupType // 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 *VerifyObsoleteRollupTypeIterator) 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(VerifyObsoleteRollupType) + 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(VerifyObsoleteRollupType) + 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 *VerifyObsoleteRollupTypeIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyObsoleteRollupTypeIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyObsoleteRollupType represents a ObsoleteRollupType event raised by the Verify contract. +type VerifyObsoleteRollupType struct { + RollupTypeID uint32 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterObsoleteRollupType is a free log retrieval operation binding the contract event 0x4710d2ee567ef1ed6eb2f651dde4589524bcf7cebc62147a99b281cc836e7e44. +// +// Solidity: event ObsoleteRollupType(uint32 indexed rollupTypeID) +func (_Verify *VerifyFilterer) FilterObsoleteRollupType(opts *bind.FilterOpts, rollupTypeID []uint32) (*VerifyObsoleteRollupTypeIterator, error) { + + var rollupTypeIDRule []interface{} + for _, rollupTypeIDItem := range rollupTypeID { + rollupTypeIDRule = append(rollupTypeIDRule, rollupTypeIDItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "ObsoleteRollupType", rollupTypeIDRule) + if err != nil { + return nil, err + } + return &VerifyObsoleteRollupTypeIterator{contract: _Verify.contract, event: "ObsoleteRollupType", logs: logs, sub: sub}, nil +} + +// WatchObsoleteRollupType is a free log subscription operation binding the contract event 0x4710d2ee567ef1ed6eb2f651dde4589524bcf7cebc62147a99b281cc836e7e44. +// +// Solidity: event ObsoleteRollupType(uint32 indexed rollupTypeID) +func (_Verify *VerifyFilterer) WatchObsoleteRollupType(opts *bind.WatchOpts, sink chan<- *VerifyObsoleteRollupType, rollupTypeID []uint32) (event.Subscription, error) { + + var rollupTypeIDRule []interface{} + for _, rollupTypeIDItem := range rollupTypeID { + rollupTypeIDRule = append(rollupTypeIDRule, rollupTypeIDItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "ObsoleteRollupType", rollupTypeIDRule) + 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(VerifyObsoleteRollupType) + if err := _Verify.contract.UnpackLog(event, "ObsoleteRollupType", 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 +} + +// ParseObsoleteRollupType is a log parse operation binding the contract event 0x4710d2ee567ef1ed6eb2f651dde4589524bcf7cebc62147a99b281cc836e7e44. +// +// Solidity: event ObsoleteRollupType(uint32 indexed rollupTypeID) +func (_Verify *VerifyFilterer) ParseObsoleteRollupType(log types.Log) (*VerifyObsoleteRollupType, error) { + event := new(VerifyObsoleteRollupType) + if err := _Verify.contract.UnpackLog(event, "ObsoleteRollupType", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyOnSequenceBatchesIterator is returned from FilterOnSequenceBatches and is used to iterate over the raw logs and unpacked data for OnSequenceBatches events raised by the Verify contract. +type VerifyOnSequenceBatchesIterator struct { + Event *VerifyOnSequenceBatches // 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 *VerifyOnSequenceBatchesIterator) 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(VerifyOnSequenceBatches) + 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(VerifyOnSequenceBatches) + 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 *VerifyOnSequenceBatchesIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyOnSequenceBatchesIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyOnSequenceBatches represents a OnSequenceBatches event raised by the Verify contract. +type VerifyOnSequenceBatches struct { + RollupID uint32 + LastBatchSequenced uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOnSequenceBatches is a free log retrieval operation binding the contract event 0x1d9f30260051d51d70339da239ea7b080021adcaabfa71c9b0ea339a20cf9a25. +// +// Solidity: event OnSequenceBatches(uint32 indexed rollupID, uint64 lastBatchSequenced) +func (_Verify *VerifyFilterer) FilterOnSequenceBatches(opts *bind.FilterOpts, rollupID []uint32) (*VerifyOnSequenceBatchesIterator, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "OnSequenceBatches", rollupIDRule) + if err != nil { + return nil, err + } + return &VerifyOnSequenceBatchesIterator{contract: _Verify.contract, event: "OnSequenceBatches", logs: logs, sub: sub}, nil +} + +// WatchOnSequenceBatches is a free log subscription operation binding the contract event 0x1d9f30260051d51d70339da239ea7b080021adcaabfa71c9b0ea339a20cf9a25. +// +// Solidity: event OnSequenceBatches(uint32 indexed rollupID, uint64 lastBatchSequenced) +func (_Verify *VerifyFilterer) WatchOnSequenceBatches(opts *bind.WatchOpts, sink chan<- *VerifyOnSequenceBatches, rollupID []uint32) (event.Subscription, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "OnSequenceBatches", rollupIDRule) + 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(VerifyOnSequenceBatches) + if err := _Verify.contract.UnpackLog(event, "OnSequenceBatches", 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 +} + +// ParseOnSequenceBatches is a log parse operation binding the contract event 0x1d9f30260051d51d70339da239ea7b080021adcaabfa71c9b0ea339a20cf9a25. +// +// Solidity: event OnSequenceBatches(uint32 indexed rollupID, uint64 lastBatchSequenced) +func (_Verify *VerifyFilterer) ParseOnSequenceBatches(log types.Log) (*VerifyOnSequenceBatches, error) { + event := new(VerifyOnSequenceBatches) + if err := _Verify.contract.UnpackLog(event, "OnSequenceBatches", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyOverridePendingStateIterator is returned from FilterOverridePendingState and is used to iterate over the raw logs and unpacked data for OverridePendingState events raised by the Verify contract. +type VerifyOverridePendingStateIterator struct { + Event *VerifyOverridePendingState // 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 *VerifyOverridePendingStateIterator) 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(VerifyOverridePendingState) + 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(VerifyOverridePendingState) + 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 *VerifyOverridePendingStateIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyOverridePendingStateIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyOverridePendingState represents a OverridePendingState event raised by the Verify contract. +type VerifyOverridePendingState struct { + RollupID uint32 + NumBatch uint64 + StateRoot [32]byte + ExitRoot [32]byte + Aggregator common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOverridePendingState is a free log retrieval operation binding the contract event 0x3182bd6e6f74fc1fdc88b60f3a4f4c7f79db6ae6f5b88a1b3f5a1e28ec210d5e. +// +// Solidity: event OverridePendingState(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address aggregator) +func (_Verify *VerifyFilterer) FilterOverridePendingState(opts *bind.FilterOpts, rollupID []uint32) (*VerifyOverridePendingStateIterator, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "OverridePendingState", rollupIDRule) + if err != nil { + return nil, err + } + return &VerifyOverridePendingStateIterator{contract: _Verify.contract, event: "OverridePendingState", logs: logs, sub: sub}, nil +} + +// WatchOverridePendingState is a free log subscription operation binding the contract event 0x3182bd6e6f74fc1fdc88b60f3a4f4c7f79db6ae6f5b88a1b3f5a1e28ec210d5e. +// +// Solidity: event OverridePendingState(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address aggregator) +func (_Verify *VerifyFilterer) WatchOverridePendingState(opts *bind.WatchOpts, sink chan<- *VerifyOverridePendingState, rollupID []uint32) (event.Subscription, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "OverridePendingState", rollupIDRule) + 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(VerifyOverridePendingState) + if err := _Verify.contract.UnpackLog(event, "OverridePendingState", 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 +} + +// ParseOverridePendingState is a log parse operation binding the contract event 0x3182bd6e6f74fc1fdc88b60f3a4f4c7f79db6ae6f5b88a1b3f5a1e28ec210d5e. +// +// Solidity: event OverridePendingState(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address aggregator) +func (_Verify *VerifyFilterer) ParseOverridePendingState(log types.Log) (*VerifyOverridePendingState, error) { + event := new(VerifyOverridePendingState) + if err := _Verify.contract.UnpackLog(event, "OverridePendingState", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyProveNonDeterministicPendingStateIterator is returned from FilterProveNonDeterministicPendingState and is used to iterate over the raw logs and unpacked data for ProveNonDeterministicPendingState events raised by the Verify contract. +type VerifyProveNonDeterministicPendingStateIterator struct { + Event *VerifyProveNonDeterministicPendingState // 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 *VerifyProveNonDeterministicPendingStateIterator) 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(VerifyProveNonDeterministicPendingState) + 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(VerifyProveNonDeterministicPendingState) + 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 *VerifyProveNonDeterministicPendingStateIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyProveNonDeterministicPendingStateIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyProveNonDeterministicPendingState represents a ProveNonDeterministicPendingState event raised by the Verify contract. +type VerifyProveNonDeterministicPendingState struct { + StoredStateRoot [32]byte + ProvedStateRoot [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterProveNonDeterministicPendingState is a free log retrieval operation binding the contract event 0x1f44c21118c4603cfb4e1b621dbcfa2b73efcececee2b99b620b2953d33a7010. +// +// Solidity: event ProveNonDeterministicPendingState(bytes32 storedStateRoot, bytes32 provedStateRoot) +func (_Verify *VerifyFilterer) FilterProveNonDeterministicPendingState(opts *bind.FilterOpts) (*VerifyProveNonDeterministicPendingStateIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "ProveNonDeterministicPendingState") + if err != nil { + return nil, err + } + return &VerifyProveNonDeterministicPendingStateIterator{contract: _Verify.contract, event: "ProveNonDeterministicPendingState", logs: logs, sub: sub}, nil +} + +// WatchProveNonDeterministicPendingState is a free log subscription operation binding the contract event 0x1f44c21118c4603cfb4e1b621dbcfa2b73efcececee2b99b620b2953d33a7010. +// +// Solidity: event ProveNonDeterministicPendingState(bytes32 storedStateRoot, bytes32 provedStateRoot) +func (_Verify *VerifyFilterer) WatchProveNonDeterministicPendingState(opts *bind.WatchOpts, sink chan<- *VerifyProveNonDeterministicPendingState) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "ProveNonDeterministicPendingState") + 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(VerifyProveNonDeterministicPendingState) + if err := _Verify.contract.UnpackLog(event, "ProveNonDeterministicPendingState", 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 +} + +// ParseProveNonDeterministicPendingState is a log parse operation binding the contract event 0x1f44c21118c4603cfb4e1b621dbcfa2b73efcececee2b99b620b2953d33a7010. +// +// Solidity: event ProveNonDeterministicPendingState(bytes32 storedStateRoot, bytes32 provedStateRoot) +func (_Verify *VerifyFilterer) ParseProveNonDeterministicPendingState(log types.Log) (*VerifyProveNonDeterministicPendingState, error) { + event := new(VerifyProveNonDeterministicPendingState) + if err := _Verify.contract.UnpackLog(event, "ProveNonDeterministicPendingState", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the Verify contract. +type VerifyRoleAdminChangedIterator struct { + Event *VerifyRoleAdminChanged // 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 *VerifyRoleAdminChangedIterator) 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(VerifyRoleAdminChanged) + 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(VerifyRoleAdminChanged) + 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 *VerifyRoleAdminChangedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyRoleAdminChangedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyRoleAdminChanged represents a RoleAdminChanged event raised by the Verify contract. +type VerifyRoleAdminChanged struct { + Role [32]byte + PreviousAdminRole [32]byte + NewAdminRole [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. +// +// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) +func (_Verify *VerifyFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*VerifyRoleAdminChangedIterator, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var previousAdminRoleRule []interface{} + for _, previousAdminRoleItem := range previousAdminRole { + previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) + } + var newAdminRoleRule []interface{} + for _, newAdminRoleItem := range newAdminRole { + newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) + if err != nil { + return nil, err + } + return &VerifyRoleAdminChangedIterator{contract: _Verify.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil +} + +// WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. +// +// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) +func (_Verify *VerifyFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *VerifyRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var previousAdminRoleRule []interface{} + for _, previousAdminRoleItem := range previousAdminRole { + previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) + } + var newAdminRoleRule []interface{} + for _, newAdminRoleItem := range newAdminRole { + newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) + 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(VerifyRoleAdminChanged) + if err := _Verify.contract.UnpackLog(event, "RoleAdminChanged", 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 +} + +// ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. +// +// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) +func (_Verify *VerifyFilterer) ParseRoleAdminChanged(log types.Log) (*VerifyRoleAdminChanged, error) { + event := new(VerifyRoleAdminChanged) + if err := _Verify.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the Verify contract. +type VerifyRoleGrantedIterator struct { + Event *VerifyRoleGranted // 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 *VerifyRoleGrantedIterator) 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(VerifyRoleGranted) + 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(VerifyRoleGranted) + 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 *VerifyRoleGrantedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyRoleGrantedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyRoleGranted represents a RoleGranted event raised by the Verify contract. +type VerifyRoleGranted struct { + Role [32]byte + Account common.Address + Sender common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. +// +// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) +func (_Verify *VerifyFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*VerifyRoleGrantedIterator, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) + if err != nil { + return nil, err + } + return &VerifyRoleGrantedIterator{contract: _Verify.contract, event: "RoleGranted", logs: logs, sub: sub}, nil +} + +// WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. +// +// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) +func (_Verify *VerifyFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *VerifyRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) + 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(VerifyRoleGranted) + if err := _Verify.contract.UnpackLog(event, "RoleGranted", 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 +} + +// ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. +// +// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) +func (_Verify *VerifyFilterer) ParseRoleGranted(log types.Log) (*VerifyRoleGranted, error) { + event := new(VerifyRoleGranted) + if err := _Verify.contract.UnpackLog(event, "RoleGranted", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the Verify contract. +type VerifyRoleRevokedIterator struct { + Event *VerifyRoleRevoked // 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 *VerifyRoleRevokedIterator) 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(VerifyRoleRevoked) + 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(VerifyRoleRevoked) + 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 *VerifyRoleRevokedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyRoleRevokedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyRoleRevoked represents a RoleRevoked event raised by the Verify contract. +type VerifyRoleRevoked struct { + Role [32]byte + Account common.Address + Sender common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. +// +// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) +func (_Verify *VerifyFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*VerifyRoleRevokedIterator, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) + if err != nil { + return nil, err + } + return &VerifyRoleRevokedIterator{contract: _Verify.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil +} + +// WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. +// +// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) +func (_Verify *VerifyFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *VerifyRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) + 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(VerifyRoleRevoked) + if err := _Verify.contract.UnpackLog(event, "RoleRevoked", 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 +} + +// ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. +// +// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) +func (_Verify *VerifyFilterer) ParseRoleRevoked(log types.Log) (*VerifyRoleRevoked, error) { + event := new(VerifyRoleRevoked) + if err := _Verify.contract.UnpackLog(event, "RoleRevoked", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifySetBatchFeeIterator is returned from FilterSetBatchFee and is used to iterate over the raw logs and unpacked data for SetBatchFee events raised by the Verify contract. +type VerifySetBatchFeeIterator struct { + Event *VerifySetBatchFee // 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 *VerifySetBatchFeeIterator) 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(VerifySetBatchFee) + 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(VerifySetBatchFee) + 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 *VerifySetBatchFeeIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifySetBatchFeeIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifySetBatchFee represents a SetBatchFee event raised by the Verify contract. +type VerifySetBatchFee struct { + NewBatchFee *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetBatchFee is a free log retrieval operation binding the contract event 0xfb383653f53ee079978d0c9aff7aeff04a10166ce244cca9c9f9d8d96bed45b2. +// +// Solidity: event SetBatchFee(uint256 newBatchFee) +func (_Verify *VerifyFilterer) FilterSetBatchFee(opts *bind.FilterOpts) (*VerifySetBatchFeeIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "SetBatchFee") + if err != nil { + return nil, err + } + return &VerifySetBatchFeeIterator{contract: _Verify.contract, event: "SetBatchFee", logs: logs, sub: sub}, nil +} + +// WatchSetBatchFee is a free log subscription operation binding the contract event 0xfb383653f53ee079978d0c9aff7aeff04a10166ce244cca9c9f9d8d96bed45b2. +// +// Solidity: event SetBatchFee(uint256 newBatchFee) +func (_Verify *VerifyFilterer) WatchSetBatchFee(opts *bind.WatchOpts, sink chan<- *VerifySetBatchFee) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "SetBatchFee") + 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(VerifySetBatchFee) + if err := _Verify.contract.UnpackLog(event, "SetBatchFee", 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 +} + +// ParseSetBatchFee is a log parse operation binding the contract event 0xfb383653f53ee079978d0c9aff7aeff04a10166ce244cca9c9f9d8d96bed45b2. +// +// Solidity: event SetBatchFee(uint256 newBatchFee) +func (_Verify *VerifyFilterer) ParseSetBatchFee(log types.Log) (*VerifySetBatchFee, error) { + event := new(VerifySetBatchFee) + if err := _Verify.contract.UnpackLog(event, "SetBatchFee", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifySetMultiplierBatchFeeIterator is returned from FilterSetMultiplierBatchFee and is used to iterate over the raw logs and unpacked data for SetMultiplierBatchFee events raised by the Verify contract. +type VerifySetMultiplierBatchFeeIterator struct { + Event *VerifySetMultiplierBatchFee // 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 *VerifySetMultiplierBatchFeeIterator) 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(VerifySetMultiplierBatchFee) + 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(VerifySetMultiplierBatchFee) + 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 *VerifySetMultiplierBatchFeeIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifySetMultiplierBatchFeeIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifySetMultiplierBatchFee represents a SetMultiplierBatchFee event raised by the Verify contract. +type VerifySetMultiplierBatchFee struct { + NewMultiplierBatchFee uint16 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetMultiplierBatchFee is a free log retrieval operation binding the contract event 0x7019933d795eba185c180209e8ae8bffbaa25bcef293364687702c31f4d302c5. +// +// Solidity: event SetMultiplierBatchFee(uint16 newMultiplierBatchFee) +func (_Verify *VerifyFilterer) FilterSetMultiplierBatchFee(opts *bind.FilterOpts) (*VerifySetMultiplierBatchFeeIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "SetMultiplierBatchFee") + if err != nil { + return nil, err + } + return &VerifySetMultiplierBatchFeeIterator{contract: _Verify.contract, event: "SetMultiplierBatchFee", logs: logs, sub: sub}, nil +} + +// WatchSetMultiplierBatchFee is a free log subscription operation binding the contract event 0x7019933d795eba185c180209e8ae8bffbaa25bcef293364687702c31f4d302c5. +// +// Solidity: event SetMultiplierBatchFee(uint16 newMultiplierBatchFee) +func (_Verify *VerifyFilterer) WatchSetMultiplierBatchFee(opts *bind.WatchOpts, sink chan<- *VerifySetMultiplierBatchFee) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "SetMultiplierBatchFee") + 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(VerifySetMultiplierBatchFee) + if err := _Verify.contract.UnpackLog(event, "SetMultiplierBatchFee", 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 +} + +// ParseSetMultiplierBatchFee is a log parse operation binding the contract event 0x7019933d795eba185c180209e8ae8bffbaa25bcef293364687702c31f4d302c5. +// +// Solidity: event SetMultiplierBatchFee(uint16 newMultiplierBatchFee) +func (_Verify *VerifyFilterer) ParseSetMultiplierBatchFee(log types.Log) (*VerifySetMultiplierBatchFee, error) { + event := new(VerifySetMultiplierBatchFee) + if err := _Verify.contract.UnpackLog(event, "SetMultiplierBatchFee", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifySetPendingStateTimeoutIterator is returned from FilterSetPendingStateTimeout and is used to iterate over the raw logs and unpacked data for SetPendingStateTimeout events raised by the Verify contract. +type VerifySetPendingStateTimeoutIterator struct { + Event *VerifySetPendingStateTimeout // 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 *VerifySetPendingStateTimeoutIterator) 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(VerifySetPendingStateTimeout) + 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(VerifySetPendingStateTimeout) + 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 *VerifySetPendingStateTimeoutIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifySetPendingStateTimeoutIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifySetPendingStateTimeout represents a SetPendingStateTimeout event raised by the Verify contract. +type VerifySetPendingStateTimeout struct { + NewPendingStateTimeout uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetPendingStateTimeout is a free log retrieval operation binding the contract event 0xc4121f4e22c69632ebb7cf1f462be0511dc034f999b52013eddfb24aab765c75. +// +// Solidity: event SetPendingStateTimeout(uint64 newPendingStateTimeout) +func (_Verify *VerifyFilterer) FilterSetPendingStateTimeout(opts *bind.FilterOpts) (*VerifySetPendingStateTimeoutIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "SetPendingStateTimeout") + if err != nil { + return nil, err + } + return &VerifySetPendingStateTimeoutIterator{contract: _Verify.contract, event: "SetPendingStateTimeout", logs: logs, sub: sub}, nil +} + +// WatchSetPendingStateTimeout is a free log subscription operation binding the contract event 0xc4121f4e22c69632ebb7cf1f462be0511dc034f999b52013eddfb24aab765c75. +// +// Solidity: event SetPendingStateTimeout(uint64 newPendingStateTimeout) +func (_Verify *VerifyFilterer) WatchSetPendingStateTimeout(opts *bind.WatchOpts, sink chan<- *VerifySetPendingStateTimeout) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "SetPendingStateTimeout") + 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(VerifySetPendingStateTimeout) + if err := _Verify.contract.UnpackLog(event, "SetPendingStateTimeout", 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 +} + +// ParseSetPendingStateTimeout is a log parse operation binding the contract event 0xc4121f4e22c69632ebb7cf1f462be0511dc034f999b52013eddfb24aab765c75. +// +// Solidity: event SetPendingStateTimeout(uint64 newPendingStateTimeout) +func (_Verify *VerifyFilterer) ParseSetPendingStateTimeout(log types.Log) (*VerifySetPendingStateTimeout, error) { + event := new(VerifySetPendingStateTimeout) + if err := _Verify.contract.UnpackLog(event, "SetPendingStateTimeout", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifySetTrustedAggregatorIterator is returned from FilterSetTrustedAggregator and is used to iterate over the raw logs and unpacked data for SetTrustedAggregator events raised by the Verify contract. +type VerifySetTrustedAggregatorIterator struct { + Event *VerifySetTrustedAggregator // 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 *VerifySetTrustedAggregatorIterator) 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(VerifySetTrustedAggregator) + 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(VerifySetTrustedAggregator) + 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 *VerifySetTrustedAggregatorIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifySetTrustedAggregatorIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifySetTrustedAggregator represents a SetTrustedAggregator event raised by the Verify contract. +type VerifySetTrustedAggregator struct { + NewTrustedAggregator common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetTrustedAggregator is a free log retrieval operation binding the contract event 0x61f8fec29495a3078e9271456f05fb0707fd4e41f7661865f80fc437d06681ca. +// +// Solidity: event SetTrustedAggregator(address newTrustedAggregator) +func (_Verify *VerifyFilterer) FilterSetTrustedAggregator(opts *bind.FilterOpts) (*VerifySetTrustedAggregatorIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "SetTrustedAggregator") + if err != nil { + return nil, err + } + return &VerifySetTrustedAggregatorIterator{contract: _Verify.contract, event: "SetTrustedAggregator", logs: logs, sub: sub}, nil +} + +// WatchSetTrustedAggregator is a free log subscription operation binding the contract event 0x61f8fec29495a3078e9271456f05fb0707fd4e41f7661865f80fc437d06681ca. +// +// Solidity: event SetTrustedAggregator(address newTrustedAggregator) +func (_Verify *VerifyFilterer) WatchSetTrustedAggregator(opts *bind.WatchOpts, sink chan<- *VerifySetTrustedAggregator) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "SetTrustedAggregator") + 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(VerifySetTrustedAggregator) + if err := _Verify.contract.UnpackLog(event, "SetTrustedAggregator", 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 +} + +// ParseSetTrustedAggregator is a log parse operation binding the contract event 0x61f8fec29495a3078e9271456f05fb0707fd4e41f7661865f80fc437d06681ca. +// +// Solidity: event SetTrustedAggregator(address newTrustedAggregator) +func (_Verify *VerifyFilterer) ParseSetTrustedAggregator(log types.Log) (*VerifySetTrustedAggregator, error) { + event := new(VerifySetTrustedAggregator) + if err := _Verify.contract.UnpackLog(event, "SetTrustedAggregator", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifySetTrustedAggregatorTimeoutIterator is returned from FilterSetTrustedAggregatorTimeout and is used to iterate over the raw logs and unpacked data for SetTrustedAggregatorTimeout events raised by the Verify contract. +type VerifySetTrustedAggregatorTimeoutIterator struct { + Event *VerifySetTrustedAggregatorTimeout // 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 *VerifySetTrustedAggregatorTimeoutIterator) 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(VerifySetTrustedAggregatorTimeout) + 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(VerifySetTrustedAggregatorTimeout) + 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 *VerifySetTrustedAggregatorTimeoutIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifySetTrustedAggregatorTimeoutIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifySetTrustedAggregatorTimeout represents a SetTrustedAggregatorTimeout event raised by the Verify contract. +type VerifySetTrustedAggregatorTimeout struct { + NewTrustedAggregatorTimeout uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetTrustedAggregatorTimeout is a free log retrieval operation binding the contract event 0x1f4fa24c2e4bad19a7f3ec5c5485f70d46c798461c2e684f55bbd0fc661373a1. +// +// Solidity: event SetTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) +func (_Verify *VerifyFilterer) FilterSetTrustedAggregatorTimeout(opts *bind.FilterOpts) (*VerifySetTrustedAggregatorTimeoutIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "SetTrustedAggregatorTimeout") + if err != nil { + return nil, err + } + return &VerifySetTrustedAggregatorTimeoutIterator{contract: _Verify.contract, event: "SetTrustedAggregatorTimeout", logs: logs, sub: sub}, nil +} + +// WatchSetTrustedAggregatorTimeout is a free log subscription operation binding the contract event 0x1f4fa24c2e4bad19a7f3ec5c5485f70d46c798461c2e684f55bbd0fc661373a1. +// +// Solidity: event SetTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) +func (_Verify *VerifyFilterer) WatchSetTrustedAggregatorTimeout(opts *bind.WatchOpts, sink chan<- *VerifySetTrustedAggregatorTimeout) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "SetTrustedAggregatorTimeout") + 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(VerifySetTrustedAggregatorTimeout) + if err := _Verify.contract.UnpackLog(event, "SetTrustedAggregatorTimeout", 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 +} + +// ParseSetTrustedAggregatorTimeout is a log parse operation binding the contract event 0x1f4fa24c2e4bad19a7f3ec5c5485f70d46c798461c2e684f55bbd0fc661373a1. +// +// Solidity: event SetTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) +func (_Verify *VerifyFilterer) ParseSetTrustedAggregatorTimeout(log types.Log) (*VerifySetTrustedAggregatorTimeout, error) { + event := new(VerifySetTrustedAggregatorTimeout) + if err := _Verify.contract.UnpackLog(event, "SetTrustedAggregatorTimeout", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifySetVerifyBatchTimeTargetIterator is returned from FilterSetVerifyBatchTimeTarget and is used to iterate over the raw logs and unpacked data for SetVerifyBatchTimeTarget events raised by the Verify contract. +type VerifySetVerifyBatchTimeTargetIterator struct { + Event *VerifySetVerifyBatchTimeTarget // 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 *VerifySetVerifyBatchTimeTargetIterator) 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(VerifySetVerifyBatchTimeTarget) + 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(VerifySetVerifyBatchTimeTarget) + 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 *VerifySetVerifyBatchTimeTargetIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifySetVerifyBatchTimeTargetIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifySetVerifyBatchTimeTarget represents a SetVerifyBatchTimeTarget event raised by the Verify contract. +type VerifySetVerifyBatchTimeTarget struct { + NewVerifyBatchTimeTarget uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetVerifyBatchTimeTarget is a free log retrieval operation binding the contract event 0x1b023231a1ab6b5d93992f168fb44498e1a7e64cef58daff6f1c216de6a68c28. +// +// Solidity: event SetVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) +func (_Verify *VerifyFilterer) FilterSetVerifyBatchTimeTarget(opts *bind.FilterOpts) (*VerifySetVerifyBatchTimeTargetIterator, error) { + + logs, sub, err := _Verify.contract.FilterLogs(opts, "SetVerifyBatchTimeTarget") + if err != nil { + return nil, err + } + return &VerifySetVerifyBatchTimeTargetIterator{contract: _Verify.contract, event: "SetVerifyBatchTimeTarget", logs: logs, sub: sub}, nil +} + +// WatchSetVerifyBatchTimeTarget is a free log subscription operation binding the contract event 0x1b023231a1ab6b5d93992f168fb44498e1a7e64cef58daff6f1c216de6a68c28. +// +// Solidity: event SetVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) +func (_Verify *VerifyFilterer) WatchSetVerifyBatchTimeTarget(opts *bind.WatchOpts, sink chan<- *VerifySetVerifyBatchTimeTarget) (event.Subscription, error) { + + logs, sub, err := _Verify.contract.WatchLogs(opts, "SetVerifyBatchTimeTarget") + 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(VerifySetVerifyBatchTimeTarget) + if err := _Verify.contract.UnpackLog(event, "SetVerifyBatchTimeTarget", 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 +} + +// ParseSetVerifyBatchTimeTarget is a log parse operation binding the contract event 0x1b023231a1ab6b5d93992f168fb44498e1a7e64cef58daff6f1c216de6a68c28. +// +// Solidity: event SetVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) +func (_Verify *VerifyFilterer) ParseSetVerifyBatchTimeTarget(log types.Log) (*VerifySetVerifyBatchTimeTarget, error) { + event := new(VerifySetVerifyBatchTimeTarget) + if err := _Verify.contract.UnpackLog(event, "SetVerifyBatchTimeTarget", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyUpdateRollupIterator is returned from FilterUpdateRollup and is used to iterate over the raw logs and unpacked data for UpdateRollup events raised by the Verify contract. +type VerifyUpdateRollupIterator struct { + Event *VerifyUpdateRollup // 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 *VerifyUpdateRollupIterator) 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(VerifyUpdateRollup) + 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(VerifyUpdateRollup) + 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 *VerifyUpdateRollupIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyUpdateRollupIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyUpdateRollup represents a UpdateRollup event raised by the Verify contract. +type VerifyUpdateRollup struct { + RollupID uint32 + NewRollupTypeID uint32 + LastVerifiedBatchBeforeUpgrade uint64 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterUpdateRollup is a free log retrieval operation binding the contract event 0xf585e04c05d396901170247783d3e5f0ee9c1df23072985b50af089f5e48b19d. +// +// Solidity: event UpdateRollup(uint32 indexed rollupID, uint32 newRollupTypeID, uint64 lastVerifiedBatchBeforeUpgrade) +func (_Verify *VerifyFilterer) FilterUpdateRollup(opts *bind.FilterOpts, rollupID []uint32) (*VerifyUpdateRollupIterator, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "UpdateRollup", rollupIDRule) + if err != nil { + return nil, err + } + return &VerifyUpdateRollupIterator{contract: _Verify.contract, event: "UpdateRollup", logs: logs, sub: sub}, nil +} + +// WatchUpdateRollup is a free log subscription operation binding the contract event 0xf585e04c05d396901170247783d3e5f0ee9c1df23072985b50af089f5e48b19d. +// +// Solidity: event UpdateRollup(uint32 indexed rollupID, uint32 newRollupTypeID, uint64 lastVerifiedBatchBeforeUpgrade) +func (_Verify *VerifyFilterer) WatchUpdateRollup(opts *bind.WatchOpts, sink chan<- *VerifyUpdateRollup, rollupID []uint32) (event.Subscription, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "UpdateRollup", rollupIDRule) + 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(VerifyUpdateRollup) + if err := _Verify.contract.UnpackLog(event, "UpdateRollup", 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 +} + +// ParseUpdateRollup is a log parse operation binding the contract event 0xf585e04c05d396901170247783d3e5f0ee9c1df23072985b50af089f5e48b19d. +// +// Solidity: event UpdateRollup(uint32 indexed rollupID, uint32 newRollupTypeID, uint64 lastVerifiedBatchBeforeUpgrade) +func (_Verify *VerifyFilterer) ParseUpdateRollup(log types.Log) (*VerifyUpdateRollup, error) { + event := new(VerifyUpdateRollup) + if err := _Verify.contract.UnpackLog(event, "UpdateRollup", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyVerifyBatchesIterator is returned from FilterVerifyBatches and is used to iterate over the raw logs and unpacked data for VerifyBatches events raised by the Verify contract. +type VerifyVerifyBatchesIterator struct { + Event *VerifyVerifyBatches // 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 *VerifyVerifyBatchesIterator) 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(VerifyVerifyBatches) + 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(VerifyVerifyBatches) + 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 *VerifyVerifyBatchesIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyVerifyBatchesIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyVerifyBatches represents a VerifyBatches event raised by the Verify contract. +type VerifyVerifyBatches struct { + RollupID uint32 + NumBatch uint64 + StateRoot [32]byte + ExitRoot [32]byte + Aggregator common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterVerifyBatches is a free log retrieval operation binding the contract event 0xaac1e7a157b259544ebacd6e8a82ae5d6c8f174e12aa48696277bcc9a661f0b4. +// +// Solidity: event VerifyBatches(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address indexed aggregator) +func (_Verify *VerifyFilterer) FilterVerifyBatches(opts *bind.FilterOpts, rollupID []uint32, aggregator []common.Address) (*VerifyVerifyBatchesIterator, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + var aggregatorRule []interface{} + for _, aggregatorItem := range aggregator { + aggregatorRule = append(aggregatorRule, aggregatorItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "VerifyBatches", rollupIDRule, aggregatorRule) + if err != nil { + return nil, err + } + return &VerifyVerifyBatchesIterator{contract: _Verify.contract, event: "VerifyBatches", logs: logs, sub: sub}, nil +} + +// WatchVerifyBatches is a free log subscription operation binding the contract event 0xaac1e7a157b259544ebacd6e8a82ae5d6c8f174e12aa48696277bcc9a661f0b4. +// +// Solidity: event VerifyBatches(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address indexed aggregator) +func (_Verify *VerifyFilterer) WatchVerifyBatches(opts *bind.WatchOpts, sink chan<- *VerifyVerifyBatches, rollupID []uint32, aggregator []common.Address) (event.Subscription, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + var aggregatorRule []interface{} + for _, aggregatorItem := range aggregator { + aggregatorRule = append(aggregatorRule, aggregatorItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "VerifyBatches", rollupIDRule, aggregatorRule) + 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(VerifyVerifyBatches) + if err := _Verify.contract.UnpackLog(event, "VerifyBatches", 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 +} + +// ParseVerifyBatches is a log parse operation binding the contract event 0xaac1e7a157b259544ebacd6e8a82ae5d6c8f174e12aa48696277bcc9a661f0b4. +// +// Solidity: event VerifyBatches(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address indexed aggregator) +func (_Verify *VerifyFilterer) ParseVerifyBatches(log types.Log) (*VerifyVerifyBatches, error) { + event := new(VerifyVerifyBatches) + if err := _Verify.contract.UnpackLog(event, "VerifyBatches", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// VerifyVerifyBatchesTrustedAggregatorIterator is returned from FilterVerifyBatchesTrustedAggregator and is used to iterate over the raw logs and unpacked data for VerifyBatchesTrustedAggregator events raised by the Verify contract. +type VerifyVerifyBatchesTrustedAggregatorIterator struct { + Event *VerifyVerifyBatchesTrustedAggregator // 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 *VerifyVerifyBatchesTrustedAggregatorIterator) 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(VerifyVerifyBatchesTrustedAggregator) + 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(VerifyVerifyBatchesTrustedAggregator) + 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 *VerifyVerifyBatchesTrustedAggregatorIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *VerifyVerifyBatchesTrustedAggregatorIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// VerifyVerifyBatchesTrustedAggregator represents a VerifyBatchesTrustedAggregator event raised by the Verify contract. +type VerifyVerifyBatchesTrustedAggregator struct { + RollupID uint32 + NumBatch uint64 + StateRoot [32]byte + ExitRoot [32]byte + Aggregator common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterVerifyBatchesTrustedAggregator is a free log retrieval operation binding the contract event 0xd1ec3a1216f08b6eff72e169ceb548b782db18a6614852618d86bb19f3f9b0d3. +// +// Solidity: event VerifyBatchesTrustedAggregator(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address indexed aggregator) +func (_Verify *VerifyFilterer) FilterVerifyBatchesTrustedAggregator(opts *bind.FilterOpts, rollupID []uint32, aggregator []common.Address) (*VerifyVerifyBatchesTrustedAggregatorIterator, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + var aggregatorRule []interface{} + for _, aggregatorItem := range aggregator { + aggregatorRule = append(aggregatorRule, aggregatorItem) + } + + logs, sub, err := _Verify.contract.FilterLogs(opts, "VerifyBatchesTrustedAggregator", rollupIDRule, aggregatorRule) + if err != nil { + return nil, err + } + return &VerifyVerifyBatchesTrustedAggregatorIterator{contract: _Verify.contract, event: "VerifyBatchesTrustedAggregator", logs: logs, sub: sub}, nil +} + +// WatchVerifyBatchesTrustedAggregator is a free log subscription operation binding the contract event 0xd1ec3a1216f08b6eff72e169ceb548b782db18a6614852618d86bb19f3f9b0d3. +// +// Solidity: event VerifyBatchesTrustedAggregator(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address indexed aggregator) +func (_Verify *VerifyFilterer) WatchVerifyBatchesTrustedAggregator(opts *bind.WatchOpts, sink chan<- *VerifyVerifyBatchesTrustedAggregator, rollupID []uint32, aggregator []common.Address) (event.Subscription, error) { + + var rollupIDRule []interface{} + for _, rollupIDItem := range rollupID { + rollupIDRule = append(rollupIDRule, rollupIDItem) + } + + var aggregatorRule []interface{} + for _, aggregatorItem := range aggregator { + aggregatorRule = append(aggregatorRule, aggregatorItem) + } + + logs, sub, err := _Verify.contract.WatchLogs(opts, "VerifyBatchesTrustedAggregator", rollupIDRule, aggregatorRule) + 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(VerifyVerifyBatchesTrustedAggregator) + if err := _Verify.contract.UnpackLog(event, "VerifyBatchesTrustedAggregator", 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 +} + +// ParseVerifyBatchesTrustedAggregator is a log parse operation binding the contract event 0xd1ec3a1216f08b6eff72e169ceb548b782db18a6614852618d86bb19f3f9b0d3. +// +// Solidity: event VerifyBatchesTrustedAggregator(uint32 indexed rollupID, uint64 numBatch, bytes32 stateRoot, bytes32 exitRoot, address indexed aggregator) +func (_Verify *VerifyFilterer) ParseVerifyBatchesTrustedAggregator(log types.Log) (*VerifyVerifyBatchesTrustedAggregator, error) { + event := new(VerifyVerifyBatchesTrustedAggregator) + if err := _Verify.contract.UnpackLog(event, "VerifyBatchesTrustedAggregator", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/pkg/contract/zkEVM.go b/pkg/contract/zkEVM.go deleted file mode 100644 index ba644fb..0000000 --- a/pkg/contract/zkEVM.go +++ /dev/null @@ -1,5286 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package contract - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// PolygonZkEVMBatchData is an auto generated low-level Go binding around an user-defined struct. -type PolygonZkEVMBatchData struct { - Transactions []byte - GlobalExitRoot [32]byte - Timestamp uint64 - MinForcedTimestamp uint64 -} - -// PolygonZkEVMForcedBatchData is an auto generated low-level Go binding around an user-defined struct. -type PolygonZkEVMForcedBatchData struct { - Transactions []byte - GlobalExitRoot [32]byte - MinForcedTimestamp uint64 -} - -// PolygonZkEVMInitializePackedParameters is an auto generated low-level Go binding around an user-defined struct. -type PolygonZkEVMInitializePackedParameters struct { - Admin common.Address - TrustedSequencer common.Address - PendingStateTimeout uint64 - TrustedAggregator common.Address - TrustedAggregatorTimeout uint64 -} - -// ZkEVMMetaData contains all meta data concerning the ZkEVM contract. -var ZkEVMMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"contractIPolygonZkEVMGlobalExitRoot\",\"name\":\"_globalExitRootManager\",\"type\":\"address\"},{\"internalType\":\"contractIERC20Upgradeable\",\"name\":\"_matic\",\"type\":\"address\"},{\"internalType\":\"contractIVerifierRollup\",\"name\":\"_rollupVerifier\",\"type\":\"address\"},{\"internalType\":\"contractIPolygonZkEVMBridge\",\"name\":\"_bridgeAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_chainID\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_forkID\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BatchAlreadyVerified\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BatchNotSequencedOrNotSequenceEnd\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedMaxVerifyBatches\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalNumBatchBelowLastVerifiedBatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalNumBatchDoesNotMatchPendingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FinalPendingStateNumInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchTimeoutNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchesAlreadyActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForceBatchesOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ForcedDataDoesNotMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GlobalExitRootNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HaltTimeoutNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitNumBatchAboveLastVerifiedBatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitNumBatchDoesNotMatchPendingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRangeBatchTimeTarget\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRangeForceBatchTimeout\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRangeMultiplierBatchFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewAccInputHashDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewPendingStateTimeoutMustBeLower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewStateRootNotInsidePrime\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewTrustedAggregatorTimeoutMustBeLower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughMaticAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OldAccInputHashDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OldStateRootDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyEmergencyState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyNotEmergencyState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyPendingAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyTrustedAggregator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyTrustedSequencer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateNotConsolidable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingStateTimeoutExceedHaltAggregationTimeout\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequenceZeroBatches\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequencedTimestampBelowForcedTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequencedTimestampInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoredRootMustBeDifferentThanNewRoot\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransactionsLengthAboveMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TrustedAggregatorTimeoutExceedHaltAggregationTimeout\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TrustedAggregatorTimeoutNotExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AcceptAdminRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ActivateForceBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"}],\"name\":\"ConsolidatePendingState\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EmergencyStateActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EmergencyStateDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"forceBatchNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastGlobalExitRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sequencer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"}],\"name\":\"ForceBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"OverridePendingState\",\"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\":\"bytes32\",\"name\":\"storedStateRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"provedStateRoot\",\"type\":\"bytes32\"}],\"name\":\"ProveNonDeterministicPendingState\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"}],\"name\":\"SequenceBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"}],\"name\":\"SequenceForceBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newforceBatchTimeout\",\"type\":\"uint64\"}],\"name\":\"SetForceBatchTimeout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"newMultiplierBatchFee\",\"type\":\"uint16\"}],\"name\":\"SetMultiplierBatchFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newPendingStateTimeout\",\"type\":\"uint64\"}],\"name\":\"SetPendingStateTimeout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTrustedAggregator\",\"type\":\"address\"}],\"name\":\"SetTrustedAggregator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newTrustedAggregatorTimeout\",\"type\":\"uint64\"}],\"name\":\"SetTrustedAggregatorTimeout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTrustedSequencer\",\"type\":\"address\"}],\"name\":\"SetTrustedSequencer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newTrustedSequencerURL\",\"type\":\"string\"}],\"name\":\"SetTrustedSequencerURL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newVerifyBatchTimeTarget\",\"type\":\"uint64\"}],\"name\":\"SetVerifyBatchTimeTarget\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newPendingAdmin\",\"type\":\"address\"}],\"name\":\"TransferAdminRole\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"forkID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"UpdateZkEVMVersion\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"VerifyBatches\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"numBatch\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"VerifyBatchesTrustedAggregator\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptAdminRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"sequencedBatchNum\",\"type\":\"uint64\"}],\"name\":\"activateEmergencyState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activateForceBatches\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batchFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"batchNumToStateRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bridgeAddress\",\"outputs\":[{\"internalType\":\"contractIPolygonZkEVMBridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calculateRewardPerBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chainID\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newStateRoot\",\"type\":\"uint256\"}],\"name\":\"checkStateRootInsidePrime\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"}],\"name\":\"consolidatePendingState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateEmergencyState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"maticAmount\",\"type\":\"uint256\"}],\"name\":\"forceBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"forceBatchTimeout\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"forcedBatches\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"forkID\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getForcedBatchFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"oldStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"}],\"name\":\"getInputSnarkBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastVerifiedBatch\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"globalExitRootManager\",\"outputs\":[{\"internalType\":\"contractIPolygonZkEVMGlobalExitRoot\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"trustedSequencer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"pendingStateTimeout\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"trustedAggregator\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"trustedAggregatorTimeout\",\"type\":\"uint64\"}],\"internalType\":\"structPolygonZkEVM.InitializePackedParameters\",\"name\":\"initializePackedParameters\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"genesisRoot\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_trustedSequencerURL\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_networkName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_version\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isEmergencyState\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isForcedBatchDisallowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"}],\"name\":\"isPendingStateConsolidable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastBatchSequenced\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastForceBatch\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastForceBatchSequenced\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastPendingState\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastPendingStateConsolidated\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastVerifiedBatch\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"matic\",\"outputs\":[{\"internalType\":\"contractIERC20Upgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multiplierBatchFee\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initPendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalPendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[24]\",\"name\":\"proof\",\"type\":\"bytes32[24]\"}],\"name\":\"overridePendingState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingStateTimeout\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pendingStateTransitions\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"exitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initPendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalPendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[24]\",\"name\":\"proof\",\"type\":\"bytes32[24]\"}],\"name\":\"proveNonDeterministicPendingState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollupVerifier\",\"outputs\":[{\"internalType\":\"contractIVerifierRollup\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"globalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"minForcedTimestamp\",\"type\":\"uint64\"}],\"internalType\":\"structPolygonZkEVM.BatchData[]\",\"name\":\"batches\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"l2Coinbase\",\"type\":\"address\"}],\"name\":\"sequenceBatches\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"globalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"minForcedTimestamp\",\"type\":\"uint64\"}],\"internalType\":\"structPolygonZkEVM.ForcedBatchData[]\",\"name\":\"batches\",\"type\":\"tuple[]\"}],\"name\":\"sequenceForceBatches\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"sequencedBatches\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"accInputHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"sequencedTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"previousLastBatchSequenced\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newforceBatchTimeout\",\"type\":\"uint64\"}],\"name\":\"setForceBatchTimeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"newMultiplierBatchFee\",\"type\":\"uint16\"}],\"name\":\"setMultiplierBatchFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newPendingStateTimeout\",\"type\":\"uint64\"}],\"name\":\"setPendingStateTimeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newTrustedAggregator\",\"type\":\"address\"}],\"name\":\"setTrustedAggregator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newTrustedAggregatorTimeout\",\"type\":\"uint64\"}],\"name\":\"setTrustedAggregatorTimeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newTrustedSequencer\",\"type\":\"address\"}],\"name\":\"setTrustedSequencer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newTrustedSequencerURL\",\"type\":\"string\"}],\"name\":\"setTrustedSequencerURL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVerifyBatchTimeTarget\",\"type\":\"uint64\"}],\"name\":\"setVerifyBatchTimeTarget\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newPendingAdmin\",\"type\":\"address\"}],\"name\":\"transferAdminRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedAggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedAggregatorTimeout\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedSequencer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedSequencerURL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifyBatchTimeTarget\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[24]\",\"name\":\"proof\",\"type\":\"bytes32[24]\"}],\"name\":\"verifyBatches\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"pendingStateNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initNumBatch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalNewBatch\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"newLocalExitRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[24]\",\"name\":\"proof\",\"type\":\"bytes32[24]\"}],\"name\":\"verifyBatchesTrustedAggregator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", -} - -// ZkEVMABI is the input ABI used to generate the binding from. -// Deprecated: Use ZkEVMMetaData.ABI instead. -var ZkEVMABI = ZkEVMMetaData.ABI - -// ZkEVM is an auto generated Go binding around an Ethereum contract. -type ZkEVM struct { - ZkEVMCaller // Read-only binding to the contract - ZkEVMTransactor // Write-only binding to the contract - ZkEVMFilterer // Log filterer for contract events -} - -// ZkEVMCaller is an auto generated read-only Go binding around an Ethereum contract. -type ZkEVMCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ZkEVMTransactor is an auto generated write-only Go binding around an Ethereum contract. -type ZkEVMTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ZkEVMFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type ZkEVMFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ZkEVMSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type ZkEVMSession struct { - Contract *ZkEVM // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ZkEVMCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type ZkEVMCallerSession struct { - Contract *ZkEVMCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// ZkEVMTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type ZkEVMTransactorSession struct { - Contract *ZkEVMTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ZkEVMRaw is an auto generated low-level Go binding around an Ethereum contract. -type ZkEVMRaw struct { - Contract *ZkEVM // Generic contract binding to access the raw methods on -} - -// ZkEVMCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type ZkEVMCallerRaw struct { - Contract *ZkEVMCaller // Generic read-only contract binding to access the raw methods on -} - -// ZkEVMTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type ZkEVMTransactorRaw struct { - Contract *ZkEVMTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewZkEVM creates a new instance of ZkEVM, bound to a specific deployed contract. -func NewZkEVM(address common.Address, backend bind.ContractBackend) (*ZkEVM, error) { - contract, err := bindZkEVM(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &ZkEVM{ZkEVMCaller: ZkEVMCaller{contract: contract}, ZkEVMTransactor: ZkEVMTransactor{contract: contract}, ZkEVMFilterer: ZkEVMFilterer{contract: contract}}, nil -} - -// NewZkEVMCaller creates a new read-only instance of ZkEVM, bound to a specific deployed contract. -func NewZkEVMCaller(address common.Address, caller bind.ContractCaller) (*ZkEVMCaller, error) { - contract, err := bindZkEVM(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &ZkEVMCaller{contract: contract}, nil -} - -// NewZkEVMTransactor creates a new write-only instance of ZkEVM, bound to a specific deployed contract. -func NewZkEVMTransactor(address common.Address, transactor bind.ContractTransactor) (*ZkEVMTransactor, error) { - contract, err := bindZkEVM(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &ZkEVMTransactor{contract: contract}, nil -} - -// NewZkEVMFilterer creates a new log filterer instance of ZkEVM, bound to a specific deployed contract. -func NewZkEVMFilterer(address common.Address, filterer bind.ContractFilterer) (*ZkEVMFilterer, error) { - contract, err := bindZkEVM(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &ZkEVMFilterer{contract: contract}, nil -} - -// bindZkEVM binds a generic wrapper to an already deployed contract. -func bindZkEVM(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := ZkEVMMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_ZkEVM *ZkEVMRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _ZkEVM.Contract.ZkEVMCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_ZkEVM *ZkEVMRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ZkEVM.Contract.ZkEVMTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_ZkEVM *ZkEVMRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _ZkEVM.Contract.ZkEVMTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_ZkEVM *ZkEVMCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _ZkEVM.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_ZkEVM *ZkEVMTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ZkEVM.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_ZkEVM *ZkEVMTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _ZkEVM.Contract.contract.Transact(opts, method, params...) -} - -// Admin is a free data retrieval call binding the contract method 0xf851a440. -// -// Solidity: function admin() view returns(address) -func (_ZkEVM *ZkEVMCaller) Admin(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "admin") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Admin is a free data retrieval call binding the contract method 0xf851a440. -// -// Solidity: function admin() view returns(address) -func (_ZkEVM *ZkEVMSession) Admin() (common.Address, error) { - return _ZkEVM.Contract.Admin(&_ZkEVM.CallOpts) -} - -// Admin is a free data retrieval call binding the contract method 0xf851a440. -// -// Solidity: function admin() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) Admin() (common.Address, error) { - return _ZkEVM.Contract.Admin(&_ZkEVM.CallOpts) -} - -// BatchFee is a free data retrieval call binding the contract method 0xf8b823e4. -// -// Solidity: function batchFee() view returns(uint256) -func (_ZkEVM *ZkEVMCaller) BatchFee(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "batchFee") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// BatchFee is a free data retrieval call binding the contract method 0xf8b823e4. -// -// Solidity: function batchFee() view returns(uint256) -func (_ZkEVM *ZkEVMSession) BatchFee() (*big.Int, error) { - return _ZkEVM.Contract.BatchFee(&_ZkEVM.CallOpts) -} - -// BatchFee is a free data retrieval call binding the contract method 0xf8b823e4. -// -// Solidity: function batchFee() view returns(uint256) -func (_ZkEVM *ZkEVMCallerSession) BatchFee() (*big.Int, error) { - return _ZkEVM.Contract.BatchFee(&_ZkEVM.CallOpts) -} - -// BatchNumToStateRoot is a free data retrieval call binding the contract method 0x5392c5e0. -// -// Solidity: function batchNumToStateRoot(uint64 ) view returns(bytes32) -func (_ZkEVM *ZkEVMCaller) BatchNumToStateRoot(opts *bind.CallOpts, arg0 uint64) ([32]byte, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "batchNumToStateRoot", arg0) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// BatchNumToStateRoot is a free data retrieval call binding the contract method 0x5392c5e0. -// -// Solidity: function batchNumToStateRoot(uint64 ) view returns(bytes32) -func (_ZkEVM *ZkEVMSession) BatchNumToStateRoot(arg0 uint64) ([32]byte, error) { - return _ZkEVM.Contract.BatchNumToStateRoot(&_ZkEVM.CallOpts, arg0) -} - -// BatchNumToStateRoot is a free data retrieval call binding the contract method 0x5392c5e0. -// -// Solidity: function batchNumToStateRoot(uint64 ) view returns(bytes32) -func (_ZkEVM *ZkEVMCallerSession) BatchNumToStateRoot(arg0 uint64) ([32]byte, error) { - return _ZkEVM.Contract.BatchNumToStateRoot(&_ZkEVM.CallOpts, arg0) -} - -// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. -// -// Solidity: function bridgeAddress() view returns(address) -func (_ZkEVM *ZkEVMCaller) BridgeAddress(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "bridgeAddress") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. -// -// Solidity: function bridgeAddress() view returns(address) -func (_ZkEVM *ZkEVMSession) BridgeAddress() (common.Address, error) { - return _ZkEVM.Contract.BridgeAddress(&_ZkEVM.CallOpts) -} - -// BridgeAddress is a free data retrieval call binding the contract method 0xa3c573eb. -// -// Solidity: function bridgeAddress() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) BridgeAddress() (common.Address, error) { - return _ZkEVM.Contract.BridgeAddress(&_ZkEVM.CallOpts) -} - -// CalculateRewardPerBatch is a free data retrieval call binding the contract method 0x99f5634e. -// -// Solidity: function calculateRewardPerBatch() view returns(uint256) -func (_ZkEVM *ZkEVMCaller) CalculateRewardPerBatch(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "calculateRewardPerBatch") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// CalculateRewardPerBatch is a free data retrieval call binding the contract method 0x99f5634e. -// -// Solidity: function calculateRewardPerBatch() view returns(uint256) -func (_ZkEVM *ZkEVMSession) CalculateRewardPerBatch() (*big.Int, error) { - return _ZkEVM.Contract.CalculateRewardPerBatch(&_ZkEVM.CallOpts) -} - -// CalculateRewardPerBatch is a free data retrieval call binding the contract method 0x99f5634e. -// -// Solidity: function calculateRewardPerBatch() view returns(uint256) -func (_ZkEVM *ZkEVMCallerSession) CalculateRewardPerBatch() (*big.Int, error) { - return _ZkEVM.Contract.CalculateRewardPerBatch(&_ZkEVM.CallOpts) -} - -// ChainID is a free data retrieval call binding the contract method 0xadc879e9. -// -// Solidity: function chainID() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) ChainID(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "chainID") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// ChainID is a free data retrieval call binding the contract method 0xadc879e9. -// -// Solidity: function chainID() view returns(uint64) -func (_ZkEVM *ZkEVMSession) ChainID() (uint64, error) { - return _ZkEVM.Contract.ChainID(&_ZkEVM.CallOpts) -} - -// ChainID is a free data retrieval call binding the contract method 0xadc879e9. -// -// Solidity: function chainID() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) ChainID() (uint64, error) { - return _ZkEVM.Contract.ChainID(&_ZkEVM.CallOpts) -} - -// CheckStateRootInsidePrime is a free data retrieval call binding the contract method 0xba58ae39. -// -// Solidity: function checkStateRootInsidePrime(uint256 newStateRoot) pure returns(bool) -func (_ZkEVM *ZkEVMCaller) CheckStateRootInsidePrime(opts *bind.CallOpts, newStateRoot *big.Int) (bool, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "checkStateRootInsidePrime", newStateRoot) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// CheckStateRootInsidePrime is a free data retrieval call binding the contract method 0xba58ae39. -// -// Solidity: function checkStateRootInsidePrime(uint256 newStateRoot) pure returns(bool) -func (_ZkEVM *ZkEVMSession) CheckStateRootInsidePrime(newStateRoot *big.Int) (bool, error) { - return _ZkEVM.Contract.CheckStateRootInsidePrime(&_ZkEVM.CallOpts, newStateRoot) -} - -// CheckStateRootInsidePrime is a free data retrieval call binding the contract method 0xba58ae39. -// -// Solidity: function checkStateRootInsidePrime(uint256 newStateRoot) pure returns(bool) -func (_ZkEVM *ZkEVMCallerSession) CheckStateRootInsidePrime(newStateRoot *big.Int) (bool, error) { - return _ZkEVM.Contract.CheckStateRootInsidePrime(&_ZkEVM.CallOpts, newStateRoot) -} - -// ForceBatchTimeout is a free data retrieval call binding the contract method 0xc754c7ed. -// -// Solidity: function forceBatchTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) ForceBatchTimeout(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "forceBatchTimeout") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// ForceBatchTimeout is a free data retrieval call binding the contract method 0xc754c7ed. -// -// Solidity: function forceBatchTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMSession) ForceBatchTimeout() (uint64, error) { - return _ZkEVM.Contract.ForceBatchTimeout(&_ZkEVM.CallOpts) -} - -// ForceBatchTimeout is a free data retrieval call binding the contract method 0xc754c7ed. -// -// Solidity: function forceBatchTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) ForceBatchTimeout() (uint64, error) { - return _ZkEVM.Contract.ForceBatchTimeout(&_ZkEVM.CallOpts) -} - -// ForcedBatches is a free data retrieval call binding the contract method 0x6b8616ce. -// -// Solidity: function forcedBatches(uint64 ) view returns(bytes32) -func (_ZkEVM *ZkEVMCaller) ForcedBatches(opts *bind.CallOpts, arg0 uint64) ([32]byte, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "forcedBatches", arg0) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// ForcedBatches is a free data retrieval call binding the contract method 0x6b8616ce. -// -// Solidity: function forcedBatches(uint64 ) view returns(bytes32) -func (_ZkEVM *ZkEVMSession) ForcedBatches(arg0 uint64) ([32]byte, error) { - return _ZkEVM.Contract.ForcedBatches(&_ZkEVM.CallOpts, arg0) -} - -// ForcedBatches is a free data retrieval call binding the contract method 0x6b8616ce. -// -// Solidity: function forcedBatches(uint64 ) view returns(bytes32) -func (_ZkEVM *ZkEVMCallerSession) ForcedBatches(arg0 uint64) ([32]byte, error) { - return _ZkEVM.Contract.ForcedBatches(&_ZkEVM.CallOpts, arg0) -} - -// ForkID is a free data retrieval call binding the contract method 0x831c7ead. -// -// Solidity: function forkID() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) ForkID(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "forkID") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// ForkID is a free data retrieval call binding the contract method 0x831c7ead. -// -// Solidity: function forkID() view returns(uint64) -func (_ZkEVM *ZkEVMSession) ForkID() (uint64, error) { - return _ZkEVM.Contract.ForkID(&_ZkEVM.CallOpts) -} - -// ForkID is a free data retrieval call binding the contract method 0x831c7ead. -// -// Solidity: function forkID() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) ForkID() (uint64, error) { - return _ZkEVM.Contract.ForkID(&_ZkEVM.CallOpts) -} - -// GetForcedBatchFee is a free data retrieval call binding the contract method 0x60469169. -// -// Solidity: function getForcedBatchFee() view returns(uint256) -func (_ZkEVM *ZkEVMCaller) GetForcedBatchFee(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "getForcedBatchFee") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetForcedBatchFee is a free data retrieval call binding the contract method 0x60469169. -// -// Solidity: function getForcedBatchFee() view returns(uint256) -func (_ZkEVM *ZkEVMSession) GetForcedBatchFee() (*big.Int, error) { - return _ZkEVM.Contract.GetForcedBatchFee(&_ZkEVM.CallOpts) -} - -// GetForcedBatchFee is a free data retrieval call binding the contract method 0x60469169. -// -// Solidity: function getForcedBatchFee() view returns(uint256) -func (_ZkEVM *ZkEVMCallerSession) GetForcedBatchFee() (*big.Int, error) { - return _ZkEVM.Contract.GetForcedBatchFee(&_ZkEVM.CallOpts) -} - -// GetInputSnarkBytes is a free data retrieval call binding the contract method 0x220d7899. -// -// Solidity: function getInputSnarkBytes(uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 oldStateRoot, bytes32 newStateRoot) view returns(bytes) -func (_ZkEVM *ZkEVMCaller) GetInputSnarkBytes(opts *bind.CallOpts, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, oldStateRoot [32]byte, newStateRoot [32]byte) ([]byte, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "getInputSnarkBytes", initNumBatch, finalNewBatch, newLocalExitRoot, oldStateRoot, newStateRoot) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// GetInputSnarkBytes is a free data retrieval call binding the contract method 0x220d7899. -// -// Solidity: function getInputSnarkBytes(uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 oldStateRoot, bytes32 newStateRoot) view returns(bytes) -func (_ZkEVM *ZkEVMSession) GetInputSnarkBytes(initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, oldStateRoot [32]byte, newStateRoot [32]byte) ([]byte, error) { - return _ZkEVM.Contract.GetInputSnarkBytes(&_ZkEVM.CallOpts, initNumBatch, finalNewBatch, newLocalExitRoot, oldStateRoot, newStateRoot) -} - -// GetInputSnarkBytes is a free data retrieval call binding the contract method 0x220d7899. -// -// Solidity: function getInputSnarkBytes(uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 oldStateRoot, bytes32 newStateRoot) view returns(bytes) -func (_ZkEVM *ZkEVMCallerSession) GetInputSnarkBytes(initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, oldStateRoot [32]byte, newStateRoot [32]byte) ([]byte, error) { - return _ZkEVM.Contract.GetInputSnarkBytes(&_ZkEVM.CallOpts, initNumBatch, finalNewBatch, newLocalExitRoot, oldStateRoot, newStateRoot) -} - -// GetLastVerifiedBatch is a free data retrieval call binding the contract method 0xc0ed84e0. -// -// Solidity: function getLastVerifiedBatch() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) GetLastVerifiedBatch(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "getLastVerifiedBatch") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// GetLastVerifiedBatch is a free data retrieval call binding the contract method 0xc0ed84e0. -// -// Solidity: function getLastVerifiedBatch() view returns(uint64) -func (_ZkEVM *ZkEVMSession) GetLastVerifiedBatch() (uint64, error) { - return _ZkEVM.Contract.GetLastVerifiedBatch(&_ZkEVM.CallOpts) -} - -// GetLastVerifiedBatch is a free data retrieval call binding the contract method 0xc0ed84e0. -// -// Solidity: function getLastVerifiedBatch() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) GetLastVerifiedBatch() (uint64, error) { - return _ZkEVM.Contract.GetLastVerifiedBatch(&_ZkEVM.CallOpts) -} - -// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. -// -// Solidity: function globalExitRootManager() view returns(address) -func (_ZkEVM *ZkEVMCaller) GlobalExitRootManager(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "globalExitRootManager") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. -// -// Solidity: function globalExitRootManager() view returns(address) -func (_ZkEVM *ZkEVMSession) GlobalExitRootManager() (common.Address, error) { - return _ZkEVM.Contract.GlobalExitRootManager(&_ZkEVM.CallOpts) -} - -// GlobalExitRootManager is a free data retrieval call binding the contract method 0xd02103ca. -// -// Solidity: function globalExitRootManager() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) GlobalExitRootManager() (common.Address, error) { - return _ZkEVM.Contract.GlobalExitRootManager(&_ZkEVM.CallOpts) -} - -// IsEmergencyState is a free data retrieval call binding the contract method 0x15064c96. -// -// Solidity: function isEmergencyState() view returns(bool) -func (_ZkEVM *ZkEVMCaller) IsEmergencyState(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "isEmergencyState") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsEmergencyState is a free data retrieval call binding the contract method 0x15064c96. -// -// Solidity: function isEmergencyState() view returns(bool) -func (_ZkEVM *ZkEVMSession) IsEmergencyState() (bool, error) { - return _ZkEVM.Contract.IsEmergencyState(&_ZkEVM.CallOpts) -} - -// IsEmergencyState is a free data retrieval call binding the contract method 0x15064c96. -// -// Solidity: function isEmergencyState() view returns(bool) -func (_ZkEVM *ZkEVMCallerSession) IsEmergencyState() (bool, error) { - return _ZkEVM.Contract.IsEmergencyState(&_ZkEVM.CallOpts) -} - -// IsForcedBatchDisallowed is a free data retrieval call binding the contract method 0xed6b0104. -// -// Solidity: function isForcedBatchDisallowed() view returns(bool) -func (_ZkEVM *ZkEVMCaller) IsForcedBatchDisallowed(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "isForcedBatchDisallowed") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsForcedBatchDisallowed is a free data retrieval call binding the contract method 0xed6b0104. -// -// Solidity: function isForcedBatchDisallowed() view returns(bool) -func (_ZkEVM *ZkEVMSession) IsForcedBatchDisallowed() (bool, error) { - return _ZkEVM.Contract.IsForcedBatchDisallowed(&_ZkEVM.CallOpts) -} - -// IsForcedBatchDisallowed is a free data retrieval call binding the contract method 0xed6b0104. -// -// Solidity: function isForcedBatchDisallowed() view returns(bool) -func (_ZkEVM *ZkEVMCallerSession) IsForcedBatchDisallowed() (bool, error) { - return _ZkEVM.Contract.IsForcedBatchDisallowed(&_ZkEVM.CallOpts) -} - -// IsPendingStateConsolidable is a free data retrieval call binding the contract method 0x383b3be8. -// -// Solidity: function isPendingStateConsolidable(uint64 pendingStateNum) view returns(bool) -func (_ZkEVM *ZkEVMCaller) IsPendingStateConsolidable(opts *bind.CallOpts, pendingStateNum uint64) (bool, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "isPendingStateConsolidable", pendingStateNum) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsPendingStateConsolidable is a free data retrieval call binding the contract method 0x383b3be8. -// -// Solidity: function isPendingStateConsolidable(uint64 pendingStateNum) view returns(bool) -func (_ZkEVM *ZkEVMSession) IsPendingStateConsolidable(pendingStateNum uint64) (bool, error) { - return _ZkEVM.Contract.IsPendingStateConsolidable(&_ZkEVM.CallOpts, pendingStateNum) -} - -// IsPendingStateConsolidable is a free data retrieval call binding the contract method 0x383b3be8. -// -// Solidity: function isPendingStateConsolidable(uint64 pendingStateNum) view returns(bool) -func (_ZkEVM *ZkEVMCallerSession) IsPendingStateConsolidable(pendingStateNum uint64) (bool, error) { - return _ZkEVM.Contract.IsPendingStateConsolidable(&_ZkEVM.CallOpts, pendingStateNum) -} - -// LastBatchSequenced is a free data retrieval call binding the contract method 0x423fa856. -// -// Solidity: function lastBatchSequenced() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) LastBatchSequenced(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "lastBatchSequenced") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// LastBatchSequenced is a free data retrieval call binding the contract method 0x423fa856. -// -// Solidity: function lastBatchSequenced() view returns(uint64) -func (_ZkEVM *ZkEVMSession) LastBatchSequenced() (uint64, error) { - return _ZkEVM.Contract.LastBatchSequenced(&_ZkEVM.CallOpts) -} - -// LastBatchSequenced is a free data retrieval call binding the contract method 0x423fa856. -// -// Solidity: function lastBatchSequenced() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) LastBatchSequenced() (uint64, error) { - return _ZkEVM.Contract.LastBatchSequenced(&_ZkEVM.CallOpts) -} - -// LastForceBatch is a free data retrieval call binding the contract method 0xe7a7ed02. -// -// Solidity: function lastForceBatch() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) LastForceBatch(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "lastForceBatch") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// LastForceBatch is a free data retrieval call binding the contract method 0xe7a7ed02. -// -// Solidity: function lastForceBatch() view returns(uint64) -func (_ZkEVM *ZkEVMSession) LastForceBatch() (uint64, error) { - return _ZkEVM.Contract.LastForceBatch(&_ZkEVM.CallOpts) -} - -// LastForceBatch is a free data retrieval call binding the contract method 0xe7a7ed02. -// -// Solidity: function lastForceBatch() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) LastForceBatch() (uint64, error) { - return _ZkEVM.Contract.LastForceBatch(&_ZkEVM.CallOpts) -} - -// LastForceBatchSequenced is a free data retrieval call binding the contract method 0x45605267. -// -// Solidity: function lastForceBatchSequenced() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) LastForceBatchSequenced(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "lastForceBatchSequenced") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// LastForceBatchSequenced is a free data retrieval call binding the contract method 0x45605267. -// -// Solidity: function lastForceBatchSequenced() view returns(uint64) -func (_ZkEVM *ZkEVMSession) LastForceBatchSequenced() (uint64, error) { - return _ZkEVM.Contract.LastForceBatchSequenced(&_ZkEVM.CallOpts) -} - -// LastForceBatchSequenced is a free data retrieval call binding the contract method 0x45605267. -// -// Solidity: function lastForceBatchSequenced() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) LastForceBatchSequenced() (uint64, error) { - return _ZkEVM.Contract.LastForceBatchSequenced(&_ZkEVM.CallOpts) -} - -// LastPendingState is a free data retrieval call binding the contract method 0x458c0477. -// -// Solidity: function lastPendingState() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) LastPendingState(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "lastPendingState") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// LastPendingState is a free data retrieval call binding the contract method 0x458c0477. -// -// Solidity: function lastPendingState() view returns(uint64) -func (_ZkEVM *ZkEVMSession) LastPendingState() (uint64, error) { - return _ZkEVM.Contract.LastPendingState(&_ZkEVM.CallOpts) -} - -// LastPendingState is a free data retrieval call binding the contract method 0x458c0477. -// -// Solidity: function lastPendingState() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) LastPendingState() (uint64, error) { - return _ZkEVM.Contract.LastPendingState(&_ZkEVM.CallOpts) -} - -// LastPendingStateConsolidated is a free data retrieval call binding the contract method 0x4a1a89a7. -// -// Solidity: function lastPendingStateConsolidated() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) LastPendingStateConsolidated(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "lastPendingStateConsolidated") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// LastPendingStateConsolidated is a free data retrieval call binding the contract method 0x4a1a89a7. -// -// Solidity: function lastPendingStateConsolidated() view returns(uint64) -func (_ZkEVM *ZkEVMSession) LastPendingStateConsolidated() (uint64, error) { - return _ZkEVM.Contract.LastPendingStateConsolidated(&_ZkEVM.CallOpts) -} - -// LastPendingStateConsolidated is a free data retrieval call binding the contract method 0x4a1a89a7. -// -// Solidity: function lastPendingStateConsolidated() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) LastPendingStateConsolidated() (uint64, error) { - return _ZkEVM.Contract.LastPendingStateConsolidated(&_ZkEVM.CallOpts) -} - -// LastTimestamp is a free data retrieval call binding the contract method 0x19d8ac61. -// -// Solidity: function lastTimestamp() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) LastTimestamp(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "lastTimestamp") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// LastTimestamp is a free data retrieval call binding the contract method 0x19d8ac61. -// -// Solidity: function lastTimestamp() view returns(uint64) -func (_ZkEVM *ZkEVMSession) LastTimestamp() (uint64, error) { - return _ZkEVM.Contract.LastTimestamp(&_ZkEVM.CallOpts) -} - -// LastTimestamp is a free data retrieval call binding the contract method 0x19d8ac61. -// -// Solidity: function lastTimestamp() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) LastTimestamp() (uint64, error) { - return _ZkEVM.Contract.LastTimestamp(&_ZkEVM.CallOpts) -} - -// LastVerifiedBatch is a free data retrieval call binding the contract method 0x7fcb3653. -// -// Solidity: function lastVerifiedBatch() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) LastVerifiedBatch(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "lastVerifiedBatch") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// LastVerifiedBatch is a free data retrieval call binding the contract method 0x7fcb3653. -// -// Solidity: function lastVerifiedBatch() view returns(uint64) -func (_ZkEVM *ZkEVMSession) LastVerifiedBatch() (uint64, error) { - return _ZkEVM.Contract.LastVerifiedBatch(&_ZkEVM.CallOpts) -} - -// LastVerifiedBatch is a free data retrieval call binding the contract method 0x7fcb3653. -// -// Solidity: function lastVerifiedBatch() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) LastVerifiedBatch() (uint64, error) { - return _ZkEVM.Contract.LastVerifiedBatch(&_ZkEVM.CallOpts) -} - -// Matic is a free data retrieval call binding the contract method 0xb6b0b097. -// -// Solidity: function matic() view returns(address) -func (_ZkEVM *ZkEVMCaller) Matic(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "matic") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Matic is a free data retrieval call binding the contract method 0xb6b0b097. -// -// Solidity: function matic() view returns(address) -func (_ZkEVM *ZkEVMSession) Matic() (common.Address, error) { - return _ZkEVM.Contract.Matic(&_ZkEVM.CallOpts) -} - -// Matic is a free data retrieval call binding the contract method 0xb6b0b097. -// -// Solidity: function matic() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) Matic() (common.Address, error) { - return _ZkEVM.Contract.Matic(&_ZkEVM.CallOpts) -} - -// MultiplierBatchFee is a free data retrieval call binding the contract method 0xafd23cbe. -// -// Solidity: function multiplierBatchFee() view returns(uint16) -func (_ZkEVM *ZkEVMCaller) MultiplierBatchFee(opts *bind.CallOpts) (uint16, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "multiplierBatchFee") - - if err != nil { - return *new(uint16), err - } - - out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16) - - return out0, err - -} - -// MultiplierBatchFee is a free data retrieval call binding the contract method 0xafd23cbe. -// -// Solidity: function multiplierBatchFee() view returns(uint16) -func (_ZkEVM *ZkEVMSession) MultiplierBatchFee() (uint16, error) { - return _ZkEVM.Contract.MultiplierBatchFee(&_ZkEVM.CallOpts) -} - -// MultiplierBatchFee is a free data retrieval call binding the contract method 0xafd23cbe. -// -// Solidity: function multiplierBatchFee() view returns(uint16) -func (_ZkEVM *ZkEVMCallerSession) MultiplierBatchFee() (uint16, error) { - return _ZkEVM.Contract.MultiplierBatchFee(&_ZkEVM.CallOpts) -} - -// NetworkName is a free data retrieval call binding the contract method 0x107bf28c. -// -// Solidity: function networkName() view returns(string) -func (_ZkEVM *ZkEVMCaller) NetworkName(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "networkName") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// NetworkName is a free data retrieval call binding the contract method 0x107bf28c. -// -// Solidity: function networkName() view returns(string) -func (_ZkEVM *ZkEVMSession) NetworkName() (string, error) { - return _ZkEVM.Contract.NetworkName(&_ZkEVM.CallOpts) -} - -// NetworkName is a free data retrieval call binding the contract method 0x107bf28c. -// -// Solidity: function networkName() view returns(string) -func (_ZkEVM *ZkEVMCallerSession) NetworkName() (string, error) { - return _ZkEVM.Contract.NetworkName(&_ZkEVM.CallOpts) -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (_ZkEVM *ZkEVMCaller) Owner(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "owner") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (_ZkEVM *ZkEVMSession) Owner() (common.Address, error) { - return _ZkEVM.Contract.Owner(&_ZkEVM.CallOpts) -} - -// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. -// -// Solidity: function owner() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) Owner() (common.Address, error) { - return _ZkEVM.Contract.Owner(&_ZkEVM.CallOpts) -} - -// PendingAdmin is a free data retrieval call binding the contract method 0x26782247. -// -// Solidity: function pendingAdmin() view returns(address) -func (_ZkEVM *ZkEVMCaller) PendingAdmin(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "pendingAdmin") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// PendingAdmin is a free data retrieval call binding the contract method 0x26782247. -// -// Solidity: function pendingAdmin() view returns(address) -func (_ZkEVM *ZkEVMSession) PendingAdmin() (common.Address, error) { - return _ZkEVM.Contract.PendingAdmin(&_ZkEVM.CallOpts) -} - -// PendingAdmin is a free data retrieval call binding the contract method 0x26782247. -// -// Solidity: function pendingAdmin() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) PendingAdmin() (common.Address, error) { - return _ZkEVM.Contract.PendingAdmin(&_ZkEVM.CallOpts) -} - -// PendingStateTimeout is a free data retrieval call binding the contract method 0xd939b315. -// -// Solidity: function pendingStateTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) PendingStateTimeout(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "pendingStateTimeout") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// PendingStateTimeout is a free data retrieval call binding the contract method 0xd939b315. -// -// Solidity: function pendingStateTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMSession) PendingStateTimeout() (uint64, error) { - return _ZkEVM.Contract.PendingStateTimeout(&_ZkEVM.CallOpts) -} - -// PendingStateTimeout is a free data retrieval call binding the contract method 0xd939b315. -// -// Solidity: function pendingStateTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) PendingStateTimeout() (uint64, error) { - return _ZkEVM.Contract.PendingStateTimeout(&_ZkEVM.CallOpts) -} - -// PendingStateTransitions is a free data retrieval call binding the contract method 0x837a4738. -// -// Solidity: function pendingStateTransitions(uint256 ) view returns(uint64 timestamp, uint64 lastVerifiedBatch, bytes32 exitRoot, bytes32 stateRoot) -func (_ZkEVM *ZkEVMCaller) PendingStateTransitions(opts *bind.CallOpts, arg0 *big.Int) (struct { - Timestamp uint64 - LastVerifiedBatch uint64 - ExitRoot [32]byte - StateRoot [32]byte -}, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "pendingStateTransitions", arg0) - - outstruct := new(struct { - Timestamp uint64 - LastVerifiedBatch uint64 - ExitRoot [32]byte - StateRoot [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.Timestamp = *abi.ConvertType(out[0], new(uint64)).(*uint64) - outstruct.LastVerifiedBatch = *abi.ConvertType(out[1], new(uint64)).(*uint64) - outstruct.ExitRoot = *abi.ConvertType(out[2], new([32]byte)).(*[32]byte) - outstruct.StateRoot = *abi.ConvertType(out[3], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// PendingStateTransitions is a free data retrieval call binding the contract method 0x837a4738. -// -// Solidity: function pendingStateTransitions(uint256 ) view returns(uint64 timestamp, uint64 lastVerifiedBatch, bytes32 exitRoot, bytes32 stateRoot) -func (_ZkEVM *ZkEVMSession) PendingStateTransitions(arg0 *big.Int) (struct { - Timestamp uint64 - LastVerifiedBatch uint64 - ExitRoot [32]byte - StateRoot [32]byte -}, error) { - return _ZkEVM.Contract.PendingStateTransitions(&_ZkEVM.CallOpts, arg0) -} - -// PendingStateTransitions is a free data retrieval call binding the contract method 0x837a4738. -// -// Solidity: function pendingStateTransitions(uint256 ) view returns(uint64 timestamp, uint64 lastVerifiedBatch, bytes32 exitRoot, bytes32 stateRoot) -func (_ZkEVM *ZkEVMCallerSession) PendingStateTransitions(arg0 *big.Int) (struct { - Timestamp uint64 - LastVerifiedBatch uint64 - ExitRoot [32]byte - StateRoot [32]byte -}, error) { - return _ZkEVM.Contract.PendingStateTransitions(&_ZkEVM.CallOpts, arg0) -} - -// RollupVerifier is a free data retrieval call binding the contract method 0xe8bf92ed. -// -// Solidity: function rollupVerifier() view returns(address) -func (_ZkEVM *ZkEVMCaller) RollupVerifier(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "rollupVerifier") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// RollupVerifier is a free data retrieval call binding the contract method 0xe8bf92ed. -// -// Solidity: function rollupVerifier() view returns(address) -func (_ZkEVM *ZkEVMSession) RollupVerifier() (common.Address, error) { - return _ZkEVM.Contract.RollupVerifier(&_ZkEVM.CallOpts) -} - -// RollupVerifier is a free data retrieval call binding the contract method 0xe8bf92ed. -// -// Solidity: function rollupVerifier() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) RollupVerifier() (common.Address, error) { - return _ZkEVM.Contract.RollupVerifier(&_ZkEVM.CallOpts) -} - -// SequencedBatches is a free data retrieval call binding the contract method 0xb4d63f58. -// -// Solidity: function sequencedBatches(uint64 ) view returns(bytes32 accInputHash, uint64 sequencedTimestamp, uint64 previousLastBatchSequenced) -func (_ZkEVM *ZkEVMCaller) SequencedBatches(opts *bind.CallOpts, arg0 uint64) (struct { - AccInputHash [32]byte - SequencedTimestamp uint64 - PreviousLastBatchSequenced uint64 -}, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "sequencedBatches", arg0) - - outstruct := new(struct { - AccInputHash [32]byte - SequencedTimestamp uint64 - PreviousLastBatchSequenced uint64 - }) - if err != nil { - return *outstruct, err - } - - outstruct.AccInputHash = *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - outstruct.SequencedTimestamp = *abi.ConvertType(out[1], new(uint64)).(*uint64) - outstruct.PreviousLastBatchSequenced = *abi.ConvertType(out[2], new(uint64)).(*uint64) - - return *outstruct, err - -} - -// SequencedBatches is a free data retrieval call binding the contract method 0xb4d63f58. -// -// Solidity: function sequencedBatches(uint64 ) view returns(bytes32 accInputHash, uint64 sequencedTimestamp, uint64 previousLastBatchSequenced) -func (_ZkEVM *ZkEVMSession) SequencedBatches(arg0 uint64) (struct { - AccInputHash [32]byte - SequencedTimestamp uint64 - PreviousLastBatchSequenced uint64 -}, error) { - return _ZkEVM.Contract.SequencedBatches(&_ZkEVM.CallOpts, arg0) -} - -// SequencedBatches is a free data retrieval call binding the contract method 0xb4d63f58. -// -// Solidity: function sequencedBatches(uint64 ) view returns(bytes32 accInputHash, uint64 sequencedTimestamp, uint64 previousLastBatchSequenced) -func (_ZkEVM *ZkEVMCallerSession) SequencedBatches(arg0 uint64) (struct { - AccInputHash [32]byte - SequencedTimestamp uint64 - PreviousLastBatchSequenced uint64 -}, error) { - return _ZkEVM.Contract.SequencedBatches(&_ZkEVM.CallOpts, arg0) -} - -// TrustedAggregator is a free data retrieval call binding the contract method 0x29878983. -// -// Solidity: function trustedAggregator() view returns(address) -func (_ZkEVM *ZkEVMCaller) TrustedAggregator(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "trustedAggregator") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// TrustedAggregator is a free data retrieval call binding the contract method 0x29878983. -// -// Solidity: function trustedAggregator() view returns(address) -func (_ZkEVM *ZkEVMSession) TrustedAggregator() (common.Address, error) { - return _ZkEVM.Contract.TrustedAggregator(&_ZkEVM.CallOpts) -} - -// TrustedAggregator is a free data retrieval call binding the contract method 0x29878983. -// -// Solidity: function trustedAggregator() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) TrustedAggregator() (common.Address, error) { - return _ZkEVM.Contract.TrustedAggregator(&_ZkEVM.CallOpts) -} - -// TrustedAggregatorTimeout is a free data retrieval call binding the contract method 0x841b24d7. -// -// Solidity: function trustedAggregatorTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) TrustedAggregatorTimeout(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "trustedAggregatorTimeout") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// TrustedAggregatorTimeout is a free data retrieval call binding the contract method 0x841b24d7. -// -// Solidity: function trustedAggregatorTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMSession) TrustedAggregatorTimeout() (uint64, error) { - return _ZkEVM.Contract.TrustedAggregatorTimeout(&_ZkEVM.CallOpts) -} - -// TrustedAggregatorTimeout is a free data retrieval call binding the contract method 0x841b24d7. -// -// Solidity: function trustedAggregatorTimeout() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) TrustedAggregatorTimeout() (uint64, error) { - return _ZkEVM.Contract.TrustedAggregatorTimeout(&_ZkEVM.CallOpts) -} - -// TrustedSequencer is a free data retrieval call binding the contract method 0xcfa8ed47. -// -// Solidity: function trustedSequencer() view returns(address) -func (_ZkEVM *ZkEVMCaller) TrustedSequencer(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "trustedSequencer") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// TrustedSequencer is a free data retrieval call binding the contract method 0xcfa8ed47. -// -// Solidity: function trustedSequencer() view returns(address) -func (_ZkEVM *ZkEVMSession) TrustedSequencer() (common.Address, error) { - return _ZkEVM.Contract.TrustedSequencer(&_ZkEVM.CallOpts) -} - -// TrustedSequencer is a free data retrieval call binding the contract method 0xcfa8ed47. -// -// Solidity: function trustedSequencer() view returns(address) -func (_ZkEVM *ZkEVMCallerSession) TrustedSequencer() (common.Address, error) { - return _ZkEVM.Contract.TrustedSequencer(&_ZkEVM.CallOpts) -} - -// TrustedSequencerURL is a free data retrieval call binding the contract method 0x542028d5. -// -// Solidity: function trustedSequencerURL() view returns(string) -func (_ZkEVM *ZkEVMCaller) TrustedSequencerURL(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "trustedSequencerURL") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// TrustedSequencerURL is a free data retrieval call binding the contract method 0x542028d5. -// -// Solidity: function trustedSequencerURL() view returns(string) -func (_ZkEVM *ZkEVMSession) TrustedSequencerURL() (string, error) { - return _ZkEVM.Contract.TrustedSequencerURL(&_ZkEVM.CallOpts) -} - -// TrustedSequencerURL is a free data retrieval call binding the contract method 0x542028d5. -// -// Solidity: function trustedSequencerURL() view returns(string) -func (_ZkEVM *ZkEVMCallerSession) TrustedSequencerURL() (string, error) { - return _ZkEVM.Contract.TrustedSequencerURL(&_ZkEVM.CallOpts) -} - -// VerifyBatchTimeTarget is a free data retrieval call binding the contract method 0x0a0d9fbe. -// -// Solidity: function verifyBatchTimeTarget() view returns(uint64) -func (_ZkEVM *ZkEVMCaller) VerifyBatchTimeTarget(opts *bind.CallOpts) (uint64, error) { - var out []interface{} - err := _ZkEVM.contract.Call(opts, &out, "verifyBatchTimeTarget") - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// VerifyBatchTimeTarget is a free data retrieval call binding the contract method 0x0a0d9fbe. -// -// Solidity: function verifyBatchTimeTarget() view returns(uint64) -func (_ZkEVM *ZkEVMSession) VerifyBatchTimeTarget() (uint64, error) { - return _ZkEVM.Contract.VerifyBatchTimeTarget(&_ZkEVM.CallOpts) -} - -// VerifyBatchTimeTarget is a free data retrieval call binding the contract method 0x0a0d9fbe. -// -// Solidity: function verifyBatchTimeTarget() view returns(uint64) -func (_ZkEVM *ZkEVMCallerSession) VerifyBatchTimeTarget() (uint64, error) { - return _ZkEVM.Contract.VerifyBatchTimeTarget(&_ZkEVM.CallOpts) -} - -// AcceptAdminRole is a paid mutator transaction binding the contract method 0x8c3d7301. -// -// Solidity: function acceptAdminRole() returns() -func (_ZkEVM *ZkEVMTransactor) AcceptAdminRole(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "acceptAdminRole") -} - -// AcceptAdminRole is a paid mutator transaction binding the contract method 0x8c3d7301. -// -// Solidity: function acceptAdminRole() returns() -func (_ZkEVM *ZkEVMSession) AcceptAdminRole() (*types.Transaction, error) { - return _ZkEVM.Contract.AcceptAdminRole(&_ZkEVM.TransactOpts) -} - -// AcceptAdminRole is a paid mutator transaction binding the contract method 0x8c3d7301. -// -// Solidity: function acceptAdminRole() returns() -func (_ZkEVM *ZkEVMTransactorSession) AcceptAdminRole() (*types.Transaction, error) { - return _ZkEVM.Contract.AcceptAdminRole(&_ZkEVM.TransactOpts) -} - -// ActivateEmergencyState is a paid mutator transaction binding the contract method 0x7215541a. -// -// Solidity: function activateEmergencyState(uint64 sequencedBatchNum) returns() -func (_ZkEVM *ZkEVMTransactor) ActivateEmergencyState(opts *bind.TransactOpts, sequencedBatchNum uint64) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "activateEmergencyState", sequencedBatchNum) -} - -// ActivateEmergencyState is a paid mutator transaction binding the contract method 0x7215541a. -// -// Solidity: function activateEmergencyState(uint64 sequencedBatchNum) returns() -func (_ZkEVM *ZkEVMSession) ActivateEmergencyState(sequencedBatchNum uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.ActivateEmergencyState(&_ZkEVM.TransactOpts, sequencedBatchNum) -} - -// ActivateEmergencyState is a paid mutator transaction binding the contract method 0x7215541a. -// -// Solidity: function activateEmergencyState(uint64 sequencedBatchNum) returns() -func (_ZkEVM *ZkEVMTransactorSession) ActivateEmergencyState(sequencedBatchNum uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.ActivateEmergencyState(&_ZkEVM.TransactOpts, sequencedBatchNum) -} - -// ActivateForceBatches is a paid mutator transaction binding the contract method 0x5ec91958. -// -// Solidity: function activateForceBatches() returns() -func (_ZkEVM *ZkEVMTransactor) ActivateForceBatches(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "activateForceBatches") -} - -// ActivateForceBatches is a paid mutator transaction binding the contract method 0x5ec91958. -// -// Solidity: function activateForceBatches() returns() -func (_ZkEVM *ZkEVMSession) ActivateForceBatches() (*types.Transaction, error) { - return _ZkEVM.Contract.ActivateForceBatches(&_ZkEVM.TransactOpts) -} - -// ActivateForceBatches is a paid mutator transaction binding the contract method 0x5ec91958. -// -// Solidity: function activateForceBatches() returns() -func (_ZkEVM *ZkEVMTransactorSession) ActivateForceBatches() (*types.Transaction, error) { - return _ZkEVM.Contract.ActivateForceBatches(&_ZkEVM.TransactOpts) -} - -// ConsolidatePendingState is a paid mutator transaction binding the contract method 0x4a910e6a. -// -// Solidity: function consolidatePendingState(uint64 pendingStateNum) returns() -func (_ZkEVM *ZkEVMTransactor) ConsolidatePendingState(opts *bind.TransactOpts, pendingStateNum uint64) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "consolidatePendingState", pendingStateNum) -} - -// ConsolidatePendingState is a paid mutator transaction binding the contract method 0x4a910e6a. -// -// Solidity: function consolidatePendingState(uint64 pendingStateNum) returns() -func (_ZkEVM *ZkEVMSession) ConsolidatePendingState(pendingStateNum uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.ConsolidatePendingState(&_ZkEVM.TransactOpts, pendingStateNum) -} - -// ConsolidatePendingState is a paid mutator transaction binding the contract method 0x4a910e6a. -// -// Solidity: function consolidatePendingState(uint64 pendingStateNum) returns() -func (_ZkEVM *ZkEVMTransactorSession) ConsolidatePendingState(pendingStateNum uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.ConsolidatePendingState(&_ZkEVM.TransactOpts, pendingStateNum) -} - -// DeactivateEmergencyState is a paid mutator transaction binding the contract method 0xdbc16976. -// -// Solidity: function deactivateEmergencyState() returns() -func (_ZkEVM *ZkEVMTransactor) DeactivateEmergencyState(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "deactivateEmergencyState") -} - -// DeactivateEmergencyState is a paid mutator transaction binding the contract method 0xdbc16976. -// -// Solidity: function deactivateEmergencyState() returns() -func (_ZkEVM *ZkEVMSession) DeactivateEmergencyState() (*types.Transaction, error) { - return _ZkEVM.Contract.DeactivateEmergencyState(&_ZkEVM.TransactOpts) -} - -// DeactivateEmergencyState is a paid mutator transaction binding the contract method 0xdbc16976. -// -// Solidity: function deactivateEmergencyState() returns() -func (_ZkEVM *ZkEVMTransactorSession) DeactivateEmergencyState() (*types.Transaction, error) { - return _ZkEVM.Contract.DeactivateEmergencyState(&_ZkEVM.TransactOpts) -} - -// ForceBatch is a paid mutator transaction binding the contract method 0xeaeb077b. -// -// Solidity: function forceBatch(bytes transactions, uint256 maticAmount) returns() -func (_ZkEVM *ZkEVMTransactor) ForceBatch(opts *bind.TransactOpts, transactions []byte, maticAmount *big.Int) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "forceBatch", transactions, maticAmount) -} - -// ForceBatch is a paid mutator transaction binding the contract method 0xeaeb077b. -// -// Solidity: function forceBatch(bytes transactions, uint256 maticAmount) returns() -func (_ZkEVM *ZkEVMSession) ForceBatch(transactions []byte, maticAmount *big.Int) (*types.Transaction, error) { - return _ZkEVM.Contract.ForceBatch(&_ZkEVM.TransactOpts, transactions, maticAmount) -} - -// ForceBatch is a paid mutator transaction binding the contract method 0xeaeb077b. -// -// Solidity: function forceBatch(bytes transactions, uint256 maticAmount) returns() -func (_ZkEVM *ZkEVMTransactorSession) ForceBatch(transactions []byte, maticAmount *big.Int) (*types.Transaction, error) { - return _ZkEVM.Contract.ForceBatch(&_ZkEVM.TransactOpts, transactions, maticAmount) -} - -// Initialize is a paid mutator transaction binding the contract method 0xd2e129f9. -// -// Solidity: function initialize((address,address,uint64,address,uint64) initializePackedParameters, bytes32 genesisRoot, string _trustedSequencerURL, string _networkName, string _version) returns() -func (_ZkEVM *ZkEVMTransactor) Initialize(opts *bind.TransactOpts, initializePackedParameters PolygonZkEVMInitializePackedParameters, genesisRoot [32]byte, _trustedSequencerURL string, _networkName string, _version string) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "initialize", initializePackedParameters, genesisRoot, _trustedSequencerURL, _networkName, _version) -} - -// Initialize is a paid mutator transaction binding the contract method 0xd2e129f9. -// -// Solidity: function initialize((address,address,uint64,address,uint64) initializePackedParameters, bytes32 genesisRoot, string _trustedSequencerURL, string _networkName, string _version) returns() -func (_ZkEVM *ZkEVMSession) Initialize(initializePackedParameters PolygonZkEVMInitializePackedParameters, genesisRoot [32]byte, _trustedSequencerURL string, _networkName string, _version string) (*types.Transaction, error) { - return _ZkEVM.Contract.Initialize(&_ZkEVM.TransactOpts, initializePackedParameters, genesisRoot, _trustedSequencerURL, _networkName, _version) -} - -// Initialize is a paid mutator transaction binding the contract method 0xd2e129f9. -// -// Solidity: function initialize((address,address,uint64,address,uint64) initializePackedParameters, bytes32 genesisRoot, string _trustedSequencerURL, string _networkName, string _version) returns() -func (_ZkEVM *ZkEVMTransactorSession) Initialize(initializePackedParameters PolygonZkEVMInitializePackedParameters, genesisRoot [32]byte, _trustedSequencerURL string, _networkName string, _version string) (*types.Transaction, error) { - return _ZkEVM.Contract.Initialize(&_ZkEVM.TransactOpts, initializePackedParameters, genesisRoot, _trustedSequencerURL, _networkName, _version) -} - -// OverridePendingState is a paid mutator transaction binding the contract method 0x2c1f816a. -// -// Solidity: function overridePendingState(uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMTransactor) OverridePendingState(opts *bind.TransactOpts, initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "overridePendingState", initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// OverridePendingState is a paid mutator transaction binding the contract method 0x2c1f816a. -// -// Solidity: function overridePendingState(uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMSession) OverridePendingState(initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.Contract.OverridePendingState(&_ZkEVM.TransactOpts, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// OverridePendingState is a paid mutator transaction binding the contract method 0x2c1f816a. -// -// Solidity: function overridePendingState(uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMTransactorSession) OverridePendingState(initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.Contract.OverridePendingState(&_ZkEVM.TransactOpts, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// ProveNonDeterministicPendingState is a paid mutator transaction binding the contract method 0x9aa972a3. -// -// Solidity: function proveNonDeterministicPendingState(uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMTransactor) ProveNonDeterministicPendingState(opts *bind.TransactOpts, initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "proveNonDeterministicPendingState", initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// ProveNonDeterministicPendingState is a paid mutator transaction binding the contract method 0x9aa972a3. -// -// Solidity: function proveNonDeterministicPendingState(uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMSession) ProveNonDeterministicPendingState(initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.Contract.ProveNonDeterministicPendingState(&_ZkEVM.TransactOpts, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// ProveNonDeterministicPendingState is a paid mutator transaction binding the contract method 0x9aa972a3. -// -// Solidity: function proveNonDeterministicPendingState(uint64 initPendingStateNum, uint64 finalPendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMTransactorSession) ProveNonDeterministicPendingState(initPendingStateNum uint64, finalPendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.Contract.ProveNonDeterministicPendingState(&_ZkEVM.TransactOpts, initPendingStateNum, finalPendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (_ZkEVM *ZkEVMTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "renounceOwnership") -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (_ZkEVM *ZkEVMSession) RenounceOwnership() (*types.Transaction, error) { - return _ZkEVM.Contract.RenounceOwnership(&_ZkEVM.TransactOpts) -} - -// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. -// -// Solidity: function renounceOwnership() returns() -func (_ZkEVM *ZkEVMTransactorSession) RenounceOwnership() (*types.Transaction, error) { - return _ZkEVM.Contract.RenounceOwnership(&_ZkEVM.TransactOpts) -} - -// SequenceBatches is a paid mutator transaction binding the contract method 0x5e9145c9. -// -// Solidity: function sequenceBatches((bytes,bytes32,uint64,uint64)[] batches, address l2Coinbase) returns() -func (_ZkEVM *ZkEVMTransactor) SequenceBatches(opts *bind.TransactOpts, batches []PolygonZkEVMBatchData, l2Coinbase common.Address) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "sequenceBatches", batches, l2Coinbase) -} - -// SequenceBatches is a paid mutator transaction binding the contract method 0x5e9145c9. -// -// Solidity: function sequenceBatches((bytes,bytes32,uint64,uint64)[] batches, address l2Coinbase) returns() -func (_ZkEVM *ZkEVMSession) SequenceBatches(batches []PolygonZkEVMBatchData, l2Coinbase common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.SequenceBatches(&_ZkEVM.TransactOpts, batches, l2Coinbase) -} - -// SequenceBatches is a paid mutator transaction binding the contract method 0x5e9145c9. -// -// Solidity: function sequenceBatches((bytes,bytes32,uint64,uint64)[] batches, address l2Coinbase) returns() -func (_ZkEVM *ZkEVMTransactorSession) SequenceBatches(batches []PolygonZkEVMBatchData, l2Coinbase common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.SequenceBatches(&_ZkEVM.TransactOpts, batches, l2Coinbase) -} - -// SequenceForceBatches is a paid mutator transaction binding the contract method 0xd8d1091b. -// -// Solidity: function sequenceForceBatches((bytes,bytes32,uint64)[] batches) returns() -func (_ZkEVM *ZkEVMTransactor) SequenceForceBatches(opts *bind.TransactOpts, batches []PolygonZkEVMForcedBatchData) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "sequenceForceBatches", batches) -} - -// SequenceForceBatches is a paid mutator transaction binding the contract method 0xd8d1091b. -// -// Solidity: function sequenceForceBatches((bytes,bytes32,uint64)[] batches) returns() -func (_ZkEVM *ZkEVMSession) SequenceForceBatches(batches []PolygonZkEVMForcedBatchData) (*types.Transaction, error) { - return _ZkEVM.Contract.SequenceForceBatches(&_ZkEVM.TransactOpts, batches) -} - -// SequenceForceBatches is a paid mutator transaction binding the contract method 0xd8d1091b. -// -// Solidity: function sequenceForceBatches((bytes,bytes32,uint64)[] batches) returns() -func (_ZkEVM *ZkEVMTransactorSession) SequenceForceBatches(batches []PolygonZkEVMForcedBatchData) (*types.Transaction, error) { - return _ZkEVM.Contract.SequenceForceBatches(&_ZkEVM.TransactOpts, batches) -} - -// SetForceBatchTimeout is a paid mutator transaction binding the contract method 0x4e487706. -// -// Solidity: function setForceBatchTimeout(uint64 newforceBatchTimeout) returns() -func (_ZkEVM *ZkEVMTransactor) SetForceBatchTimeout(opts *bind.TransactOpts, newforceBatchTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "setForceBatchTimeout", newforceBatchTimeout) -} - -// SetForceBatchTimeout is a paid mutator transaction binding the contract method 0x4e487706. -// -// Solidity: function setForceBatchTimeout(uint64 newforceBatchTimeout) returns() -func (_ZkEVM *ZkEVMSession) SetForceBatchTimeout(newforceBatchTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.SetForceBatchTimeout(&_ZkEVM.TransactOpts, newforceBatchTimeout) -} - -// SetForceBatchTimeout is a paid mutator transaction binding the contract method 0x4e487706. -// -// Solidity: function setForceBatchTimeout(uint64 newforceBatchTimeout) returns() -func (_ZkEVM *ZkEVMTransactorSession) SetForceBatchTimeout(newforceBatchTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.SetForceBatchTimeout(&_ZkEVM.TransactOpts, newforceBatchTimeout) -} - -// SetMultiplierBatchFee is a paid mutator transaction binding the contract method 0x1816b7e5. -// -// Solidity: function setMultiplierBatchFee(uint16 newMultiplierBatchFee) returns() -func (_ZkEVM *ZkEVMTransactor) SetMultiplierBatchFee(opts *bind.TransactOpts, newMultiplierBatchFee uint16) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "setMultiplierBatchFee", newMultiplierBatchFee) -} - -// SetMultiplierBatchFee is a paid mutator transaction binding the contract method 0x1816b7e5. -// -// Solidity: function setMultiplierBatchFee(uint16 newMultiplierBatchFee) returns() -func (_ZkEVM *ZkEVMSession) SetMultiplierBatchFee(newMultiplierBatchFee uint16) (*types.Transaction, error) { - return _ZkEVM.Contract.SetMultiplierBatchFee(&_ZkEVM.TransactOpts, newMultiplierBatchFee) -} - -// SetMultiplierBatchFee is a paid mutator transaction binding the contract method 0x1816b7e5. -// -// Solidity: function setMultiplierBatchFee(uint16 newMultiplierBatchFee) returns() -func (_ZkEVM *ZkEVMTransactorSession) SetMultiplierBatchFee(newMultiplierBatchFee uint16) (*types.Transaction, error) { - return _ZkEVM.Contract.SetMultiplierBatchFee(&_ZkEVM.TransactOpts, newMultiplierBatchFee) -} - -// SetPendingStateTimeout is a paid mutator transaction binding the contract method 0x9c9f3dfe. -// -// Solidity: function setPendingStateTimeout(uint64 newPendingStateTimeout) returns() -func (_ZkEVM *ZkEVMTransactor) SetPendingStateTimeout(opts *bind.TransactOpts, newPendingStateTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "setPendingStateTimeout", newPendingStateTimeout) -} - -// SetPendingStateTimeout is a paid mutator transaction binding the contract method 0x9c9f3dfe. -// -// Solidity: function setPendingStateTimeout(uint64 newPendingStateTimeout) returns() -func (_ZkEVM *ZkEVMSession) SetPendingStateTimeout(newPendingStateTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.SetPendingStateTimeout(&_ZkEVM.TransactOpts, newPendingStateTimeout) -} - -// SetPendingStateTimeout is a paid mutator transaction binding the contract method 0x9c9f3dfe. -// -// Solidity: function setPendingStateTimeout(uint64 newPendingStateTimeout) returns() -func (_ZkEVM *ZkEVMTransactorSession) SetPendingStateTimeout(newPendingStateTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.SetPendingStateTimeout(&_ZkEVM.TransactOpts, newPendingStateTimeout) -} - -// SetTrustedAggregator is a paid mutator transaction binding the contract method 0xf14916d6. -// -// Solidity: function setTrustedAggregator(address newTrustedAggregator) returns() -func (_ZkEVM *ZkEVMTransactor) SetTrustedAggregator(opts *bind.TransactOpts, newTrustedAggregator common.Address) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "setTrustedAggregator", newTrustedAggregator) -} - -// SetTrustedAggregator is a paid mutator transaction binding the contract method 0xf14916d6. -// -// Solidity: function setTrustedAggregator(address newTrustedAggregator) returns() -func (_ZkEVM *ZkEVMSession) SetTrustedAggregator(newTrustedAggregator common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.SetTrustedAggregator(&_ZkEVM.TransactOpts, newTrustedAggregator) -} - -// SetTrustedAggregator is a paid mutator transaction binding the contract method 0xf14916d6. -// -// Solidity: function setTrustedAggregator(address newTrustedAggregator) returns() -func (_ZkEVM *ZkEVMTransactorSession) SetTrustedAggregator(newTrustedAggregator common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.SetTrustedAggregator(&_ZkEVM.TransactOpts, newTrustedAggregator) -} - -// SetTrustedAggregatorTimeout is a paid mutator transaction binding the contract method 0x394218e9. -// -// Solidity: function setTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) returns() -func (_ZkEVM *ZkEVMTransactor) SetTrustedAggregatorTimeout(opts *bind.TransactOpts, newTrustedAggregatorTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "setTrustedAggregatorTimeout", newTrustedAggregatorTimeout) -} - -// SetTrustedAggregatorTimeout is a paid mutator transaction binding the contract method 0x394218e9. -// -// Solidity: function setTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) returns() -func (_ZkEVM *ZkEVMSession) SetTrustedAggregatorTimeout(newTrustedAggregatorTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.SetTrustedAggregatorTimeout(&_ZkEVM.TransactOpts, newTrustedAggregatorTimeout) -} - -// SetTrustedAggregatorTimeout is a paid mutator transaction binding the contract method 0x394218e9. -// -// Solidity: function setTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) returns() -func (_ZkEVM *ZkEVMTransactorSession) SetTrustedAggregatorTimeout(newTrustedAggregatorTimeout uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.SetTrustedAggregatorTimeout(&_ZkEVM.TransactOpts, newTrustedAggregatorTimeout) -} - -// SetTrustedSequencer is a paid mutator transaction binding the contract method 0x6ff512cc. -// -// Solidity: function setTrustedSequencer(address newTrustedSequencer) returns() -func (_ZkEVM *ZkEVMTransactor) SetTrustedSequencer(opts *bind.TransactOpts, newTrustedSequencer common.Address) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "setTrustedSequencer", newTrustedSequencer) -} - -// SetTrustedSequencer is a paid mutator transaction binding the contract method 0x6ff512cc. -// -// Solidity: function setTrustedSequencer(address newTrustedSequencer) returns() -func (_ZkEVM *ZkEVMSession) SetTrustedSequencer(newTrustedSequencer common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.SetTrustedSequencer(&_ZkEVM.TransactOpts, newTrustedSequencer) -} - -// SetTrustedSequencer is a paid mutator transaction binding the contract method 0x6ff512cc. -// -// Solidity: function setTrustedSequencer(address newTrustedSequencer) returns() -func (_ZkEVM *ZkEVMTransactorSession) SetTrustedSequencer(newTrustedSequencer common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.SetTrustedSequencer(&_ZkEVM.TransactOpts, newTrustedSequencer) -} - -// SetTrustedSequencerURL is a paid mutator transaction binding the contract method 0xc89e42df. -// -// Solidity: function setTrustedSequencerURL(string newTrustedSequencerURL) returns() -func (_ZkEVM *ZkEVMTransactor) SetTrustedSequencerURL(opts *bind.TransactOpts, newTrustedSequencerURL string) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "setTrustedSequencerURL", newTrustedSequencerURL) -} - -// SetTrustedSequencerURL is a paid mutator transaction binding the contract method 0xc89e42df. -// -// Solidity: function setTrustedSequencerURL(string newTrustedSequencerURL) returns() -func (_ZkEVM *ZkEVMSession) SetTrustedSequencerURL(newTrustedSequencerURL string) (*types.Transaction, error) { - return _ZkEVM.Contract.SetTrustedSequencerURL(&_ZkEVM.TransactOpts, newTrustedSequencerURL) -} - -// SetTrustedSequencerURL is a paid mutator transaction binding the contract method 0xc89e42df. -// -// Solidity: function setTrustedSequencerURL(string newTrustedSequencerURL) returns() -func (_ZkEVM *ZkEVMTransactorSession) SetTrustedSequencerURL(newTrustedSequencerURL string) (*types.Transaction, error) { - return _ZkEVM.Contract.SetTrustedSequencerURL(&_ZkEVM.TransactOpts, newTrustedSequencerURL) -} - -// SetVerifyBatchTimeTarget is a paid mutator transaction binding the contract method 0xa066215c. -// -// Solidity: function setVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) returns() -func (_ZkEVM *ZkEVMTransactor) SetVerifyBatchTimeTarget(opts *bind.TransactOpts, newVerifyBatchTimeTarget uint64) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "setVerifyBatchTimeTarget", newVerifyBatchTimeTarget) -} - -// SetVerifyBatchTimeTarget is a paid mutator transaction binding the contract method 0xa066215c. -// -// Solidity: function setVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) returns() -func (_ZkEVM *ZkEVMSession) SetVerifyBatchTimeTarget(newVerifyBatchTimeTarget uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.SetVerifyBatchTimeTarget(&_ZkEVM.TransactOpts, newVerifyBatchTimeTarget) -} - -// SetVerifyBatchTimeTarget is a paid mutator transaction binding the contract method 0xa066215c. -// -// Solidity: function setVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) returns() -func (_ZkEVM *ZkEVMTransactorSession) SetVerifyBatchTimeTarget(newVerifyBatchTimeTarget uint64) (*types.Transaction, error) { - return _ZkEVM.Contract.SetVerifyBatchTimeTarget(&_ZkEVM.TransactOpts, newVerifyBatchTimeTarget) -} - -// TransferAdminRole is a paid mutator transaction binding the contract method 0xada8f919. -// -// Solidity: function transferAdminRole(address newPendingAdmin) returns() -func (_ZkEVM *ZkEVMTransactor) TransferAdminRole(opts *bind.TransactOpts, newPendingAdmin common.Address) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "transferAdminRole", newPendingAdmin) -} - -// TransferAdminRole is a paid mutator transaction binding the contract method 0xada8f919. -// -// Solidity: function transferAdminRole(address newPendingAdmin) returns() -func (_ZkEVM *ZkEVMSession) TransferAdminRole(newPendingAdmin common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.TransferAdminRole(&_ZkEVM.TransactOpts, newPendingAdmin) -} - -// TransferAdminRole is a paid mutator transaction binding the contract method 0xada8f919. -// -// Solidity: function transferAdminRole(address newPendingAdmin) returns() -func (_ZkEVM *ZkEVMTransactorSession) TransferAdminRole(newPendingAdmin common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.TransferAdminRole(&_ZkEVM.TransactOpts, newPendingAdmin) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (_ZkEVM *ZkEVMTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "transferOwnership", newOwner) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (_ZkEVM *ZkEVMSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.TransferOwnership(&_ZkEVM.TransactOpts, newOwner) -} - -// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. -// -// Solidity: function transferOwnership(address newOwner) returns() -func (_ZkEVM *ZkEVMTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { - return _ZkEVM.Contract.TransferOwnership(&_ZkEVM.TransactOpts, newOwner) -} - -// VerifyBatches is a paid mutator transaction binding the contract method 0x621dd411. -// -// Solidity: function verifyBatches(uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMTransactor) VerifyBatches(opts *bind.TransactOpts, pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "verifyBatches", pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// VerifyBatches is a paid mutator transaction binding the contract method 0x621dd411. -// -// Solidity: function verifyBatches(uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMSession) VerifyBatches(pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.Contract.VerifyBatches(&_ZkEVM.TransactOpts, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// VerifyBatches is a paid mutator transaction binding the contract method 0x621dd411. -// -// Solidity: function verifyBatches(uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMTransactorSession) VerifyBatches(pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.Contract.VerifyBatches(&_ZkEVM.TransactOpts, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// VerifyBatchesTrustedAggregator is a paid mutator transaction binding the contract method 0x2b0006fa. -// -// Solidity: function verifyBatchesTrustedAggregator(uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMTransactor) VerifyBatchesTrustedAggregator(opts *bind.TransactOpts, pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.contract.Transact(opts, "verifyBatchesTrustedAggregator", pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// VerifyBatchesTrustedAggregator is a paid mutator transaction binding the contract method 0x2b0006fa. -// -// Solidity: function verifyBatchesTrustedAggregator(uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMSession) VerifyBatchesTrustedAggregator(pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.Contract.VerifyBatchesTrustedAggregator(&_ZkEVM.TransactOpts, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// VerifyBatchesTrustedAggregator is a paid mutator transaction binding the contract method 0x2b0006fa. -// -// Solidity: function verifyBatchesTrustedAggregator(uint64 pendingStateNum, uint64 initNumBatch, uint64 finalNewBatch, bytes32 newLocalExitRoot, bytes32 newStateRoot, bytes32[24] proof) returns() -func (_ZkEVM *ZkEVMTransactorSession) VerifyBatchesTrustedAggregator(pendingStateNum uint64, initNumBatch uint64, finalNewBatch uint64, newLocalExitRoot [32]byte, newStateRoot [32]byte, proof [24][32]byte) (*types.Transaction, error) { - return _ZkEVM.Contract.VerifyBatchesTrustedAggregator(&_ZkEVM.TransactOpts, pendingStateNum, initNumBatch, finalNewBatch, newLocalExitRoot, newStateRoot, proof) -} - -// ZkEVMAcceptAdminRoleIterator is returned from FilterAcceptAdminRole and is used to iterate over the raw logs and unpacked data for AcceptAdminRole events raised by the ZkEVM contract. -type ZkEVMAcceptAdminRoleIterator struct { - Event *ZkEVMAcceptAdminRole // 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 *ZkEVMAcceptAdminRoleIterator) 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(ZkEVMAcceptAdminRole) - 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(ZkEVMAcceptAdminRole) - 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 *ZkEVMAcceptAdminRoleIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMAcceptAdminRoleIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMAcceptAdminRole represents a AcceptAdminRole event raised by the ZkEVM contract. -type ZkEVMAcceptAdminRole struct { - NewAdmin common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterAcceptAdminRole is a free log retrieval operation binding the contract event 0x056dc487bbf0795d0bbb1b4f0af523a855503cff740bfb4d5475f7a90c091e8e. -// -// Solidity: event AcceptAdminRole(address newAdmin) -func (_ZkEVM *ZkEVMFilterer) FilterAcceptAdminRole(opts *bind.FilterOpts) (*ZkEVMAcceptAdminRoleIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "AcceptAdminRole") - if err != nil { - return nil, err - } - return &ZkEVMAcceptAdminRoleIterator{contract: _ZkEVM.contract, event: "AcceptAdminRole", logs: logs, sub: sub}, nil -} - -// WatchAcceptAdminRole is a free log subscription operation binding the contract event 0x056dc487bbf0795d0bbb1b4f0af523a855503cff740bfb4d5475f7a90c091e8e. -// -// Solidity: event AcceptAdminRole(address newAdmin) -func (_ZkEVM *ZkEVMFilterer) WatchAcceptAdminRole(opts *bind.WatchOpts, sink chan<- *ZkEVMAcceptAdminRole) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "AcceptAdminRole") - 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(ZkEVMAcceptAdminRole) - if err := _ZkEVM.contract.UnpackLog(event, "AcceptAdminRole", 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 -} - -// ParseAcceptAdminRole is a log parse operation binding the contract event 0x056dc487bbf0795d0bbb1b4f0af523a855503cff740bfb4d5475f7a90c091e8e. -// -// Solidity: event AcceptAdminRole(address newAdmin) -func (_ZkEVM *ZkEVMFilterer) ParseAcceptAdminRole(log types.Log) (*ZkEVMAcceptAdminRole, error) { - event := new(ZkEVMAcceptAdminRole) - if err := _ZkEVM.contract.UnpackLog(event, "AcceptAdminRole", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMActivateForceBatchesIterator is returned from FilterActivateForceBatches and is used to iterate over the raw logs and unpacked data for ActivateForceBatches events raised by the ZkEVM contract. -type ZkEVMActivateForceBatchesIterator struct { - Event *ZkEVMActivateForceBatches // 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 *ZkEVMActivateForceBatchesIterator) 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(ZkEVMActivateForceBatches) - 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(ZkEVMActivateForceBatches) - 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 *ZkEVMActivateForceBatchesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMActivateForceBatchesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMActivateForceBatches represents a ActivateForceBatches event raised by the ZkEVM contract. -type ZkEVMActivateForceBatches struct { - Raw types.Log // Blockchain specific contextual infos -} - -// FilterActivateForceBatches is a free log retrieval operation binding the contract event 0x854dd6ce5a1445c4c54388b21cffd11cf5bba1b9e763aec48ce3da75d617412f. -// -// Solidity: event ActivateForceBatches() -func (_ZkEVM *ZkEVMFilterer) FilterActivateForceBatches(opts *bind.FilterOpts) (*ZkEVMActivateForceBatchesIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "ActivateForceBatches") - if err != nil { - return nil, err - } - return &ZkEVMActivateForceBatchesIterator{contract: _ZkEVM.contract, event: "ActivateForceBatches", logs: logs, sub: sub}, nil -} - -// WatchActivateForceBatches is a free log subscription operation binding the contract event 0x854dd6ce5a1445c4c54388b21cffd11cf5bba1b9e763aec48ce3da75d617412f. -// -// Solidity: event ActivateForceBatches() -func (_ZkEVM *ZkEVMFilterer) WatchActivateForceBatches(opts *bind.WatchOpts, sink chan<- *ZkEVMActivateForceBatches) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "ActivateForceBatches") - 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(ZkEVMActivateForceBatches) - if err := _ZkEVM.contract.UnpackLog(event, "ActivateForceBatches", 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 -} - -// ParseActivateForceBatches is a log parse operation binding the contract event 0x854dd6ce5a1445c4c54388b21cffd11cf5bba1b9e763aec48ce3da75d617412f. -// -// Solidity: event ActivateForceBatches() -func (_ZkEVM *ZkEVMFilterer) ParseActivateForceBatches(log types.Log) (*ZkEVMActivateForceBatches, error) { - event := new(ZkEVMActivateForceBatches) - if err := _ZkEVM.contract.UnpackLog(event, "ActivateForceBatches", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMConsolidatePendingStateIterator is returned from FilterConsolidatePendingState and is used to iterate over the raw logs and unpacked data for ConsolidatePendingState events raised by the ZkEVM contract. -type ZkEVMConsolidatePendingStateIterator struct { - Event *ZkEVMConsolidatePendingState // 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 *ZkEVMConsolidatePendingStateIterator) 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(ZkEVMConsolidatePendingState) - 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(ZkEVMConsolidatePendingState) - 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 *ZkEVMConsolidatePendingStateIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMConsolidatePendingStateIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMConsolidatePendingState represents a ConsolidatePendingState event raised by the ZkEVM contract. -type ZkEVMConsolidatePendingState struct { - NumBatch uint64 - StateRoot [32]byte - PendingStateNum uint64 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterConsolidatePendingState is a free log retrieval operation binding the contract event 0x328d3c6c0fd6f1be0515e422f2d87e59f25922cbc2233568515a0c4bc3f8510e. -// -// Solidity: event ConsolidatePendingState(uint64 indexed numBatch, bytes32 stateRoot, uint64 indexed pendingStateNum) -func (_ZkEVM *ZkEVMFilterer) FilterConsolidatePendingState(opts *bind.FilterOpts, numBatch []uint64, pendingStateNum []uint64) (*ZkEVMConsolidatePendingStateIterator, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - var pendingStateNumRule []interface{} - for _, pendingStateNumItem := range pendingStateNum { - pendingStateNumRule = append(pendingStateNumRule, pendingStateNumItem) - } - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "ConsolidatePendingState", numBatchRule, pendingStateNumRule) - if err != nil { - return nil, err - } - return &ZkEVMConsolidatePendingStateIterator{contract: _ZkEVM.contract, event: "ConsolidatePendingState", logs: logs, sub: sub}, nil -} - -// WatchConsolidatePendingState is a free log subscription operation binding the contract event 0x328d3c6c0fd6f1be0515e422f2d87e59f25922cbc2233568515a0c4bc3f8510e. -// -// Solidity: event ConsolidatePendingState(uint64 indexed numBatch, bytes32 stateRoot, uint64 indexed pendingStateNum) -func (_ZkEVM *ZkEVMFilterer) WatchConsolidatePendingState(opts *bind.WatchOpts, sink chan<- *ZkEVMConsolidatePendingState, numBatch []uint64, pendingStateNum []uint64) (event.Subscription, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - var pendingStateNumRule []interface{} - for _, pendingStateNumItem := range pendingStateNum { - pendingStateNumRule = append(pendingStateNumRule, pendingStateNumItem) - } - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "ConsolidatePendingState", numBatchRule, pendingStateNumRule) - 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(ZkEVMConsolidatePendingState) - if err := _ZkEVM.contract.UnpackLog(event, "ConsolidatePendingState", 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 -} - -// ParseConsolidatePendingState is a log parse operation binding the contract event 0x328d3c6c0fd6f1be0515e422f2d87e59f25922cbc2233568515a0c4bc3f8510e. -// -// Solidity: event ConsolidatePendingState(uint64 indexed numBatch, bytes32 stateRoot, uint64 indexed pendingStateNum) -func (_ZkEVM *ZkEVMFilterer) ParseConsolidatePendingState(log types.Log) (*ZkEVMConsolidatePendingState, error) { - event := new(ZkEVMConsolidatePendingState) - if err := _ZkEVM.contract.UnpackLog(event, "ConsolidatePendingState", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMEmergencyStateActivatedIterator is returned from FilterEmergencyStateActivated and is used to iterate over the raw logs and unpacked data for EmergencyStateActivated events raised by the ZkEVM contract. -type ZkEVMEmergencyStateActivatedIterator struct { - Event *ZkEVMEmergencyStateActivated // 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 *ZkEVMEmergencyStateActivatedIterator) 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(ZkEVMEmergencyStateActivated) - 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(ZkEVMEmergencyStateActivated) - 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 *ZkEVMEmergencyStateActivatedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMEmergencyStateActivatedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMEmergencyStateActivated represents a EmergencyStateActivated event raised by the ZkEVM contract. -type ZkEVMEmergencyStateActivated struct { - Raw types.Log // Blockchain specific contextual infos -} - -// FilterEmergencyStateActivated is a free log retrieval operation binding the contract event 0x2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497. -// -// Solidity: event EmergencyStateActivated() -func (_ZkEVM *ZkEVMFilterer) FilterEmergencyStateActivated(opts *bind.FilterOpts) (*ZkEVMEmergencyStateActivatedIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "EmergencyStateActivated") - if err != nil { - return nil, err - } - return &ZkEVMEmergencyStateActivatedIterator{contract: _ZkEVM.contract, event: "EmergencyStateActivated", logs: logs, sub: sub}, nil -} - -// WatchEmergencyStateActivated is a free log subscription operation binding the contract event 0x2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497. -// -// Solidity: event EmergencyStateActivated() -func (_ZkEVM *ZkEVMFilterer) WatchEmergencyStateActivated(opts *bind.WatchOpts, sink chan<- *ZkEVMEmergencyStateActivated) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "EmergencyStateActivated") - 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(ZkEVMEmergencyStateActivated) - if err := _ZkEVM.contract.UnpackLog(event, "EmergencyStateActivated", 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 -} - -// ParseEmergencyStateActivated is a log parse operation binding the contract event 0x2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497. -// -// Solidity: event EmergencyStateActivated() -func (_ZkEVM *ZkEVMFilterer) ParseEmergencyStateActivated(log types.Log) (*ZkEVMEmergencyStateActivated, error) { - event := new(ZkEVMEmergencyStateActivated) - if err := _ZkEVM.contract.UnpackLog(event, "EmergencyStateActivated", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMEmergencyStateDeactivatedIterator is returned from FilterEmergencyStateDeactivated and is used to iterate over the raw logs and unpacked data for EmergencyStateDeactivated events raised by the ZkEVM contract. -type ZkEVMEmergencyStateDeactivatedIterator struct { - Event *ZkEVMEmergencyStateDeactivated // 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 *ZkEVMEmergencyStateDeactivatedIterator) 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(ZkEVMEmergencyStateDeactivated) - 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(ZkEVMEmergencyStateDeactivated) - 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 *ZkEVMEmergencyStateDeactivatedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMEmergencyStateDeactivatedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMEmergencyStateDeactivated represents a EmergencyStateDeactivated event raised by the ZkEVM contract. -type ZkEVMEmergencyStateDeactivated struct { - Raw types.Log // Blockchain specific contextual infos -} - -// FilterEmergencyStateDeactivated is a free log retrieval operation binding the contract event 0x1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3. -// -// Solidity: event EmergencyStateDeactivated() -func (_ZkEVM *ZkEVMFilterer) FilterEmergencyStateDeactivated(opts *bind.FilterOpts) (*ZkEVMEmergencyStateDeactivatedIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "EmergencyStateDeactivated") - if err != nil { - return nil, err - } - return &ZkEVMEmergencyStateDeactivatedIterator{contract: _ZkEVM.contract, event: "EmergencyStateDeactivated", logs: logs, sub: sub}, nil -} - -// WatchEmergencyStateDeactivated is a free log subscription operation binding the contract event 0x1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3. -// -// Solidity: event EmergencyStateDeactivated() -func (_ZkEVM *ZkEVMFilterer) WatchEmergencyStateDeactivated(opts *bind.WatchOpts, sink chan<- *ZkEVMEmergencyStateDeactivated) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "EmergencyStateDeactivated") - 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(ZkEVMEmergencyStateDeactivated) - if err := _ZkEVM.contract.UnpackLog(event, "EmergencyStateDeactivated", 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 -} - -// ParseEmergencyStateDeactivated is a log parse operation binding the contract event 0x1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3. -// -// Solidity: event EmergencyStateDeactivated() -func (_ZkEVM *ZkEVMFilterer) ParseEmergencyStateDeactivated(log types.Log) (*ZkEVMEmergencyStateDeactivated, error) { - event := new(ZkEVMEmergencyStateDeactivated) - if err := _ZkEVM.contract.UnpackLog(event, "EmergencyStateDeactivated", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMForceBatchIterator is returned from FilterForceBatch and is used to iterate over the raw logs and unpacked data for ForceBatch events raised by the ZkEVM contract. -type ZkEVMForceBatchIterator struct { - Event *ZkEVMForceBatch // 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 *ZkEVMForceBatchIterator) 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(ZkEVMForceBatch) - 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(ZkEVMForceBatch) - 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 *ZkEVMForceBatchIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMForceBatchIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMForceBatch represents a ForceBatch event raised by the ZkEVM contract. -type ZkEVMForceBatch struct { - ForceBatchNum uint64 - LastGlobalExitRoot [32]byte - Sequencer common.Address - Transactions []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterForceBatch is a free log retrieval operation binding the contract event 0xf94bb37db835f1ab585ee00041849a09b12cd081d77fa15ca070757619cbc931. -// -// Solidity: event ForceBatch(uint64 indexed forceBatchNum, bytes32 lastGlobalExitRoot, address sequencer, bytes transactions) -func (_ZkEVM *ZkEVMFilterer) FilterForceBatch(opts *bind.FilterOpts, forceBatchNum []uint64) (*ZkEVMForceBatchIterator, error) { - - var forceBatchNumRule []interface{} - for _, forceBatchNumItem := range forceBatchNum { - forceBatchNumRule = append(forceBatchNumRule, forceBatchNumItem) - } - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "ForceBatch", forceBatchNumRule) - if err != nil { - return nil, err - } - return &ZkEVMForceBatchIterator{contract: _ZkEVM.contract, event: "ForceBatch", logs: logs, sub: sub}, nil -} - -// WatchForceBatch is a free log subscription operation binding the contract event 0xf94bb37db835f1ab585ee00041849a09b12cd081d77fa15ca070757619cbc931. -// -// Solidity: event ForceBatch(uint64 indexed forceBatchNum, bytes32 lastGlobalExitRoot, address sequencer, bytes transactions) -func (_ZkEVM *ZkEVMFilterer) WatchForceBatch(opts *bind.WatchOpts, sink chan<- *ZkEVMForceBatch, forceBatchNum []uint64) (event.Subscription, error) { - - var forceBatchNumRule []interface{} - for _, forceBatchNumItem := range forceBatchNum { - forceBatchNumRule = append(forceBatchNumRule, forceBatchNumItem) - } - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "ForceBatch", forceBatchNumRule) - 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(ZkEVMForceBatch) - if err := _ZkEVM.contract.UnpackLog(event, "ForceBatch", 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 -} - -// ParseForceBatch is a log parse operation binding the contract event 0xf94bb37db835f1ab585ee00041849a09b12cd081d77fa15ca070757619cbc931. -// -// Solidity: event ForceBatch(uint64 indexed forceBatchNum, bytes32 lastGlobalExitRoot, address sequencer, bytes transactions) -func (_ZkEVM *ZkEVMFilterer) ParseForceBatch(log types.Log) (*ZkEVMForceBatch, error) { - event := new(ZkEVMForceBatch) - if err := _ZkEVM.contract.UnpackLog(event, "ForceBatch", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the ZkEVM contract. -type ZkEVMInitializedIterator struct { - Event *ZkEVMInitialized // 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 *ZkEVMInitializedIterator) 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(ZkEVMInitialized) - 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(ZkEVMInitialized) - 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 *ZkEVMInitializedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMInitializedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMInitialized represents a Initialized event raised by the ZkEVM contract. -type ZkEVMInitialized struct { - Version uint8 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. -// -// Solidity: event Initialized(uint8 version) -func (_ZkEVM *ZkEVMFilterer) FilterInitialized(opts *bind.FilterOpts) (*ZkEVMInitializedIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "Initialized") - if err != nil { - return nil, err - } - return &ZkEVMInitializedIterator{contract: _ZkEVM.contract, event: "Initialized", logs: logs, sub: sub}, nil -} - -// WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. -// -// Solidity: event Initialized(uint8 version) -func (_ZkEVM *ZkEVMFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *ZkEVMInitialized) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "Initialized") - 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(ZkEVMInitialized) - if err := _ZkEVM.contract.UnpackLog(event, "Initialized", 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 -} - -// ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. -// -// Solidity: event Initialized(uint8 version) -func (_ZkEVM *ZkEVMFilterer) ParseInitialized(log types.Log) (*ZkEVMInitialized, error) { - event := new(ZkEVMInitialized) - if err := _ZkEVM.contract.UnpackLog(event, "Initialized", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMOverridePendingStateIterator is returned from FilterOverridePendingState and is used to iterate over the raw logs and unpacked data for OverridePendingState events raised by the ZkEVM contract. -type ZkEVMOverridePendingStateIterator struct { - Event *ZkEVMOverridePendingState // 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 *ZkEVMOverridePendingStateIterator) 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(ZkEVMOverridePendingState) - 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(ZkEVMOverridePendingState) - 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 *ZkEVMOverridePendingStateIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMOverridePendingStateIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMOverridePendingState represents a OverridePendingState event raised by the ZkEVM contract. -type ZkEVMOverridePendingState struct { - NumBatch uint64 - StateRoot [32]byte - Aggregator common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterOverridePendingState is a free log retrieval operation binding the contract event 0xcc1b5520188bf1dd3e63f98164b577c4d75c11a619ddea692112f0d1aec4cf72. -// -// Solidity: event OverridePendingState(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) FilterOverridePendingState(opts *bind.FilterOpts, numBatch []uint64, aggregator []common.Address) (*ZkEVMOverridePendingStateIterator, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - var aggregatorRule []interface{} - for _, aggregatorItem := range aggregator { - aggregatorRule = append(aggregatorRule, aggregatorItem) - } - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "OverridePendingState", numBatchRule, aggregatorRule) - if err != nil { - return nil, err - } - return &ZkEVMOverridePendingStateIterator{contract: _ZkEVM.contract, event: "OverridePendingState", logs: logs, sub: sub}, nil -} - -// WatchOverridePendingState is a free log subscription operation binding the contract event 0xcc1b5520188bf1dd3e63f98164b577c4d75c11a619ddea692112f0d1aec4cf72. -// -// Solidity: event OverridePendingState(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) WatchOverridePendingState(opts *bind.WatchOpts, sink chan<- *ZkEVMOverridePendingState, numBatch []uint64, aggregator []common.Address) (event.Subscription, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - var aggregatorRule []interface{} - for _, aggregatorItem := range aggregator { - aggregatorRule = append(aggregatorRule, aggregatorItem) - } - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "OverridePendingState", numBatchRule, aggregatorRule) - 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(ZkEVMOverridePendingState) - if err := _ZkEVM.contract.UnpackLog(event, "OverridePendingState", 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 -} - -// ParseOverridePendingState is a log parse operation binding the contract event 0xcc1b5520188bf1dd3e63f98164b577c4d75c11a619ddea692112f0d1aec4cf72. -// -// Solidity: event OverridePendingState(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) ParseOverridePendingState(log types.Log) (*ZkEVMOverridePendingState, error) { - event := new(ZkEVMOverridePendingState) - if err := _ZkEVM.contract.UnpackLog(event, "OverridePendingState", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the ZkEVM contract. -type ZkEVMOwnershipTransferredIterator struct { - Event *ZkEVMOwnershipTransferred // 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 *ZkEVMOwnershipTransferredIterator) 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(ZkEVMOwnershipTransferred) - 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(ZkEVMOwnershipTransferred) - 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 *ZkEVMOwnershipTransferredIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMOwnershipTransferredIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMOwnershipTransferred represents a OwnershipTransferred event raised by the ZkEVM contract. -type ZkEVMOwnershipTransferred 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 (_ZkEVM *ZkEVMFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ZkEVMOwnershipTransferredIterator, 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 := _ZkEVM.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) - if err != nil { - return nil, err - } - return &ZkEVMOwnershipTransferredIterator{contract: _ZkEVM.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 (_ZkEVM *ZkEVMFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ZkEVMOwnershipTransferred, 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 := _ZkEVM.contract.WatchLogs(opts, "OwnershipTransferred", 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(ZkEVMOwnershipTransferred) - if err := _ZkEVM.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 (_ZkEVM *ZkEVMFilterer) ParseOwnershipTransferred(log types.Log) (*ZkEVMOwnershipTransferred, error) { - event := new(ZkEVMOwnershipTransferred) - if err := _ZkEVM.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMProveNonDeterministicPendingStateIterator is returned from FilterProveNonDeterministicPendingState and is used to iterate over the raw logs and unpacked data for ProveNonDeterministicPendingState events raised by the ZkEVM contract. -type ZkEVMProveNonDeterministicPendingStateIterator struct { - Event *ZkEVMProveNonDeterministicPendingState // 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 *ZkEVMProveNonDeterministicPendingStateIterator) 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(ZkEVMProveNonDeterministicPendingState) - 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(ZkEVMProveNonDeterministicPendingState) - 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 *ZkEVMProveNonDeterministicPendingStateIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMProveNonDeterministicPendingStateIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMProveNonDeterministicPendingState represents a ProveNonDeterministicPendingState event raised by the ZkEVM contract. -type ZkEVMProveNonDeterministicPendingState struct { - StoredStateRoot [32]byte - ProvedStateRoot [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterProveNonDeterministicPendingState is a free log retrieval operation binding the contract event 0x1f44c21118c4603cfb4e1b621dbcfa2b73efcececee2b99b620b2953d33a7010. -// -// Solidity: event ProveNonDeterministicPendingState(bytes32 storedStateRoot, bytes32 provedStateRoot) -func (_ZkEVM *ZkEVMFilterer) FilterProveNonDeterministicPendingState(opts *bind.FilterOpts) (*ZkEVMProveNonDeterministicPendingStateIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "ProveNonDeterministicPendingState") - if err != nil { - return nil, err - } - return &ZkEVMProveNonDeterministicPendingStateIterator{contract: _ZkEVM.contract, event: "ProveNonDeterministicPendingState", logs: logs, sub: sub}, nil -} - -// WatchProveNonDeterministicPendingState is a free log subscription operation binding the contract event 0x1f44c21118c4603cfb4e1b621dbcfa2b73efcececee2b99b620b2953d33a7010. -// -// Solidity: event ProveNonDeterministicPendingState(bytes32 storedStateRoot, bytes32 provedStateRoot) -func (_ZkEVM *ZkEVMFilterer) WatchProveNonDeterministicPendingState(opts *bind.WatchOpts, sink chan<- *ZkEVMProveNonDeterministicPendingState) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "ProveNonDeterministicPendingState") - 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(ZkEVMProveNonDeterministicPendingState) - if err := _ZkEVM.contract.UnpackLog(event, "ProveNonDeterministicPendingState", 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 -} - -// ParseProveNonDeterministicPendingState is a log parse operation binding the contract event 0x1f44c21118c4603cfb4e1b621dbcfa2b73efcececee2b99b620b2953d33a7010. -// -// Solidity: event ProveNonDeterministicPendingState(bytes32 storedStateRoot, bytes32 provedStateRoot) -func (_ZkEVM *ZkEVMFilterer) ParseProveNonDeterministicPendingState(log types.Log) (*ZkEVMProveNonDeterministicPendingState, error) { - event := new(ZkEVMProveNonDeterministicPendingState) - if err := _ZkEVM.contract.UnpackLog(event, "ProveNonDeterministicPendingState", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSequenceBatchesIterator is returned from FilterSequenceBatches and is used to iterate over the raw logs and unpacked data for SequenceBatches events raised by the ZkEVM contract. -type ZkEVMSequenceBatchesIterator struct { - Event *ZkEVMSequenceBatches // 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 *ZkEVMSequenceBatchesIterator) 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(ZkEVMSequenceBatches) - 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(ZkEVMSequenceBatches) - 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 *ZkEVMSequenceBatchesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSequenceBatchesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSequenceBatches represents a SequenceBatches event raised by the ZkEVM contract. -type ZkEVMSequenceBatches struct { - NumBatch uint64 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSequenceBatches is a free log retrieval operation binding the contract event 0x303446e6a8cb73c83dff421c0b1d5e5ce0719dab1bff13660fc254e58cc17fce. -// -// Solidity: event SequenceBatches(uint64 indexed numBatch) -func (_ZkEVM *ZkEVMFilterer) FilterSequenceBatches(opts *bind.FilterOpts, numBatch []uint64) (*ZkEVMSequenceBatchesIterator, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SequenceBatches", numBatchRule) - if err != nil { - return nil, err - } - return &ZkEVMSequenceBatchesIterator{contract: _ZkEVM.contract, event: "SequenceBatches", logs: logs, sub: sub}, nil -} - -// WatchSequenceBatches is a free log subscription operation binding the contract event 0x303446e6a8cb73c83dff421c0b1d5e5ce0719dab1bff13660fc254e58cc17fce. -// -// Solidity: event SequenceBatches(uint64 indexed numBatch) -func (_ZkEVM *ZkEVMFilterer) WatchSequenceBatches(opts *bind.WatchOpts, sink chan<- *ZkEVMSequenceBatches, numBatch []uint64) (event.Subscription, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SequenceBatches", numBatchRule) - 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(ZkEVMSequenceBatches) - if err := _ZkEVM.contract.UnpackLog(event, "SequenceBatches", 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 -} - -// ParseSequenceBatches is a log parse operation binding the contract event 0x303446e6a8cb73c83dff421c0b1d5e5ce0719dab1bff13660fc254e58cc17fce. -// -// Solidity: event SequenceBatches(uint64 indexed numBatch) -func (_ZkEVM *ZkEVMFilterer) ParseSequenceBatches(log types.Log) (*ZkEVMSequenceBatches, error) { - event := new(ZkEVMSequenceBatches) - if err := _ZkEVM.contract.UnpackLog(event, "SequenceBatches", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSequenceForceBatchesIterator is returned from FilterSequenceForceBatches and is used to iterate over the raw logs and unpacked data for SequenceForceBatches events raised by the ZkEVM contract. -type ZkEVMSequenceForceBatchesIterator struct { - Event *ZkEVMSequenceForceBatches // 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 *ZkEVMSequenceForceBatchesIterator) 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(ZkEVMSequenceForceBatches) - 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(ZkEVMSequenceForceBatches) - 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 *ZkEVMSequenceForceBatchesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSequenceForceBatchesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSequenceForceBatches represents a SequenceForceBatches event raised by the ZkEVM contract. -type ZkEVMSequenceForceBatches struct { - NumBatch uint64 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSequenceForceBatches is a free log retrieval operation binding the contract event 0x648a61dd2438f072f5a1960939abd30f37aea80d2e94c9792ad142d3e0a490a4. -// -// Solidity: event SequenceForceBatches(uint64 indexed numBatch) -func (_ZkEVM *ZkEVMFilterer) FilterSequenceForceBatches(opts *bind.FilterOpts, numBatch []uint64) (*ZkEVMSequenceForceBatchesIterator, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SequenceForceBatches", numBatchRule) - if err != nil { - return nil, err - } - return &ZkEVMSequenceForceBatchesIterator{contract: _ZkEVM.contract, event: "SequenceForceBatches", logs: logs, sub: sub}, nil -} - -// WatchSequenceForceBatches is a free log subscription operation binding the contract event 0x648a61dd2438f072f5a1960939abd30f37aea80d2e94c9792ad142d3e0a490a4. -// -// Solidity: event SequenceForceBatches(uint64 indexed numBatch) -func (_ZkEVM *ZkEVMFilterer) WatchSequenceForceBatches(opts *bind.WatchOpts, sink chan<- *ZkEVMSequenceForceBatches, numBatch []uint64) (event.Subscription, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SequenceForceBatches", numBatchRule) - 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(ZkEVMSequenceForceBatches) - if err := _ZkEVM.contract.UnpackLog(event, "SequenceForceBatches", 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 -} - -// ParseSequenceForceBatches is a log parse operation binding the contract event 0x648a61dd2438f072f5a1960939abd30f37aea80d2e94c9792ad142d3e0a490a4. -// -// Solidity: event SequenceForceBatches(uint64 indexed numBatch) -func (_ZkEVM *ZkEVMFilterer) ParseSequenceForceBatches(log types.Log) (*ZkEVMSequenceForceBatches, error) { - event := new(ZkEVMSequenceForceBatches) - if err := _ZkEVM.contract.UnpackLog(event, "SequenceForceBatches", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSetForceBatchTimeoutIterator is returned from FilterSetForceBatchTimeout and is used to iterate over the raw logs and unpacked data for SetForceBatchTimeout events raised by the ZkEVM contract. -type ZkEVMSetForceBatchTimeoutIterator struct { - Event *ZkEVMSetForceBatchTimeout // 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 *ZkEVMSetForceBatchTimeoutIterator) 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(ZkEVMSetForceBatchTimeout) - 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(ZkEVMSetForceBatchTimeout) - 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 *ZkEVMSetForceBatchTimeoutIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSetForceBatchTimeoutIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSetForceBatchTimeout represents a SetForceBatchTimeout event raised by the ZkEVM contract. -type ZkEVMSetForceBatchTimeout struct { - NewforceBatchTimeout uint64 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetForceBatchTimeout is a free log retrieval operation binding the contract event 0xa7eb6cb8a613eb4e8bddc1ac3d61ec6cf10898760f0b187bcca794c6ca6fa40b. -// -// Solidity: event SetForceBatchTimeout(uint64 newforceBatchTimeout) -func (_ZkEVM *ZkEVMFilterer) FilterSetForceBatchTimeout(opts *bind.FilterOpts) (*ZkEVMSetForceBatchTimeoutIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SetForceBatchTimeout") - if err != nil { - return nil, err - } - return &ZkEVMSetForceBatchTimeoutIterator{contract: _ZkEVM.contract, event: "SetForceBatchTimeout", logs: logs, sub: sub}, nil -} - -// WatchSetForceBatchTimeout is a free log subscription operation binding the contract event 0xa7eb6cb8a613eb4e8bddc1ac3d61ec6cf10898760f0b187bcca794c6ca6fa40b. -// -// Solidity: event SetForceBatchTimeout(uint64 newforceBatchTimeout) -func (_ZkEVM *ZkEVMFilterer) WatchSetForceBatchTimeout(opts *bind.WatchOpts, sink chan<- *ZkEVMSetForceBatchTimeout) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SetForceBatchTimeout") - 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(ZkEVMSetForceBatchTimeout) - if err := _ZkEVM.contract.UnpackLog(event, "SetForceBatchTimeout", 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 -} - -// ParseSetForceBatchTimeout is a log parse operation binding the contract event 0xa7eb6cb8a613eb4e8bddc1ac3d61ec6cf10898760f0b187bcca794c6ca6fa40b. -// -// Solidity: event SetForceBatchTimeout(uint64 newforceBatchTimeout) -func (_ZkEVM *ZkEVMFilterer) ParseSetForceBatchTimeout(log types.Log) (*ZkEVMSetForceBatchTimeout, error) { - event := new(ZkEVMSetForceBatchTimeout) - if err := _ZkEVM.contract.UnpackLog(event, "SetForceBatchTimeout", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSetMultiplierBatchFeeIterator is returned from FilterSetMultiplierBatchFee and is used to iterate over the raw logs and unpacked data for SetMultiplierBatchFee events raised by the ZkEVM contract. -type ZkEVMSetMultiplierBatchFeeIterator struct { - Event *ZkEVMSetMultiplierBatchFee // 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 *ZkEVMSetMultiplierBatchFeeIterator) 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(ZkEVMSetMultiplierBatchFee) - 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(ZkEVMSetMultiplierBatchFee) - 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 *ZkEVMSetMultiplierBatchFeeIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSetMultiplierBatchFeeIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSetMultiplierBatchFee represents a SetMultiplierBatchFee event raised by the ZkEVM contract. -type ZkEVMSetMultiplierBatchFee struct { - NewMultiplierBatchFee uint16 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetMultiplierBatchFee is a free log retrieval operation binding the contract event 0x7019933d795eba185c180209e8ae8bffbaa25bcef293364687702c31f4d302c5. -// -// Solidity: event SetMultiplierBatchFee(uint16 newMultiplierBatchFee) -func (_ZkEVM *ZkEVMFilterer) FilterSetMultiplierBatchFee(opts *bind.FilterOpts) (*ZkEVMSetMultiplierBatchFeeIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SetMultiplierBatchFee") - if err != nil { - return nil, err - } - return &ZkEVMSetMultiplierBatchFeeIterator{contract: _ZkEVM.contract, event: "SetMultiplierBatchFee", logs: logs, sub: sub}, nil -} - -// WatchSetMultiplierBatchFee is a free log subscription operation binding the contract event 0x7019933d795eba185c180209e8ae8bffbaa25bcef293364687702c31f4d302c5. -// -// Solidity: event SetMultiplierBatchFee(uint16 newMultiplierBatchFee) -func (_ZkEVM *ZkEVMFilterer) WatchSetMultiplierBatchFee(opts *bind.WatchOpts, sink chan<- *ZkEVMSetMultiplierBatchFee) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SetMultiplierBatchFee") - 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(ZkEVMSetMultiplierBatchFee) - if err := _ZkEVM.contract.UnpackLog(event, "SetMultiplierBatchFee", 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 -} - -// ParseSetMultiplierBatchFee is a log parse operation binding the contract event 0x7019933d795eba185c180209e8ae8bffbaa25bcef293364687702c31f4d302c5. -// -// Solidity: event SetMultiplierBatchFee(uint16 newMultiplierBatchFee) -func (_ZkEVM *ZkEVMFilterer) ParseSetMultiplierBatchFee(log types.Log) (*ZkEVMSetMultiplierBatchFee, error) { - event := new(ZkEVMSetMultiplierBatchFee) - if err := _ZkEVM.contract.UnpackLog(event, "SetMultiplierBatchFee", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSetPendingStateTimeoutIterator is returned from FilterSetPendingStateTimeout and is used to iterate over the raw logs and unpacked data for SetPendingStateTimeout events raised by the ZkEVM contract. -type ZkEVMSetPendingStateTimeoutIterator struct { - Event *ZkEVMSetPendingStateTimeout // 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 *ZkEVMSetPendingStateTimeoutIterator) 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(ZkEVMSetPendingStateTimeout) - 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(ZkEVMSetPendingStateTimeout) - 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 *ZkEVMSetPendingStateTimeoutIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSetPendingStateTimeoutIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSetPendingStateTimeout represents a SetPendingStateTimeout event raised by the ZkEVM contract. -type ZkEVMSetPendingStateTimeout struct { - NewPendingStateTimeout uint64 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetPendingStateTimeout is a free log retrieval operation binding the contract event 0xc4121f4e22c69632ebb7cf1f462be0511dc034f999b52013eddfb24aab765c75. -// -// Solidity: event SetPendingStateTimeout(uint64 newPendingStateTimeout) -func (_ZkEVM *ZkEVMFilterer) FilterSetPendingStateTimeout(opts *bind.FilterOpts) (*ZkEVMSetPendingStateTimeoutIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SetPendingStateTimeout") - if err != nil { - return nil, err - } - return &ZkEVMSetPendingStateTimeoutIterator{contract: _ZkEVM.contract, event: "SetPendingStateTimeout", logs: logs, sub: sub}, nil -} - -// WatchSetPendingStateTimeout is a free log subscription operation binding the contract event 0xc4121f4e22c69632ebb7cf1f462be0511dc034f999b52013eddfb24aab765c75. -// -// Solidity: event SetPendingStateTimeout(uint64 newPendingStateTimeout) -func (_ZkEVM *ZkEVMFilterer) WatchSetPendingStateTimeout(opts *bind.WatchOpts, sink chan<- *ZkEVMSetPendingStateTimeout) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SetPendingStateTimeout") - 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(ZkEVMSetPendingStateTimeout) - if err := _ZkEVM.contract.UnpackLog(event, "SetPendingStateTimeout", 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 -} - -// ParseSetPendingStateTimeout is a log parse operation binding the contract event 0xc4121f4e22c69632ebb7cf1f462be0511dc034f999b52013eddfb24aab765c75. -// -// Solidity: event SetPendingStateTimeout(uint64 newPendingStateTimeout) -func (_ZkEVM *ZkEVMFilterer) ParseSetPendingStateTimeout(log types.Log) (*ZkEVMSetPendingStateTimeout, error) { - event := new(ZkEVMSetPendingStateTimeout) - if err := _ZkEVM.contract.UnpackLog(event, "SetPendingStateTimeout", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSetTrustedAggregatorIterator is returned from FilterSetTrustedAggregator and is used to iterate over the raw logs and unpacked data for SetTrustedAggregator events raised by the ZkEVM contract. -type ZkEVMSetTrustedAggregatorIterator struct { - Event *ZkEVMSetTrustedAggregator // 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 *ZkEVMSetTrustedAggregatorIterator) 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(ZkEVMSetTrustedAggregator) - 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(ZkEVMSetTrustedAggregator) - 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 *ZkEVMSetTrustedAggregatorIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSetTrustedAggregatorIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSetTrustedAggregator represents a SetTrustedAggregator event raised by the ZkEVM contract. -type ZkEVMSetTrustedAggregator struct { - NewTrustedAggregator common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetTrustedAggregator is a free log retrieval operation binding the contract event 0x61f8fec29495a3078e9271456f05fb0707fd4e41f7661865f80fc437d06681ca. -// -// Solidity: event SetTrustedAggregator(address newTrustedAggregator) -func (_ZkEVM *ZkEVMFilterer) FilterSetTrustedAggregator(opts *bind.FilterOpts) (*ZkEVMSetTrustedAggregatorIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SetTrustedAggregator") - if err != nil { - return nil, err - } - return &ZkEVMSetTrustedAggregatorIterator{contract: _ZkEVM.contract, event: "SetTrustedAggregator", logs: logs, sub: sub}, nil -} - -// WatchSetTrustedAggregator is a free log subscription operation binding the contract event 0x61f8fec29495a3078e9271456f05fb0707fd4e41f7661865f80fc437d06681ca. -// -// Solidity: event SetTrustedAggregator(address newTrustedAggregator) -func (_ZkEVM *ZkEVMFilterer) WatchSetTrustedAggregator(opts *bind.WatchOpts, sink chan<- *ZkEVMSetTrustedAggregator) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SetTrustedAggregator") - 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(ZkEVMSetTrustedAggregator) - if err := _ZkEVM.contract.UnpackLog(event, "SetTrustedAggregator", 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 -} - -// ParseSetTrustedAggregator is a log parse operation binding the contract event 0x61f8fec29495a3078e9271456f05fb0707fd4e41f7661865f80fc437d06681ca. -// -// Solidity: event SetTrustedAggregator(address newTrustedAggregator) -func (_ZkEVM *ZkEVMFilterer) ParseSetTrustedAggregator(log types.Log) (*ZkEVMSetTrustedAggregator, error) { - event := new(ZkEVMSetTrustedAggregator) - if err := _ZkEVM.contract.UnpackLog(event, "SetTrustedAggregator", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSetTrustedAggregatorTimeoutIterator is returned from FilterSetTrustedAggregatorTimeout and is used to iterate over the raw logs and unpacked data for SetTrustedAggregatorTimeout events raised by the ZkEVM contract. -type ZkEVMSetTrustedAggregatorTimeoutIterator struct { - Event *ZkEVMSetTrustedAggregatorTimeout // 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 *ZkEVMSetTrustedAggregatorTimeoutIterator) 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(ZkEVMSetTrustedAggregatorTimeout) - 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(ZkEVMSetTrustedAggregatorTimeout) - 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 *ZkEVMSetTrustedAggregatorTimeoutIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSetTrustedAggregatorTimeoutIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSetTrustedAggregatorTimeout represents a SetTrustedAggregatorTimeout event raised by the ZkEVM contract. -type ZkEVMSetTrustedAggregatorTimeout struct { - NewTrustedAggregatorTimeout uint64 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetTrustedAggregatorTimeout is a free log retrieval operation binding the contract event 0x1f4fa24c2e4bad19a7f3ec5c5485f70d46c798461c2e684f55bbd0fc661373a1. -// -// Solidity: event SetTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) -func (_ZkEVM *ZkEVMFilterer) FilterSetTrustedAggregatorTimeout(opts *bind.FilterOpts) (*ZkEVMSetTrustedAggregatorTimeoutIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SetTrustedAggregatorTimeout") - if err != nil { - return nil, err - } - return &ZkEVMSetTrustedAggregatorTimeoutIterator{contract: _ZkEVM.contract, event: "SetTrustedAggregatorTimeout", logs: logs, sub: sub}, nil -} - -// WatchSetTrustedAggregatorTimeout is a free log subscription operation binding the contract event 0x1f4fa24c2e4bad19a7f3ec5c5485f70d46c798461c2e684f55bbd0fc661373a1. -// -// Solidity: event SetTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) -func (_ZkEVM *ZkEVMFilterer) WatchSetTrustedAggregatorTimeout(opts *bind.WatchOpts, sink chan<- *ZkEVMSetTrustedAggregatorTimeout) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SetTrustedAggregatorTimeout") - 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(ZkEVMSetTrustedAggregatorTimeout) - if err := _ZkEVM.contract.UnpackLog(event, "SetTrustedAggregatorTimeout", 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 -} - -// ParseSetTrustedAggregatorTimeout is a log parse operation binding the contract event 0x1f4fa24c2e4bad19a7f3ec5c5485f70d46c798461c2e684f55bbd0fc661373a1. -// -// Solidity: event SetTrustedAggregatorTimeout(uint64 newTrustedAggregatorTimeout) -func (_ZkEVM *ZkEVMFilterer) ParseSetTrustedAggregatorTimeout(log types.Log) (*ZkEVMSetTrustedAggregatorTimeout, error) { - event := new(ZkEVMSetTrustedAggregatorTimeout) - if err := _ZkEVM.contract.UnpackLog(event, "SetTrustedAggregatorTimeout", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSetTrustedSequencerIterator is returned from FilterSetTrustedSequencer and is used to iterate over the raw logs and unpacked data for SetTrustedSequencer events raised by the ZkEVM contract. -type ZkEVMSetTrustedSequencerIterator struct { - Event *ZkEVMSetTrustedSequencer // 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 *ZkEVMSetTrustedSequencerIterator) 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(ZkEVMSetTrustedSequencer) - 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(ZkEVMSetTrustedSequencer) - 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 *ZkEVMSetTrustedSequencerIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSetTrustedSequencerIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSetTrustedSequencer represents a SetTrustedSequencer event raised by the ZkEVM contract. -type ZkEVMSetTrustedSequencer struct { - NewTrustedSequencer common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetTrustedSequencer is a free log retrieval operation binding the contract event 0xf54144f9611984021529f814a1cb6a41e22c58351510a0d9f7e822618abb9cc0. -// -// Solidity: event SetTrustedSequencer(address newTrustedSequencer) -func (_ZkEVM *ZkEVMFilterer) FilterSetTrustedSequencer(opts *bind.FilterOpts) (*ZkEVMSetTrustedSequencerIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SetTrustedSequencer") - if err != nil { - return nil, err - } - return &ZkEVMSetTrustedSequencerIterator{contract: _ZkEVM.contract, event: "SetTrustedSequencer", logs: logs, sub: sub}, nil -} - -// WatchSetTrustedSequencer is a free log subscription operation binding the contract event 0xf54144f9611984021529f814a1cb6a41e22c58351510a0d9f7e822618abb9cc0. -// -// Solidity: event SetTrustedSequencer(address newTrustedSequencer) -func (_ZkEVM *ZkEVMFilterer) WatchSetTrustedSequencer(opts *bind.WatchOpts, sink chan<- *ZkEVMSetTrustedSequencer) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SetTrustedSequencer") - 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(ZkEVMSetTrustedSequencer) - if err := _ZkEVM.contract.UnpackLog(event, "SetTrustedSequencer", 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 -} - -// ParseSetTrustedSequencer is a log parse operation binding the contract event 0xf54144f9611984021529f814a1cb6a41e22c58351510a0d9f7e822618abb9cc0. -// -// Solidity: event SetTrustedSequencer(address newTrustedSequencer) -func (_ZkEVM *ZkEVMFilterer) ParseSetTrustedSequencer(log types.Log) (*ZkEVMSetTrustedSequencer, error) { - event := new(ZkEVMSetTrustedSequencer) - if err := _ZkEVM.contract.UnpackLog(event, "SetTrustedSequencer", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSetTrustedSequencerURLIterator is returned from FilterSetTrustedSequencerURL and is used to iterate over the raw logs and unpacked data for SetTrustedSequencerURL events raised by the ZkEVM contract. -type ZkEVMSetTrustedSequencerURLIterator struct { - Event *ZkEVMSetTrustedSequencerURL // 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 *ZkEVMSetTrustedSequencerURLIterator) 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(ZkEVMSetTrustedSequencerURL) - 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(ZkEVMSetTrustedSequencerURL) - 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 *ZkEVMSetTrustedSequencerURLIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSetTrustedSequencerURLIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSetTrustedSequencerURL represents a SetTrustedSequencerURL event raised by the ZkEVM contract. -type ZkEVMSetTrustedSequencerURL struct { - NewTrustedSequencerURL string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetTrustedSequencerURL is a free log retrieval operation binding the contract event 0x6b8f723a4c7a5335cafae8a598a0aa0301be1387c037dccc085b62add6448b20. -// -// Solidity: event SetTrustedSequencerURL(string newTrustedSequencerURL) -func (_ZkEVM *ZkEVMFilterer) FilterSetTrustedSequencerURL(opts *bind.FilterOpts) (*ZkEVMSetTrustedSequencerURLIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SetTrustedSequencerURL") - if err != nil { - return nil, err - } - return &ZkEVMSetTrustedSequencerURLIterator{contract: _ZkEVM.contract, event: "SetTrustedSequencerURL", logs: logs, sub: sub}, nil -} - -// WatchSetTrustedSequencerURL is a free log subscription operation binding the contract event 0x6b8f723a4c7a5335cafae8a598a0aa0301be1387c037dccc085b62add6448b20. -// -// Solidity: event SetTrustedSequencerURL(string newTrustedSequencerURL) -func (_ZkEVM *ZkEVMFilterer) WatchSetTrustedSequencerURL(opts *bind.WatchOpts, sink chan<- *ZkEVMSetTrustedSequencerURL) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SetTrustedSequencerURL") - 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(ZkEVMSetTrustedSequencerURL) - if err := _ZkEVM.contract.UnpackLog(event, "SetTrustedSequencerURL", 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 -} - -// ParseSetTrustedSequencerURL is a log parse operation binding the contract event 0x6b8f723a4c7a5335cafae8a598a0aa0301be1387c037dccc085b62add6448b20. -// -// Solidity: event SetTrustedSequencerURL(string newTrustedSequencerURL) -func (_ZkEVM *ZkEVMFilterer) ParseSetTrustedSequencerURL(log types.Log) (*ZkEVMSetTrustedSequencerURL, error) { - event := new(ZkEVMSetTrustedSequencerURL) - if err := _ZkEVM.contract.UnpackLog(event, "SetTrustedSequencerURL", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMSetVerifyBatchTimeTargetIterator is returned from FilterSetVerifyBatchTimeTarget and is used to iterate over the raw logs and unpacked data for SetVerifyBatchTimeTarget events raised by the ZkEVM contract. -type ZkEVMSetVerifyBatchTimeTargetIterator struct { - Event *ZkEVMSetVerifyBatchTimeTarget // 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 *ZkEVMSetVerifyBatchTimeTargetIterator) 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(ZkEVMSetVerifyBatchTimeTarget) - 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(ZkEVMSetVerifyBatchTimeTarget) - 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 *ZkEVMSetVerifyBatchTimeTargetIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMSetVerifyBatchTimeTargetIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMSetVerifyBatchTimeTarget represents a SetVerifyBatchTimeTarget event raised by the ZkEVM contract. -type ZkEVMSetVerifyBatchTimeTarget struct { - NewVerifyBatchTimeTarget uint64 - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSetVerifyBatchTimeTarget is a free log retrieval operation binding the contract event 0x1b023231a1ab6b5d93992f168fb44498e1a7e64cef58daff6f1c216de6a68c28. -// -// Solidity: event SetVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) -func (_ZkEVM *ZkEVMFilterer) FilterSetVerifyBatchTimeTarget(opts *bind.FilterOpts) (*ZkEVMSetVerifyBatchTimeTargetIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "SetVerifyBatchTimeTarget") - if err != nil { - return nil, err - } - return &ZkEVMSetVerifyBatchTimeTargetIterator{contract: _ZkEVM.contract, event: "SetVerifyBatchTimeTarget", logs: logs, sub: sub}, nil -} - -// WatchSetVerifyBatchTimeTarget is a free log subscription operation binding the contract event 0x1b023231a1ab6b5d93992f168fb44498e1a7e64cef58daff6f1c216de6a68c28. -// -// Solidity: event SetVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) -func (_ZkEVM *ZkEVMFilterer) WatchSetVerifyBatchTimeTarget(opts *bind.WatchOpts, sink chan<- *ZkEVMSetVerifyBatchTimeTarget) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "SetVerifyBatchTimeTarget") - 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(ZkEVMSetVerifyBatchTimeTarget) - if err := _ZkEVM.contract.UnpackLog(event, "SetVerifyBatchTimeTarget", 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 -} - -// ParseSetVerifyBatchTimeTarget is a log parse operation binding the contract event 0x1b023231a1ab6b5d93992f168fb44498e1a7e64cef58daff6f1c216de6a68c28. -// -// Solidity: event SetVerifyBatchTimeTarget(uint64 newVerifyBatchTimeTarget) -func (_ZkEVM *ZkEVMFilterer) ParseSetVerifyBatchTimeTarget(log types.Log) (*ZkEVMSetVerifyBatchTimeTarget, error) { - event := new(ZkEVMSetVerifyBatchTimeTarget) - if err := _ZkEVM.contract.UnpackLog(event, "SetVerifyBatchTimeTarget", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMTransferAdminRoleIterator is returned from FilterTransferAdminRole and is used to iterate over the raw logs and unpacked data for TransferAdminRole events raised by the ZkEVM contract. -type ZkEVMTransferAdminRoleIterator struct { - Event *ZkEVMTransferAdminRole // 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 *ZkEVMTransferAdminRoleIterator) 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(ZkEVMTransferAdminRole) - 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(ZkEVMTransferAdminRole) - 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 *ZkEVMTransferAdminRoleIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMTransferAdminRoleIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMTransferAdminRole represents a TransferAdminRole event raised by the ZkEVM contract. -type ZkEVMTransferAdminRole struct { - NewPendingAdmin common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransferAdminRole is a free log retrieval operation binding the contract event 0xa5b56b7906fd0a20e3f35120dd8343db1e12e037a6c90111c7e42885e82a1ce6. -// -// Solidity: event TransferAdminRole(address newPendingAdmin) -func (_ZkEVM *ZkEVMFilterer) FilterTransferAdminRole(opts *bind.FilterOpts) (*ZkEVMTransferAdminRoleIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "TransferAdminRole") - if err != nil { - return nil, err - } - return &ZkEVMTransferAdminRoleIterator{contract: _ZkEVM.contract, event: "TransferAdminRole", logs: logs, sub: sub}, nil -} - -// WatchTransferAdminRole is a free log subscription operation binding the contract event 0xa5b56b7906fd0a20e3f35120dd8343db1e12e037a6c90111c7e42885e82a1ce6. -// -// Solidity: event TransferAdminRole(address newPendingAdmin) -func (_ZkEVM *ZkEVMFilterer) WatchTransferAdminRole(opts *bind.WatchOpts, sink chan<- *ZkEVMTransferAdminRole) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "TransferAdminRole") - 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(ZkEVMTransferAdminRole) - if err := _ZkEVM.contract.UnpackLog(event, "TransferAdminRole", 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 -} - -// ParseTransferAdminRole is a log parse operation binding the contract event 0xa5b56b7906fd0a20e3f35120dd8343db1e12e037a6c90111c7e42885e82a1ce6. -// -// Solidity: event TransferAdminRole(address newPendingAdmin) -func (_ZkEVM *ZkEVMFilterer) ParseTransferAdminRole(log types.Log) (*ZkEVMTransferAdminRole, error) { - event := new(ZkEVMTransferAdminRole) - if err := _ZkEVM.contract.UnpackLog(event, "TransferAdminRole", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMUpdateZkEVMVersionIterator is returned from FilterUpdateZkEVMVersion and is used to iterate over the raw logs and unpacked data for UpdateZkEVMVersion events raised by the ZkEVM contract. -type ZkEVMUpdateZkEVMVersionIterator struct { - Event *ZkEVMUpdateZkEVMVersion // 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 *ZkEVMUpdateZkEVMVersionIterator) 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(ZkEVMUpdateZkEVMVersion) - 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(ZkEVMUpdateZkEVMVersion) - 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 *ZkEVMUpdateZkEVMVersionIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMUpdateZkEVMVersionIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMUpdateZkEVMVersion represents a UpdateZkEVMVersion event raised by the ZkEVM contract. -type ZkEVMUpdateZkEVMVersion struct { - NumBatch uint64 - ForkID uint64 - Version string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterUpdateZkEVMVersion is a free log retrieval operation binding the contract event 0xed7be53c9f1a96a481223b15568a5b1a475e01a74b347d6ca187c8bf0c078cd6. -// -// Solidity: event UpdateZkEVMVersion(uint64 numBatch, uint64 forkID, string version) -func (_ZkEVM *ZkEVMFilterer) FilterUpdateZkEVMVersion(opts *bind.FilterOpts) (*ZkEVMUpdateZkEVMVersionIterator, error) { - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "UpdateZkEVMVersion") - if err != nil { - return nil, err - } - return &ZkEVMUpdateZkEVMVersionIterator{contract: _ZkEVM.contract, event: "UpdateZkEVMVersion", logs: logs, sub: sub}, nil -} - -// WatchUpdateZkEVMVersion is a free log subscription operation binding the contract event 0xed7be53c9f1a96a481223b15568a5b1a475e01a74b347d6ca187c8bf0c078cd6. -// -// Solidity: event UpdateZkEVMVersion(uint64 numBatch, uint64 forkID, string version) -func (_ZkEVM *ZkEVMFilterer) WatchUpdateZkEVMVersion(opts *bind.WatchOpts, sink chan<- *ZkEVMUpdateZkEVMVersion) (event.Subscription, error) { - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "UpdateZkEVMVersion") - 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(ZkEVMUpdateZkEVMVersion) - if err := _ZkEVM.contract.UnpackLog(event, "UpdateZkEVMVersion", 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 -} - -// ParseUpdateZkEVMVersion is a log parse operation binding the contract event 0xed7be53c9f1a96a481223b15568a5b1a475e01a74b347d6ca187c8bf0c078cd6. -// -// Solidity: event UpdateZkEVMVersion(uint64 numBatch, uint64 forkID, string version) -func (_ZkEVM *ZkEVMFilterer) ParseUpdateZkEVMVersion(log types.Log) (*ZkEVMUpdateZkEVMVersion, error) { - event := new(ZkEVMUpdateZkEVMVersion) - if err := _ZkEVM.contract.UnpackLog(event, "UpdateZkEVMVersion", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMVerifyBatchesIterator is returned from FilterVerifyBatches and is used to iterate over the raw logs and unpacked data for VerifyBatches events raised by the ZkEVM contract. -type ZkEVMVerifyBatchesIterator struct { - Event *ZkEVMVerifyBatches // 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 *ZkEVMVerifyBatchesIterator) 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(ZkEVMVerifyBatches) - 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(ZkEVMVerifyBatches) - 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 *ZkEVMVerifyBatchesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMVerifyBatchesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMVerifyBatches represents a VerifyBatches event raised by the ZkEVM contract. -type ZkEVMVerifyBatches struct { - NumBatch uint64 - StateRoot [32]byte - Aggregator common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterVerifyBatches is a free log retrieval operation binding the contract event 0x9c72852172521097ba7e1482e6b44b351323df0155f97f4ea18fcec28e1f5966. -// -// Solidity: event VerifyBatches(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) FilterVerifyBatches(opts *bind.FilterOpts, numBatch []uint64, aggregator []common.Address) (*ZkEVMVerifyBatchesIterator, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - var aggregatorRule []interface{} - for _, aggregatorItem := range aggregator { - aggregatorRule = append(aggregatorRule, aggregatorItem) - } - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "VerifyBatches", numBatchRule, aggregatorRule) - if err != nil { - return nil, err - } - return &ZkEVMVerifyBatchesIterator{contract: _ZkEVM.contract, event: "VerifyBatches", logs: logs, sub: sub}, nil -} - -// WatchVerifyBatches is a free log subscription operation binding the contract event 0x9c72852172521097ba7e1482e6b44b351323df0155f97f4ea18fcec28e1f5966. -// -// Solidity: event VerifyBatches(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) WatchVerifyBatches(opts *bind.WatchOpts, sink chan<- *ZkEVMVerifyBatches, numBatch []uint64, aggregator []common.Address) (event.Subscription, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - var aggregatorRule []interface{} - for _, aggregatorItem := range aggregator { - aggregatorRule = append(aggregatorRule, aggregatorItem) - } - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "VerifyBatches", numBatchRule, aggregatorRule) - 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(ZkEVMVerifyBatches) - if err := _ZkEVM.contract.UnpackLog(event, "VerifyBatches", 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 -} - -// ParseVerifyBatches is a log parse operation binding the contract event 0x9c72852172521097ba7e1482e6b44b351323df0155f97f4ea18fcec28e1f5966. -// -// Solidity: event VerifyBatches(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) ParseVerifyBatches(log types.Log) (*ZkEVMVerifyBatches, error) { - event := new(ZkEVMVerifyBatches) - if err := _ZkEVM.contract.UnpackLog(event, "VerifyBatches", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// ZkEVMVerifyBatchesTrustedAggregatorIterator is returned from FilterVerifyBatchesTrustedAggregator and is used to iterate over the raw logs and unpacked data for VerifyBatchesTrustedAggregator events raised by the ZkEVM contract. -type ZkEVMVerifyBatchesTrustedAggregatorIterator struct { - Event *ZkEVMVerifyBatchesTrustedAggregator // 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 *ZkEVMVerifyBatchesTrustedAggregatorIterator) 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(ZkEVMVerifyBatchesTrustedAggregator) - 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(ZkEVMVerifyBatchesTrustedAggregator) - 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 *ZkEVMVerifyBatchesTrustedAggregatorIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *ZkEVMVerifyBatchesTrustedAggregatorIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// ZkEVMVerifyBatchesTrustedAggregator represents a VerifyBatchesTrustedAggregator event raised by the ZkEVM contract. -type ZkEVMVerifyBatchesTrustedAggregator struct { - NumBatch uint64 - StateRoot [32]byte - Aggregator common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterVerifyBatchesTrustedAggregator is a free log retrieval operation binding the contract event 0xcb339b570a7f0b25afa7333371ff11192092a0aeace12b671f4c212f2815c6fe. -// -// Solidity: event VerifyBatchesTrustedAggregator(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) FilterVerifyBatchesTrustedAggregator(opts *bind.FilterOpts, numBatch []uint64, aggregator []common.Address) (*ZkEVMVerifyBatchesTrustedAggregatorIterator, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - var aggregatorRule []interface{} - for _, aggregatorItem := range aggregator { - aggregatorRule = append(aggregatorRule, aggregatorItem) - } - - logs, sub, err := _ZkEVM.contract.FilterLogs(opts, "VerifyBatchesTrustedAggregator", numBatchRule, aggregatorRule) - if err != nil { - return nil, err - } - return &ZkEVMVerifyBatchesTrustedAggregatorIterator{contract: _ZkEVM.contract, event: "VerifyBatchesTrustedAggregator", logs: logs, sub: sub}, nil -} - -// WatchVerifyBatchesTrustedAggregator is a free log subscription operation binding the contract event 0xcb339b570a7f0b25afa7333371ff11192092a0aeace12b671f4c212f2815c6fe. -// -// Solidity: event VerifyBatchesTrustedAggregator(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) WatchVerifyBatchesTrustedAggregator(opts *bind.WatchOpts, sink chan<- *ZkEVMVerifyBatchesTrustedAggregator, numBatch []uint64, aggregator []common.Address) (event.Subscription, error) { - - var numBatchRule []interface{} - for _, numBatchItem := range numBatch { - numBatchRule = append(numBatchRule, numBatchItem) - } - - var aggregatorRule []interface{} - for _, aggregatorItem := range aggregator { - aggregatorRule = append(aggregatorRule, aggregatorItem) - } - - logs, sub, err := _ZkEVM.contract.WatchLogs(opts, "VerifyBatchesTrustedAggregator", numBatchRule, aggregatorRule) - 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(ZkEVMVerifyBatchesTrustedAggregator) - if err := _ZkEVM.contract.UnpackLog(event, "VerifyBatchesTrustedAggregator", 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 -} - -// ParseVerifyBatchesTrustedAggregator is a log parse operation binding the contract event 0xcb339b570a7f0b25afa7333371ff11192092a0aeace12b671f4c212f2815c6fe. -// -// Solidity: event VerifyBatchesTrustedAggregator(uint64 indexed numBatch, bytes32 stateRoot, address indexed aggregator) -func (_ZkEVM *ZkEVMFilterer) ParseVerifyBatchesTrustedAggregator(log types.Log) (*ZkEVMVerifyBatchesTrustedAggregator, error) { - event := new(ZkEVMVerifyBatchesTrustedAggregator) - if err := _ZkEVM.contract.UnpackLog(event, "VerifyBatchesTrustedAggregator", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/event/zkevm/sequenceBatches.go b/pkg/event/zkevm/sequenceBatches.go index af6e306..8fd831a 100644 --- a/pkg/event/zkevm/sequenceBatches.go +++ b/pkg/event/zkevm/sequenceBatches.go @@ -11,11 +11,12 @@ import ( var ( SequenceBatchesName = "sequenceBatches" - SequenceBatchesNameHash = crypto.Keccak256([]byte("SequenceBatches(uint64)")) + SequenceBatchesNameHash = crypto.Keccak256([]byte("SequenceBatches(uint64,bytes32)")) ) type SequenceBatches struct { - BatchNum uint64 `json:"numBatch"` + BatchNum uint64 `json:"numBatch"` + L1InfoRoot string `json:"l1InfoRoot"` } func (*SequenceBatches) Name() string { @@ -36,7 +37,8 @@ func (t *SequenceBatches) ToObj(data string) error { func (*SequenceBatches) Data(log types.Log) (string, error) { transfer := &SequenceBatches{ - BatchNum: uint64(event.TopicToInt64(log, 1)), + BatchNum: uint64(event.TopicToInt64(log, 1)), + L1InfoRoot: event.DataToHash(log, 0).Hex(), } data, err := event.ToJSON(transfer) if err != nil { diff --git a/pkg/event/zkevm/verifybatches.go b/pkg/event/zkevm/verifybatches.go index 5bb4cb6..ddef40f 100644 --- a/pkg/event/zkevm/verifybatches.go +++ b/pkg/event/zkevm/verifybatches.go @@ -12,12 +12,14 @@ import ( var ( VerifyBatchesName = "verifyBatchesTrustedAggregator" - VerifyBatchesHash = crypto.Keccak256([]byte("VerifyBatchesTrustedAggregator(uint64,bytes32,address)")) + VerifyBatchesHash = crypto.Keccak256([]byte("VerifyBatchesTrustedAggregator(uint32,uint64,bytes32,bytes32,address)")) ) type VerifyBatches struct { + RollupID uint32 `json:"rollupID"` BatchNum uint64 `json:"numBatch"` StateRoot string `json:"stateRoot"` + ExitRoot string `json:"exitRoot"` Aggregator string `json:"aggregator"` } @@ -38,10 +40,13 @@ func (t *VerifyBatches) ToObj(data string) error { } func (*VerifyBatches) Data(log types.Log) (string, error) { + transfer := &VerifyBatches{ - BatchNum: uint64(event.TopicToInt64(log, 1)), - StateRoot: event.DataToHash(log, 0).Hex(), - Aggregator: event.TopicToHash(log, 2).Hex(), + RollupID: uint32(event.TopicToInt64(log, 1)), + Aggregator: event.TopicToAddress(log, 2).Hex(), + BatchNum: uint64(event.DataToInt64(log, 0)), + StateRoot: event.DataToHash(log, 1).Hex(), + ExitRoot: event.DataToHash(log, 2).Hex(), } data, err := event.ToJSON(transfer) if err != nil { diff --git a/test-docker/docker-compose.yml b/test-docker/docker-compose.yml index f9cf98a..d6f0b5f 100644 --- a/test-docker/docker-compose.yml +++ b/test-docker/docker-compose.yml @@ -12,7 +12,22 @@ services: - ./mysql.sql:/docker-entrypoint-initdb.d/init.sql - ./mysql1/datadir:/var/lib/mysql -# mysql2: + postgres: + container_name: postgres + image: postgres:15.6 + environment: + - POSTGRES_PASSWORD=postgres + - POSTGRES_USER=postgres + - POSTGRES_DB=postgres + - PGDATA=/var/lib/postgresql/data/pgdata + ports: + - "5433:5432" + volumes: + - ./postgres1/datadir:/var/lib/postgresql/data + - ./postgres.sql:/docker-entrypoint-initdb.d/init.sql + + +# mysql2: # image: mysql:8.0.28 # environment: # MYSQL_ROOT_PASSWORD: "root" diff --git a/test-docker/mysql.sql b/test-docker/mysql.sql index 9e62e7f..51d28c7 100644 --- a/test-docker/mysql.sql +++ b/test-docker/mysql.sql @@ -9,148 +9,171 @@ SET FOREIGN_KEY_CHECKS = 0; -- Table structure for rollbacks -- ---------------------------- DROP TABLE IF EXISTS `rollbacks`; -CREATE TABLE `rollbacks` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `blockchain` varchar(32) NOT NULL COMMENT ' 链名, eth', - `event_id` bigint NOT NULL COMMENT ' 事件ID', - PRIMARY KEY (`id`), - KEY `event_id_index` (`event_id`) -) ENGINE=InnoDB AUTO_INCREMENT=1000000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +CREATE TABLE `rollbacks` +( + `id` bigint NOT NULL AUTO_INCREMENT, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `blockchain` varchar(32) NOT NULL COMMENT ' 链名, eth', + `event_id` bigint NOT NULL COMMENT ' 事件ID', + PRIMARY KEY (`id`), + KEY `event_id_index` (`event_id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 1000000 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci; -- ---------------------------- -- Table structure for sync_blocks -- ---------------------------- DROP TABLE IF EXISTS `sync_blocks`; -CREATE TABLE `sync_blocks` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `blockchain` varchar(32) NOT NULL COMMENT ' 链名', - `miner` varchar(42) NOT NULL COMMENT ' 出块人', - `block_time` bigint NOT NULL COMMENT ' 出块时间', - `block_number` bigint NOT NULL COMMENT ' 区块高度', - `block_hash` varchar(66) NOT NULL COMMENT ' 区块Hash', - `tx_count` bigint NOT NULL COMMENT ' 交易数量', - `event_count` bigint NOT NULL COMMENT ' 事件数量', - `parent_hash` varchar(66) NOT NULL COMMENT ' 父Hash', - `status` varchar(32) NOT NULL COMMENT ' 状态', - `check_count` bigint NOT NULL COMMENT ' 检查次数', - PRIMARY KEY (`id`), - KEY `status_index` (`status`), - KEY `tx_count_index` (`tx_count`), - KEY `check_count_index` (`check_count`) -) ENGINE=InnoDB AUTO_INCREMENT=2923365 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +CREATE TABLE `sync_blocks` +( + `id` bigint NOT NULL AUTO_INCREMENT, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `blockchain` varchar(32) NOT NULL COMMENT ' 链名', + `miner` varchar(42) NOT NULL COMMENT ' 出块人', + `block_time` bigint NOT NULL COMMENT ' 出块时间', + `block_number` bigint NOT NULL COMMENT ' 区块高度', + `block_hash` varchar(66) NOT NULL COMMENT ' 区块Hash', + `tx_count` bigint NOT NULL COMMENT ' 交易数量', + `event_count` bigint NOT NULL COMMENT ' 事件数量', + `parent_hash` varchar(66) NOT NULL COMMENT ' 父Hash', + `status` varchar(32) NOT NULL COMMENT ' 状态', + `check_count` bigint NOT NULL COMMENT ' 检查次数', + PRIMARY KEY (`id`), + KEY `status_index` (`status`), + KEY `tx_count_index` (`tx_count`), + KEY `check_count_index` (`check_count`) +) ENGINE = InnoDB + AUTO_INCREMENT = 2923365 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci; -- ---------------------------- -- Table structure for sync_blocks_history -- ---------------------------- DROP TABLE IF EXISTS `sync_blocks_history`; -CREATE TABLE `sync_blocks_history` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `blockchain` varchar(32) NOT NULL COMMENT ' 链名', - `miner` varchar(42) NOT NULL COMMENT ' 出块人', - `block_time` bigint NOT NULL COMMENT ' 出块时间', - `block_number` bigint NOT NULL COMMENT ' 区块高度', - `block_hash` varchar(66) NOT NULL COMMENT ' 区块Hash', - `tx_count` bigint NOT NULL COMMENT ' 交易数量', - `event_count` bigint NOT NULL COMMENT ' 事件数量', - `parent_hash` varchar(66) NOT NULL COMMENT ' 父Hash', - `status` varchar(32) NOT NULL COMMENT ' 状态', - `check_count` bigint NOT NULL COMMENT ' 检查次数', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2792531 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +CREATE TABLE `sync_blocks_history` +( + `id` bigint NOT NULL AUTO_INCREMENT, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `blockchain` varchar(32) NOT NULL COMMENT ' 链名', + `miner` varchar(42) NOT NULL COMMENT ' 出块人', + `block_time` bigint NOT NULL COMMENT ' 出块时间', + `block_number` bigint NOT NULL COMMENT ' 区块高度', + `block_hash` varchar(66) NOT NULL COMMENT ' 区块Hash', + `tx_count` bigint NOT NULL COMMENT ' 交易数量', + `event_count` bigint NOT NULL COMMENT ' 事件数量', + `parent_hash` varchar(66) NOT NULL COMMENT ' 父Hash', + `status` varchar(32) NOT NULL COMMENT ' 状态', + `check_count` bigint NOT NULL COMMENT ' 检查次数', + PRIMARY KEY (`id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 2792531 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci; -- ---------------------------- -- Table structure for sync_events -- ---------------------------- DROP TABLE IF EXISTS `sync_events`; -CREATE TABLE `sync_events` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `sync_block_id` bigint NOT NULL COMMENT ' 同步区块ID', - `blockchain` varchar(32) NOT NULL COMMENT ' 链名', - `block_time` bigint NOT NULL COMMENT ' 区块时间', - `block_number` bigint NOT NULL COMMENT ' 区块高度', - `block_hash` varchar(66) NOT NULL COMMENT ' 区块Hash', - `block_log_indexed` bigint NOT NULL COMMENT ' 日志index', - `tx_index` bigint NOT NULL COMMENT ' 交易index', - `tx_hash` varchar(66) NOT NULL COMMENT ' 交易Hash', - `event_name` varchar(32) NOT NULL COMMENT ' 事件名称', - `event_hash` varchar(66) NOT NULL COMMENT ' 事件Hash', - `contract_address` varchar(42) NOT NULL COMMENT ' 合约地址', - `data` json NOT NULL COMMENT ' 数据内容', - `status` varchar(32) NOT NULL COMMENT ' 状态', - `retry_count` bigint DEFAULT '0' COMMENT '重试次数', - PRIMARY KEY (`id`), - KEY `status_index` (`status`) -) ENGINE=InnoDB AUTO_INCREMENT=1011299 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +CREATE TABLE `sync_events` +( + `id` bigint NOT NULL AUTO_INCREMENT, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `sync_block_id` bigint NOT NULL COMMENT ' 同步区块ID', + `blockchain` varchar(32) NOT NULL COMMENT ' 链名', + `block_time` bigint NOT NULL COMMENT ' 区块时间', + `block_number` bigint NOT NULL COMMENT ' 区块高度', + `block_hash` varchar(66) NOT NULL COMMENT ' 区块Hash', + `block_log_indexed` bigint NOT NULL COMMENT ' 日志index', + `tx_index` bigint NOT NULL COMMENT ' 交易index', + `tx_hash` varchar(66) NOT NULL COMMENT ' 交易Hash', + `event_name` varchar(32) NOT NULL COMMENT ' 事件名称', + `event_hash` varchar(66) NOT NULL COMMENT ' 事件Hash', + `contract_address` varchar(42) NOT NULL COMMENT ' 合约地址', + `data` json NOT NULL COMMENT ' 数据内容', + `status` varchar(32) NOT NULL COMMENT ' 状态', + `retry_count` bigint DEFAULT '0' COMMENT '重试次数', + PRIMARY KEY (`id`), + KEY `status_index` (`status`) +) ENGINE = InnoDB + AUTO_INCREMENT = 1011299 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci; -- ---------------------------- -- Table structure for sync_events_history -- ---------------------------- DROP TABLE IF EXISTS `sync_events_history`; -CREATE TABLE `sync_events_history` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `sync_block_id` bigint NOT NULL COMMENT ' 同步区块ID', - `blockchain` varchar(32) NOT NULL COMMENT ' 链名', - `block_time` bigint NOT NULL COMMENT ' 区块时间', - `block_number` bigint NOT NULL COMMENT ' 区块高度', - `block_hash` varchar(66) NOT NULL COMMENT ' 区块Hash', - `block_log_indexed` bigint NOT NULL COMMENT ' 日志index', - `tx_index` bigint NOT NULL COMMENT ' 交易index', - `tx_hash` varchar(66) NOT NULL COMMENT ' 交易Hash', - `event_name` varchar(32) NOT NULL COMMENT ' 事件名称', - `event_hash` varchar(66) NOT NULL COMMENT ' 事件Hash', - `contract_address` varchar(42) NOT NULL COMMENT ' 合约地址', - `data` json NOT NULL COMMENT ' 数据内容', - `status` varchar(32) NOT NULL COMMENT ' 状态', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1000000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +CREATE TABLE `sync_events_history` +( + `id` bigint NOT NULL AUTO_INCREMENT, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `sync_block_id` bigint NOT NULL COMMENT ' 同步区块ID', + `blockchain` varchar(32) NOT NULL COMMENT ' 链名', + `block_time` bigint NOT NULL COMMENT ' 区块时间', + `block_number` bigint NOT NULL COMMENT ' 区块高度', + `block_hash` varchar(66) NOT NULL COMMENT ' 区块Hash', + `block_log_indexed` bigint NOT NULL COMMENT ' 日志index', + `tx_index` bigint NOT NULL COMMENT ' 交易index', + `tx_hash` varchar(66) NOT NULL COMMENT ' 交易Hash', + `event_name` varchar(32) NOT NULL COMMENT ' 事件名称', + `event_hash` varchar(66) NOT NULL COMMENT ' 事件Hash', + `contract_address` varchar(42) NOT NULL COMMENT ' 合约地址', + `data` json NOT NULL COMMENT ' 数据内容', + `status` varchar(32) NOT NULL COMMENT ' 状态', + PRIMARY KEY (`id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 1000000 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci; -- ---------------------------- -- Table structure for sync_tasks -- ---------------------------- DROP TABLE IF EXISTS `sync_tasks`; -CREATE TABLE `sync_tasks` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `blockchain` varchar(32) NOT NULL COMMENT ' 链名', - `latest_block` bigint NOT NULL COMMENT ' 同步高度', - `start_block` bigint NOT NULL COMMENT ' 同步开始区块高度', - `end_block` bigint NOT NULL COMMENT ' 同步结束区块高度', - `handle_num` bigint NOT NULL COMMENT ' 处理数', - `contracts` text NOT NULL COMMENT ' 合约地址,多个用,分割', - `status` varchar(32) NOT NULL COMMENT ' 状态', - PRIMARY KEY (`id`), - KEY `status_index` (`status`) -) ENGINE=InnoDB AUTO_INCREMENT=1000010 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +CREATE TABLE `sync_tasks` +( + `id` bigint NOT NULL AUTO_INCREMENT, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `blockchain` varchar(32) NOT NULL COMMENT ' 链名', + `latest_block` bigint NOT NULL COMMENT ' 同步高度', + `start_block` bigint NOT NULL COMMENT ' 同步开始区块高度', + `end_block` bigint NOT NULL COMMENT ' 同步结束区块高度', + `handle_num` bigint NOT NULL COMMENT ' 处理数', + `contracts` text NOT NULL COMMENT ' 合约地址,多个用,分割', + `status` varchar(32) NOT NULL COMMENT ' 状态', + PRIMARY KEY (`id`), + KEY `status_index` (`status`) +) ENGINE = InnoDB + AUTO_INCREMENT = 1000010 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci; SET FOREIGN_KEY_CHECKS = 1; DROP TABLE IF EXISTS `proposal`; -CREATE TABLE `proposal` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `proposal_id` bigint NOT NULL, - `proposer` varchar(128) NOT NULL, +CREATE TABLE `proposal` +( + `id` bigint NOT NULL AUTO_INCREMENT, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `proposal_id` bigint NOT NULL, `state_root_hash` varchar(128) NOT NULL, `proof_root_hash` varchar(128) NOT NULL, - `start_batch_num` bigint NOT NULL, - `end_batch_num` bigint NOT NULL, - `btc_commit_tx_hash` varchar(128) , - `btc_reveal_tx_hash` varchar(128) , - `block_height` bigint NOT NULL DEFAULT 0, - `winner` varchar(128), - `status` bigint NOT NULL DEFAULT 0, + `start_batch_num` bigint NOT NULL, + `end_batch_num` bigint NOT NULL, + `btc_tx_hash` varchar(128), + `winner` varchar(128), + `status` bigint NOT NULL DEFAULT 0, + `upload_details` tinyint(1) default 0, PRIMARY KEY (`id`), KEY `proposal_id_index` (`proposal_id`) ) diff --git a/test-docker/postgres.sql b/test-docker/postgres.sql new file mode 100644 index 0000000..38635e6 --- /dev/null +++ b/test-docker/postgres.sql @@ -0,0 +1,129 @@ +CREATE DATABASE b2_committer WITH ENCODING ='UTF8'; +-- Switch to the newly created database +\c b2_committer; + +-- Create rollbacks table +CREATE TABLE IF NOT EXISTS rollbacks +( + id SERIAL PRIMARY KEY, + created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + blockchain varchar(32) NOT NULL, + event_id bigint NOT NULL +); +CREATE INDEX if NOT EXISTS event_id_index ON rollbacks (event_id); + +-- Create sync_blocks table +CREATE TABLE IF NOT EXISTS sync_blocks +( + id SERIAL PRIMARY KEY, + created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + blockchain VARCHAR(32) NOT NULL, + miner VARCHAR(42) NOT NULL, + block_time BIGINT NOT NULL, + block_number BIGINT NOT NULL, + block_hash VARCHAR(66) NOT NULL, + tx_count BIGINT NOT NULL, + event_count BIGINT NOT NULL, + parent_hash VARCHAR(66) NOT NULL, + status VARCHAR(32) NOT NULL, + check_count BIGINT NOT NULL +); +CREATE INDEX if not exists status_index ON sync_blocks (status); +CREATE INDEX if not exists tx_count_index ON sync_blocks (tx_count); +CREATE INDEX if not exists check_count_index ON sync_blocks (check_count); + +-- Create sync_blocks_history table +CREATE TABLE IF NOT EXISTS sync_blocks_history +( + id SERIAL PRIMARY KEY, + created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + blockchain VARCHAR(32) NOT NULL, + miner VARCHAR(42) NOT NULL, + block_time BIGINT NOT NULL, + block_number BIGINT NOT NULL, + block_hash VARCHAR(66) NOT NULL, + tx_count BIGINT NOT NULL, + event_count BIGINT NOT NULL, + parent_hash VARCHAR(66) NOT NULL, + status VARCHAR(32) NOT NULL, + check_count BIGINT NOT NULL +); + +-- Create sync_events table +CREATE TABLE IF NOT EXISTS sync_events +( + id SERIAL PRIMARY KEY, + created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + sync_block_id BIGINT NOT NULL, + blockchain VARCHAR(32) NOT NULL, + block_time BIGINT NOT NULL, + block_number BIGINT NOT NULL, + block_hash VARCHAR(66) NOT NULL, + block_log_indexed BIGINT NOT NULL, + tx_index BIGINT NOT NULL, + tx_hash VARCHAR(66) NOT NULL, + event_name VARCHAR(32) NOT NULL, + event_hash VARCHAR(66) NOT NULL, + contract_address VARCHAR(42) NOT NULL, + data JSONB NOT NULL, + status VARCHAR(32) NOT NULL, + retry_count BIGINT DEFAULT 0 +); + +-- Create sync_events_history table +CREATE TABLE IF NOT EXISTS sync_events_history +( + id SERIAL PRIMARY KEY, + created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + sync_block_id BIGINT NOT NULL, + blockchain VARCHAR(32) NOT NULL, + block_time BIGINT NOT NULL, + block_number BIGINT NOT NULL, + block_hash VARCHAR(66) NOT NULL, + block_log_indexed BIGINT NOT NULL, + tx_index BIGINT NOT NULL, + tx_hash VARCHAR(66) NOT NULL, + event_name VARCHAR(32) NOT NULL, + event_hash VARCHAR(66) NOT NULL, + contract_address VARCHAR(42) NOT NULL, + data JSONB NOT NULL, + status VARCHAR(32) NOT NULL +); + +-- Create sync_tasks table +CREATE TABLE IF NOT EXISTS sync_tasks +( + id SERIAL PRIMARY KEY, + created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + blockchain VARCHAR(32) NOT NULL, + latest_block BIGINT NOT NULL, + start_block BIGINT NOT NULL, + end_block BIGINT NOT NULL, + handle_num BIGINT NOT NULL, + contracts TEXT NOT NULL, + status VARCHAR(32) NOT NULL +); + +drop table if exists proposal; +-- Create proposal table +CREATE TABLE IF NOT EXISTS proposal +( + id bigserial PRIMARY KEY, + created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + proposal_id bigint NOT NULL, + state_root_hash varchar(128) NOT NULL, + proof_root_hash varchar(128) NOT NULL, + start_batch_num bigint NOT NULL, + end_batch_num bigint NOT NULL, + btc_tx_hash varchar(128), + winner varchar(128), + status bigint NOT NULL DEFAULT 0 +); +CREATE INDEX if not exists proposal_id_index ON proposal (proposal_id);