From fa77412f0716468b30050b8b12835b15305b0007 Mon Sep 17 00:00:00 2001 From: Matt Stam Date: Fri, 27 Oct 2023 14:34:49 -0700 Subject: [PATCH] chore: update contract bindings and addresses (#261) --- bindings/FunctionRegistry.go | 197 +-- ...{FunctionGateway.go => SuccinctGateway.go} | 1449 +++++++++-------- contracts/.env.example | 2 + contracts/README.md | 5 + gnarkx/succinct/circuit.go | 2 +- go.mod | 2 +- scripts/abi.sh | 0 scripts/binding.sh | 2 +- scripts/release.sh | 14 + 9 files changed, 789 insertions(+), 884 deletions(-) rename bindings/{FunctionGateway.go => SuccinctGateway.go} (53%) mode change 100644 => 100755 scripts/abi.sh mode change 100644 => 100755 scripts/binding.sh create mode 100755 scripts/release.sh diff --git a/bindings/FunctionRegistry.go b/bindings/FunctionRegistry.go index b1d2b9b58..4d0720ffa 100644 --- a/bindings/FunctionRegistry.go +++ b/bindings/FunctionRegistry.go @@ -31,8 +31,8 @@ var ( // FunctionRegistryMetaData contains all meta data concerning the FunctionRegistry contract. var FunctionRegistryMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"EmptyBytecode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedDeploy\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"name\":\"FunctionAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actualOwner\",\"type\":\"address\"}],\"name\":\"NotFunctionOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VerifierCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"bytecodeHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"name\":\"Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"FunctionOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"FunctionRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"FunctionVerifierUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"deployAndRegisterFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"deployAndUpdateFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getFunctionId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"registerFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"verifierOwners\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"verifiers\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x608060405234801561001057600080fd5b5061084c806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639538f56f1161005b5780639538f56f14610119578063b63755e51461012c578063bd58c4bb1461013f578063efe1c9501461015257600080fd5b80635c74ad561461008257806368ff41b1146100b75780638bcfc3a0146100d8575b600080fd5b610095610090366004610689565b61017b565b604080519283526001600160a01b039091166020830152015b60405180910390f35b6100ca6100c5366004610704565b610260565b6040519081526020016100ae565b6101016100e6366004610756565b6001602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016100ae565b6100ca610127366004610704565b61034e565b61009561013a366004610689565b610381565b6100ca61014d366004610704565b610452565b610101610160366004610756565b6000602081905290815260409020546001600160a01b031681565b600080610188338461034e565b6000818152602081905260409020549092506001600160a01b0316156101c957604051635e34c78f60e01b8152600481018390526024015b60405180910390fd5b600082815260016020526040902080546001600160a01b031916331790556101f1848361053c565b6000838152602081905260409081902080546001600160a01b0319166001600160a01b0384161790555190915082907f52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea90610251908490879033906107b5565b60405180910390a29250929050565b600061026c338361034e565b6000818152602081905260409020549091506001600160a01b0316156102a857604051635e34c78f60e01b8152600481018290526024016101c0565b6001600160a01b0383166102cf576040516302d48d1f60e61b815260040160405180910390fd5b60008181526020818152604080832080546001600160a01b03199081166001600160a01b03891617909155600190925291829020805433921682179055905182917f52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea916103409187918791906107b5565b60405180910390a292915050565b600082826040516020016103639291906107ea565b60405160208183030381529060405280519060200120905092915050565b60008061038e338461034e565b6000818152600160205260409020549092506001600160a01b031633146103ea5760008281526001602052604090819020549051633368f56b60e11b81523360048201526001600160a01b0390911660248201526044016101c0565b6103f4848361053c565b6000838152602081815260409182902080546001600160a01b0319166001600160a01b038516908117909155915191825291925083917ffc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b7369101610251565b600061045e338361034e565b6000818152600160205260409020549091506001600160a01b031633146104ba5760008181526001602052604090819020549051633368f56b60e11b81523360048201526001600160a01b0390911660248201526044016101c0565b6001600160a01b0383166104e1576040516302d48d1f60e61b815260040160405180910390fd5b6000818152602081815260409182902080546001600160a01b0319166001600160a01b038716908117909155915191825282917ffc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b7369101610340565b60008251600003610560576040516321744a5960e01b815260040160405180910390fd5b818351602085016000f590506001600160a01b03811661059357604051632081741d60e11b815260040160405180910390fd5b825160208401206040516001600160a01b0383169184917f27b8e3132afa95254770e1c1d214eafde52bc47d1b6e1f5dfcbb380c3ca3f53290600090a492915050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115610607576106076105d6565b604051601f8501601f19908116603f0116810190828211818310171561062f5761062f6105d6565b8160405280935085815286868601111561064857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261067357600080fd5b610682838335602085016105ec565b9392505050565b6000806040838503121561069c57600080fd5b823567ffffffffffffffff808211156106b457600080fd5b818501915085601f8301126106c857600080fd5b6106d7868335602085016105ec565b935060208501359150808211156106ed57600080fd5b506106fa85828601610662565b9150509250929050565b6000806040838503121561071757600080fd5b82356001600160a01b038116811461072e57600080fd5b9150602083013567ffffffffffffffff81111561074a57600080fd5b6106fa85828601610662565b60006020828403121561076857600080fd5b5035919050565b6000815180845260005b8181101561079557602081850181015186830182015201610779565b506000602082860101526020601f19601f83011685010191505092915050565b600060018060a01b038086168352606060208401526107d7606084018661076f565b9150808416604084015250949350505050565b6001600160a01b038316815260406020820181905260009061080e9083018461076f565b94935050505056fea2646970667358221220fd7ff5954385b1bf9be27570b28accdece510982b131808dbe1bec973842ec6664736f6c63430008130033", + ABI: "[{\"inputs\":[],\"name\":\"EmptyBytecode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedDeploy\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"name\":\"FunctionAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actualOwner\",\"type\":\"address\"}],\"name\":\"NotFunctionOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VerifierCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"bytecodeHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"name\":\"Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"FunctionRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"FunctionVerifierUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"deployAndRegisterFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"deployAndUpdateFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getFunctionId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"registerFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"verifierOwners\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"verifiers\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + Bin: "0x608060405234801561001057600080fd5b50610921806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639538f56f1161005b5780639538f56f14610119578063b63755e51461012c578063bd58c4bb1461013f578063efe1c9501461015257600080fd5b806340651ac11461008257806361f846c9146100a85780638bcfc3a0146100d8575b600080fd5b6100956100903660046106bb565b61017b565b6040519081526020015b60405180910390f35b6100bb6100b6366004610719565b610277565b604080519283526001600160a01b0390911660208301520161009f565b6101016100e6366004610783565b6001602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161009f565b61009561012736600461079c565b610361565b6100bb61013a3660046107ea565b610394565b61009561014d36600461079c565b61046f565b610101610160366004610783565b6000602081905290815260409020546001600160a01b031681565b60006101873383610361565b6000818152602081905260409020549091506001600160a01b0316156101c857604051635e34c78f60e01b8152600481018290526024015b60405180910390fd5b6001600160a01b0383166101ef576040516302d48d1f60e61b815260040160405180910390fd5b600081815260016020908152604080832080546001600160a01b03808a166001600160a01b03199283161790925592849052928190208054938716939092169290921790555181907f52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea906102689086908690899061088a565b60405180910390a29392505050565b6000806102843384610361565b6000818152602081905260409020549092506001600160a01b0316156102c057604051635e34c78f60e01b8152600481018390526024016101bf565b600082815260016020526040902080546001600160a01b0319166001600160a01b0387161790556102f18483610562565b6000838152602081905260409081902080546001600160a01b0319166001600160a01b0384161790555190915082907f52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea9061035190849087908a9061088a565b60405180910390a2935093915050565b600082826040516020016103769291906108bf565b60405160208183030381529060405280519060200120905092915050565b6000806103a13384610361565b6000818152600160205260409020549092506001600160a01b031633146103fd5760008281526001602052604090819020549051633368f56b60e11b81523360048201526001600160a01b0390911660248201526044016101bf565b6104078483610562565b6000838152602081815260409182902080546001600160a01b0319166001600160a01b038516908117909155915191825291925083917ffc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b736910160405180910390a29250929050565b600061047b3383610361565b6000818152600160205260409020549091506001600160a01b031633146104d75760008181526001602052604090819020549051633368f56b60e11b81523360048201526001600160a01b0390911660248201526044016101bf565b6001600160a01b0383166104fe576040516302d48d1f60e61b815260040160405180910390fd5b6000818152602081815260409182902080546001600160a01b0319166001600160a01b038716908117909155915191825282917ffc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b736910160405180910390a292915050565b60008251600003610586576040516321744a5960e01b815260040160405180910390fd5b818351602085016000f590506001600160a01b0381166105b957604051632081741d60e11b815260040160405180910390fd5b825160208401206040516001600160a01b0383169184917f27b8e3132afa95254770e1c1d214eafde52bc47d1b6e1f5dfcbb380c3ca3f53290600090a492915050565b80356001600160a01b038116811461061357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261063f57600080fd5b813567ffffffffffffffff8082111561065a5761065a610618565b604051601f8301601f19908116603f0116810190828211818310171561068257610682610618565b8160405283815286602085880101111561069b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156106d057600080fd5b6106d9846105fc565b92506106e7602085016105fc565b9150604084013567ffffffffffffffff81111561070357600080fd5b61070f8682870161062e565b9150509250925092565b60008060006060848603121561072e57600080fd5b610737846105fc565b9250602084013567ffffffffffffffff8082111561075457600080fd5b6107608783880161062e565b9350604086013591508082111561077657600080fd5b5061070f8682870161062e565b60006020828403121561079557600080fd5b5035919050565b600080604083850312156107af57600080fd5b6107b8836105fc565b9150602083013567ffffffffffffffff8111156107d457600080fd5b6107e08582860161062e565b9150509250929050565b600080604083850312156107fd57600080fd5b823567ffffffffffffffff8082111561081557600080fd5b6108218683870161062e565b9350602085013591508082111561083757600080fd5b506107e08582860161062e565b6000815180845260005b8181101561086a5760208185018101518683018201520161084e565b506000602082860101526020601f19601f83011685010191505092915050565b600060018060a01b038086168352606060208401526108ac6060840186610844565b9150808416604084015250949350505050565b6001600160a01b03831681526040602082018190526000906108e390830184610844565b94935050505056fea26469706673582212209988b70460375d1e0075f86c15f2bd861e10bfbd3e2da50b0b06bca3b198a95b64736f6c63430008140033", } // FunctionRegistryABI is the input ABI used to generate the binding from. @@ -295,25 +295,25 @@ func (_FunctionRegistry *FunctionRegistryCallerSession) Verifiers(arg0 [32]byte) return _FunctionRegistry.Contract.Verifiers(&_FunctionRegistry.CallOpts, arg0) } -// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x5c74ad56. +// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x61f846c9. // -// Solidity: function deployAndRegisterFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionRegistry *FunctionRegistryTransactor) DeployAndRegisterFunction(opts *bind.TransactOpts, _bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionRegistry.contract.Transact(opts, "deployAndRegisterFunction", _bytecode, _name) +// Solidity: function deployAndRegisterFunction(address _owner, bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) +func (_FunctionRegistry *FunctionRegistryTransactor) DeployAndRegisterFunction(opts *bind.TransactOpts, _owner common.Address, _bytecode []byte, _name string) (*types.Transaction, error) { + return _FunctionRegistry.contract.Transact(opts, "deployAndRegisterFunction", _owner, _bytecode, _name) } -// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x5c74ad56. +// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x61f846c9. // -// Solidity: function deployAndRegisterFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionRegistry *FunctionRegistrySession) DeployAndRegisterFunction(_bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionRegistry.Contract.DeployAndRegisterFunction(&_FunctionRegistry.TransactOpts, _bytecode, _name) +// Solidity: function deployAndRegisterFunction(address _owner, bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) +func (_FunctionRegistry *FunctionRegistrySession) DeployAndRegisterFunction(_owner common.Address, _bytecode []byte, _name string) (*types.Transaction, error) { + return _FunctionRegistry.Contract.DeployAndRegisterFunction(&_FunctionRegistry.TransactOpts, _owner, _bytecode, _name) } -// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x5c74ad56. +// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x61f846c9. // -// Solidity: function deployAndRegisterFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionRegistry *FunctionRegistryTransactorSession) DeployAndRegisterFunction(_bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionRegistry.Contract.DeployAndRegisterFunction(&_FunctionRegistry.TransactOpts, _bytecode, _name) +// Solidity: function deployAndRegisterFunction(address _owner, bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) +func (_FunctionRegistry *FunctionRegistryTransactorSession) DeployAndRegisterFunction(_owner common.Address, _bytecode []byte, _name string) (*types.Transaction, error) { + return _FunctionRegistry.Contract.DeployAndRegisterFunction(&_FunctionRegistry.TransactOpts, _owner, _bytecode, _name) } // DeployAndUpdateFunction is a paid mutator transaction binding the contract method 0xb63755e5. @@ -337,25 +337,25 @@ func (_FunctionRegistry *FunctionRegistryTransactorSession) DeployAndUpdateFunct return _FunctionRegistry.Contract.DeployAndUpdateFunction(&_FunctionRegistry.TransactOpts, _bytecode, _name) } -// RegisterFunction is a paid mutator transaction binding the contract method 0x68ff41b1. +// RegisterFunction is a paid mutator transaction binding the contract method 0x40651ac1. // -// Solidity: function registerFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionRegistry *FunctionRegistryTransactor) RegisterFunction(opts *bind.TransactOpts, _verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionRegistry.contract.Transact(opts, "registerFunction", _verifier, _name) +// Solidity: function registerFunction(address _owner, address _verifier, string _name) returns(bytes32 functionId) +func (_FunctionRegistry *FunctionRegistryTransactor) RegisterFunction(opts *bind.TransactOpts, _owner common.Address, _verifier common.Address, _name string) (*types.Transaction, error) { + return _FunctionRegistry.contract.Transact(opts, "registerFunction", _owner, _verifier, _name) } -// RegisterFunction is a paid mutator transaction binding the contract method 0x68ff41b1. +// RegisterFunction is a paid mutator transaction binding the contract method 0x40651ac1. // -// Solidity: function registerFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionRegistry *FunctionRegistrySession) RegisterFunction(_verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionRegistry.Contract.RegisterFunction(&_FunctionRegistry.TransactOpts, _verifier, _name) +// Solidity: function registerFunction(address _owner, address _verifier, string _name) returns(bytes32 functionId) +func (_FunctionRegistry *FunctionRegistrySession) RegisterFunction(_owner common.Address, _verifier common.Address, _name string) (*types.Transaction, error) { + return _FunctionRegistry.Contract.RegisterFunction(&_FunctionRegistry.TransactOpts, _owner, _verifier, _name) } -// RegisterFunction is a paid mutator transaction binding the contract method 0x68ff41b1. +// RegisterFunction is a paid mutator transaction binding the contract method 0x40651ac1. // -// Solidity: function registerFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionRegistry *FunctionRegistryTransactorSession) RegisterFunction(_verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionRegistry.Contract.RegisterFunction(&_FunctionRegistry.TransactOpts, _verifier, _name) +// Solidity: function registerFunction(address _owner, address _verifier, string _name) returns(bytes32 functionId) +func (_FunctionRegistry *FunctionRegistryTransactorSession) RegisterFunction(_owner common.Address, _verifier common.Address, _name string) (*types.Transaction, error) { + return _FunctionRegistry.Contract.RegisterFunction(&_FunctionRegistry.TransactOpts, _owner, _verifier, _name) } // UpdateFunction is a paid mutator transaction binding the contract method 0xbd58c4bb. @@ -541,151 +541,6 @@ func (_FunctionRegistry *FunctionRegistryFilterer) ParseDeployed(log types.Log) return event, nil } -// FunctionRegistryFunctionOwnerUpdatedIterator is returned from FilterFunctionOwnerUpdated and is used to iterate over the raw logs and unpacked data for FunctionOwnerUpdated events raised by the FunctionRegistry contract. -type FunctionRegistryFunctionOwnerUpdatedIterator struct { - Event *FunctionRegistryFunctionOwnerUpdated // 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 *FunctionRegistryFunctionOwnerUpdatedIterator) 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(FunctionRegistryFunctionOwnerUpdated) - 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(FunctionRegistryFunctionOwnerUpdated) - 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 *FunctionRegistryFunctionOwnerUpdatedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FunctionRegistryFunctionOwnerUpdatedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FunctionRegistryFunctionOwnerUpdated represents a FunctionOwnerUpdated event raised by the FunctionRegistry contract. -type FunctionRegistryFunctionOwnerUpdated struct { - FunctionId [32]byte - Owner common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterFunctionOwnerUpdated is a free log retrieval operation binding the contract event 0x376b0a13fca0286b5c7c73288ea980eb9d131fc8b996f7a46a49e0f90269aadf. -// -// Solidity: event FunctionOwnerUpdated(bytes32 indexed functionId, address owner) -func (_FunctionRegistry *FunctionRegistryFilterer) FilterFunctionOwnerUpdated(opts *bind.FilterOpts, functionId [][32]byte) (*FunctionRegistryFunctionOwnerUpdatedIterator, error) { - - var functionIdRule []interface{} - for _, functionIdItem := range functionId { - functionIdRule = append(functionIdRule, functionIdItem) - } - - logs, sub, err := _FunctionRegistry.contract.FilterLogs(opts, "FunctionOwnerUpdated", functionIdRule) - if err != nil { - return nil, err - } - return &FunctionRegistryFunctionOwnerUpdatedIterator{contract: _FunctionRegistry.contract, event: "FunctionOwnerUpdated", logs: logs, sub: sub}, nil -} - -// WatchFunctionOwnerUpdated is a free log subscription operation binding the contract event 0x376b0a13fca0286b5c7c73288ea980eb9d131fc8b996f7a46a49e0f90269aadf. -// -// Solidity: event FunctionOwnerUpdated(bytes32 indexed functionId, address owner) -func (_FunctionRegistry *FunctionRegistryFilterer) WatchFunctionOwnerUpdated(opts *bind.WatchOpts, sink chan<- *FunctionRegistryFunctionOwnerUpdated, functionId [][32]byte) (event.Subscription, error) { - - var functionIdRule []interface{} - for _, functionIdItem := range functionId { - functionIdRule = append(functionIdRule, functionIdItem) - } - - logs, sub, err := _FunctionRegistry.contract.WatchLogs(opts, "FunctionOwnerUpdated", functionIdRule) - 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(FunctionRegistryFunctionOwnerUpdated) - if err := _FunctionRegistry.contract.UnpackLog(event, "FunctionOwnerUpdated", 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 -} - -// ParseFunctionOwnerUpdated is a log parse operation binding the contract event 0x376b0a13fca0286b5c7c73288ea980eb9d131fc8b996f7a46a49e0f90269aadf. -// -// Solidity: event FunctionOwnerUpdated(bytes32 indexed functionId, address owner) -func (_FunctionRegistry *FunctionRegistryFilterer) ParseFunctionOwnerUpdated(log types.Log) (*FunctionRegistryFunctionOwnerUpdated, error) { - event := new(FunctionRegistryFunctionOwnerUpdated) - if err := _FunctionRegistry.contract.UnpackLog(event, "FunctionOwnerUpdated", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - // FunctionRegistryFunctionRegisteredIterator is returned from FilterFunctionRegistered and is used to iterate over the raw logs and unpacked data for FunctionRegistered events raised by the FunctionRegistry contract. type FunctionRegistryFunctionRegisteredIterator struct { Event *FunctionRegistryFunctionRegistered // Event containing the contract specifics and raw log diff --git a/bindings/FunctionGateway.go b/bindings/SuccinctGateway.go similarity index 53% rename from bindings/FunctionGateway.go rename to bindings/SuccinctGateway.go index 4e2e21d16..d877777fb 100644 --- a/bindings/FunctionGateway.go +++ b/bindings/SuccinctGateway.go @@ -29,23 +29,23 @@ var ( _ = abi.ConvertType ) -// FunctionGatewayMetaData contains all meta data concerning the FunctionGateway contract. -var FunctionGatewayMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callbackData\",\"type\":\"bytes\"}],\"name\":\"CallFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"callbackSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"output\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"CallbackFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EmptyBytecode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedDeploy\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"name\":\"FunctionAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"InvalidCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"inputHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"outputHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"expectedRequestHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"requestHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidRequest\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actualOwner\",\"type\":\"address\"}],\"name\":\"NotFunctionOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlyGuardian\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlyTimelock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VerifierCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"inputHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"outputHash\",\"type\":\"bytes32\"}],\"name\":\"Call\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"bytecodeHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"name\":\"Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"FunctionOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"FunctionRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"FunctionVerifierUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"entryAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"entryCalldata\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"entryGasLimit\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"RequestCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"callbackSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"callbackGasLimit\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"RequestCallback\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"inputHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"outputHash\",\"type\":\"bytes32\"}],\"name\":\"RequestFulfilled\",\"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\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GUARDIAN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TIMELOCK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"deployAndRegisterFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"deployAndUpdateFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_output\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callbackData\",\"type\":\"bytes\"}],\"name\":\"fulfillCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_nonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_inputHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_callbackSelector\",\"type\":\"bytes4\"},{\"internalType\":\"uint32\",\"name\":\"_callbackGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"_context\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_output\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"fulfillCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getFunctionId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"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\":[{\"internalType\":\"address\",\"name\":\"_feeVault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_timelock\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_guardian\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isCallback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"registerFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"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\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_input\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_entryAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_entryCalldata\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"_entryGasLimit\",\"type\":\"uint32\"}],\"name\":\"requestCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_context\",\"type\":\"bytes\"},{\"internalType\":\"bytes4\",\"name\":\"_callbackSelector\",\"type\":\"bytes4\"},{\"internalType\":\"uint32\",\"name\":\"_callbackGasLimit\",\"type\":\"uint32\"}],\"name\":\"requestCallback\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"requests\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"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\":[{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_input\",\"type\":\"bytes\"}],\"name\":\"verifiedCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifiedFunctionId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifiedInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifiedOutput\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"verifierOwners\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"verifiers\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600254610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60025460ff90811614620000e5576002805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051612c846200011f600039600081816109520152818161099201528181610ad901528181610b190152610ba80152612c846000f3fe6080604052600436106101ee5760003560e01c806378370ebd1161010d578063b3f04fdf116100a0578063c0c53b8b1161006f578063c0c53b8b146105da578063d547741f146105fa578063efe1c9501461061a578063f288a2e214610650578063ffa1ad741461068457600080fd5b8063b3f04fdf14610567578063b63755e51461057a578063bac2a1061461059a578063bd58c4bb146105ba57600080fd5b806391d14854116100dc57806391d14854146104d95780639538f56f146104f9578063a217fddf14610519578063affed0e01461052e57600080fd5b806378370ebd1461045657806380e0bbb0146104765780638157ce2b1461048d5780638bcfc3a0146104a357600080fd5b806336568abe116101855780634f1ef286116101545780634f1ef286146103d157806352d1902d146103e45780635c74ad56146103f957806368ff41b11461043657600080fd5b806336568abe146103465780633659cfe614610366578063436a61d514610386578063478222c21461039957600080fd5b8063176e62fd116101c1578063176e62fd146102a0578063248a9ca3146102c057806324ea54f4146102f05780632f2ff15d1461032457600080fd5b806301ffc9a7146101f357806305d7c1cf146102285780630ab469b014610243578063173869f01461027e575b600080fd5b3480156101ff57600080fd5b5061021361020e366004612109565b6106b2565b60405190151581526020015b60405180910390f35b34801561023457600080fd5b50610102546102139060ff1681565b34801561024f57600080fd5b5061027061025e366004612138565b60fe6020526000908152604090205481565b60405190815260200161021f565b34801561028a57600080fd5b506102936106e9565b60405161021f91906121a3565b3480156102ac57600080fd5b506102936102bb366004612259565b610778565b3480156102cc57600080fd5b506102706102db3660046122a0565b600090815260cb602052604090206001015490565b3480156102fc57600080fd5b506102707f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504181565b34801561033057600080fd5b5061034461033f3660046122d0565b6108a0565b005b34801561035257600080fd5b506103446103613660046122d0565b6108ca565b34801561037257600080fd5b506103446103813660046122fc565b610948565b610344610394366004612317565b610a27565b3480156103a557600080fd5b5060fd546103b9906001600160a01b031681565b6040516001600160a01b03909116815260200161021f565b6103446103df3660046123a6565b610acf565b3480156103f057600080fd5b50610270610b9b565b34801561040557600080fd5b506104196104143660046123de565b610c4e565b604080519283526001600160a01b0390911660208301520161021f565b34801561044257600080fd5b506102706104513660046123a6565b610d2e565b34801561046257600080fd5b50610344610471366004612438565b610e1c565b34801561048257600080fd5b506102706101005481565b34801561049957600080fd5b5061027060ff5481565b3480156104af57600080fd5b506103b96104be3660046122a0565b6001602052600090815260409020546001600160a01b031681565b3480156104e557600080fd5b506102136104f43660046122d0565b611046565b34801561050557600080fd5b506102706105143660046123a6565b611071565b34801561052557600080fd5b50610270600081565b34801561053a57600080fd5b5060fd5461055290600160a01b900463ffffffff1681565b60405163ffffffff909116815260200161021f565b610270610575366004612517565b6110a4565b34801561058657600080fd5b506104196105953660046123de565b611249565b3480156105a657600080fd5b506103446105b536600461259a565b61131a565b3480156105c657600080fd5b506102706105d53660046123a6565b6114cb565b3480156105e657600080fd5b506103446105f5366004612660565b6115b5565b34801561060657600080fd5b506103446106153660046122d0565b6116f1565b34801561062657600080fd5b506103b96106353660046122a0565b6000602081905290815260409020546001600160a01b031681565b34801561065c57600080fd5b506102707ff66846415d2bf9eabda9e84793ff9c0ea96d87f50fc41e66aa16469c6a442f0581565b34801561069057600080fd5b506040805180820190915260058152640312e302e360dc1b6020820152610293565b60006001600160e01b03198216637965db0b60e01b14806106e357506301ffc9a760e01b6001600160e01b03198316145b92915050565b61010180546106f7906126a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610723906126a3565b80156107705780601f1061074557610100808354040283529160200191610770565b820191906000526020600020905b81548152906001019060200180831161075357829003601f168201915b505050505081565b6060600060028360405161078c91906126dd565b602060405180830381855afa1580156107a9573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906107cc91906126f9565b90508360ff541480156107e157508061010054145b1561087a5761010180546107f4906126a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610820906126a3565b801561086d5780601f106108425761010080835404028352916020019161086d565b820191906000526020600020905b81548152906001019060200180831161085057829003601f168201915b50505050509150506106e3565b838360405163aa74a2cb60e01b8152600401610897929190612712565b60405180910390fd5b600082815260cb60205260409020600101546108bb81611716565b6108c58383611720565b505050565b6001600160a01b038116331461093a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610897565b61094482826117a6565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109905760405162461bcd60e51b81526004016108979061272b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109d9600080516020612c08833981519152546001600160a01b031690565b6001600160a01b0316146109ff5760405162461bcd60e51b815260040161089790612777565b610a088161180d565b60408051600080825260208201909252610a2491839190611856565b50565b847f88632d59d3df3bee2ce2a06fbb05e1c8542c44cb2e7339bb1812500a978644d3858585853334604051610a61969594939291906127c3565b60405180910390a260fd546040516333bb7f9160e01b81523360048201526001600160a01b03909116906333bb7f919034906024016000604051808303818588803b158015610aaf57600080fd5b505af1158015610ac3573d6000803e3d6000fd5b50505050505050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b175760405162461bcd60e51b81526004016108979061272b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b60600080516020612c08833981519152546001600160a01b031690565b6001600160a01b031614610b865760405162461bcd60e51b815260040161089790612777565b610b8f8261180d565b61094482826001611856565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c3b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610897565b50600080516020612c0883398151915290565b600080610c5b3384611071565b6000818152602081905260409020549092506001600160a01b031615610c9757604051635e34c78f60e01b815260048101839052602401610897565b600082815260016020526040902080546001600160a01b03191633179055610cbf84836119c1565b6000838152602081905260409081902080546001600160a01b0319166001600160a01b0384161790555190915082907f52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea90610d1f9084908790339061281c565b60405180910390a29250929050565b6000610d3a3383611071565b6000818152602081905260409020549091506001600160a01b031615610d7657604051635e34c78f60e01b815260048101829052602401610897565b6001600160a01b038316610d9d576040516302d48d1f60e61b815260040160405180910390fd5b60008181526020818152604080832080546001600160a01b03199081166001600160a01b03891617909155600190925291829020805433921682179055905182917f52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea91610e0e91879187919061281c565b60405180910390a292915050565b825160208401206000610e348b8b8b858c8c8c611a5b565b63ffffffff8c16600090815260fe60205260409020549091508114610e935763ffffffff8b16600081815260fe6020526040908190205490516310fc041760e31b81526004810192909252602482015260448101829052606401610897565b63ffffffff8b16600090815260fe602052604080822082905551600290610ebb9087906126dd565b602060405180830381855afa158015610ed8573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610efb91906126f9565b9050610f098b8b8387611adb565b610102805460ff191660011790556040516000906001600160a01b038b16908a90610f3a9089908b90602401612851565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610f7891906126dd565b6000604051808303816000865af19150503d8060008114610fb5576040519150601f19603f3d011682016040523d82523d6000602084013e610fba565b606091505b5050610102805460ff19169055905080610fed578886886040516315c9414b60e11b81526004016108979392919061287f565b8b8d63ffffffff167f361a2fc76bc9f35b079dd353fd7fdd8aaf61f1a7979cf59653225692c19bbff28d8560405161102f929190918252602082015260400190565b60405180910390a350505050505050505050505050565b600091825260cb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600082826040516020016110869291906128b3565b60405160208183030381529060405280519060200120905092915050565b6000806002866040516110b791906126dd565b602060405180830381855afa1580156110d4573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906110f791906126f9565b8551602087012060fd5491925090339060009061112690600160a01b900463ffffffff168b8686868c8c611a5b565b60fd805463ffffffff600160a01b918290048116600090815260fe602052604090819020859055925492519394508d9391909204909116907f22a09d598b323a3c65d69787dd6fd143dd8e4d2f91733c247113167df31e3e9390611195908d908d9088908e908e9034906128d7565b60405180910390a360fd8054600160a01b900463ffffffff169060146111ba83612951565b825463ffffffff9182166101009390930a92830291909202199091161790555060fd546040516333bb7f9160e01b81526001600160a01b038481166004830152909116906333bb7f919034906024016000604051808303818588803b15801561122257600080fd5b505af1158015611236573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b6000806112563384611071565b6000818152600160205260409020549092506001600160a01b031633146112b25760008281526001602052604090819020549051633368f56b60e11b81523360048201526001600160a01b039091166024820152604401610897565b6112bc84836119c1565b6000838152602081815260409182902080546001600160a01b0319166001600160a01b038516908117909155915191825291925083917ffc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b7369101610d1f565b600060028660405161132c91906126dd565b602060405180830381855afa158015611349573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061136c91906126f9565b9050600060028660405161138091906126dd565b602060405180830381855afa15801561139d573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906113c091906126f9565b90506113ce88838388611adb565b60ff8890556101008290556101016113e687826129c2565b506000846001600160a01b03168460405161140191906126dd565b6000604051808303816000865af19150503d806000811461143e576040519150601f19603f3d011682016040523d82523d6000602084013e611443565b606091505b5050905080611469578484604051636c544f3360e01b81526004016108979291906128b3565b60ff60009055610100600090556101016000611485919061209e565b60408051848152602081018490528a917f41d7122d18af9f0c92f23bcea9d5fa416cadcd1ed2fc8e544a3c89b841ecfd15910160405180910390a2505050505050505050565b60006114d73383611071565b6000818152600160205260409020549091506001600160a01b031633146115335760008181526001602052604090819020549051633368f56b60e11b81523360048201526001600160a01b039091166024820152604401610897565b6001600160a01b03831661155a576040516302d48d1f60e61b815260040160405180910390fd5b6000818152602081815260409182902080546001600160a01b0319166001600160a01b038716908117909155915191825282917ffc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b7369101610e0e565b600254610100900460ff16158080156115d55750600254600160ff909116105b806115ef5750303b1580156115ef575060025460ff166001145b6116525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610897565b6002805460ff191660011790558015611675576002805461ff0019166101001790555b60fd80546001600160a01b0319166001600160a01b038616179055610102805460ff191690556116a58383611b8d565b80156116eb576002805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b600082815260cb602052604090206001015461170c81611716565b6108c583836117a6565b610a248133611c23565b61172a8282611046565b61094457600082815260cb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117623390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6117b08282611046565b1561094457600082815260cb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6118377ff66846415d2bf9eabda9e84793ff9c0ea96d87f50fc41e66aa16469c6a442f0533611046565b610a2457604051636744392960e11b8152336004820152602401610897565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611889576108c583611c7c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118e3575060408051601f3d908101601f191682019092526118e0918101906126f9565b60015b6119465760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610897565b600080516020612c0883398151915281146119b55760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610897565b506108c5838383611d18565b600082516000036119e5576040516321744a5960e01b815260040160405180910390fd5b818351602085016000f590506001600160a01b038116611a1857604051632081741d60e11b815260040160405180910390fd5b825160208401206040516001600160a01b0383169184917f27b8e3132afa95254770e1c1d214eafde52bc47d1b6e1f5dfcbb380c3ca3f53290600090a492915050565b6040516001600160e01b031960e089811b821660208401526024830189905260448301889052606483018790526bffffffffffffffffffffffff19606087901b166084840152818516609884015283901b16609c82015260009060a001604051602081830303815290604052805190602001209050979650505050505050565b600084815260208190526040908190205490516303784b1960e61b81526001600160a01b0390911690819063de12c64090611b1e90879087908790600401612a82565b6020604051808303816000875af1158015611b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b619190612aa1565b611b8657808484846040516316c7141360e31b81526004016108979493929190612ac3565b5050505050565b600254610100900460ff16611bb45760405162461bcd60e51b815260040161089790612af0565b611bbc611d3d565b611bc4611d3d565b611bcf600083611720565b611bf97ff66846415d2bf9eabda9e84793ff9c0ea96d87f50fc41e66aa16469c6a442f0583611720565b6109447f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504182611720565b611c2d8282611046565b61094457611c3a81611d66565b611c45836020611d78565b604051602001611c56929190612b3b565b60408051601f198184030181529082905262461bcd60e51b8252610897916004016121a3565b6001600160a01b0381163b611ce95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610897565b600080516020612c0883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611d2183611f1b565b600082511180611d2e5750805b156108c5576116eb8383611f5b565b600254610100900460ff16611d645760405162461bcd60e51b815260040161089790612af0565b565b60606106e36001600160a01b03831660145b60606000611d87836002612bb0565b611d92906002612bc7565b67ffffffffffffffff811115611daa57611daa6121b6565b6040519080825280601f01601f191660200182016040528015611dd4576020820181803683370190505b509050600360fc1b81600081518110611def57611def612bda565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611e1e57611e1e612bda565b60200101906001600160f81b031916908160001a9053506000611e42846002612bb0565b611e4d906001612bc7565b90505b6001811115611ec5576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611e8157611e81612bda565b1a60f81b828281518110611e9757611e97612bda565b60200101906001600160f81b031916908160001a90535060049490941c93611ebe81612bf0565b9050611e50565b508315611f145760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610897565b9392505050565b611f2481611c7c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611f148383604051806060016040528060278152602001612c28602791396060600080856001600160a01b031685604051611f9891906126dd565b600060405180830381855af49150503d8060008114611fd3576040519150601f19603f3d011682016040523d82523d6000602084013e611fd8565b606091505b5091509150611fe986838387611ff3565b9695505050505050565b6060831561206257825160000361205b576001600160a01b0385163b61205b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610897565b508161206c565b61206c8383612074565b949350505050565b8151156120845781518083602001fd5b8060405162461bcd60e51b815260040161089791906121a3565b5080546120aa906126a3565b6000825580601f106120ba575050565b601f016020900490600052602060002090810190610a2491905b808211156120e857600081556001016120d4565b5090565b80356001600160e01b03198116811461210457600080fd5b919050565b60006020828403121561211b57600080fd5b611f14826120ec565b803563ffffffff8116811461210457600080fd5b60006020828403121561214a57600080fd5b611f1482612124565b60005b8381101561216e578181015183820152602001612156565b50506000910152565b6000815180845261218f816020860160208601612153565b601f01601f19169290920160200192915050565b602081526000611f146020830184612177565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126121dd57600080fd5b813567ffffffffffffffff808211156121f8576121f86121b6565b604051601f8301601f19908116603f01168101908282118183101715612220576122206121b6565b8160405283815286602085880101111561223957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561226c57600080fd5b82359150602083013567ffffffffffffffff81111561228a57600080fd5b612296858286016121cc565b9150509250929050565b6000602082840312156122b257600080fd5b5035919050565b80356001600160a01b038116811461210457600080fd5b600080604083850312156122e357600080fd5b823591506122f3602084016122b9565b90509250929050565b60006020828403121561230e57600080fd5b611f14826122b9565b600080600080600060a0868803121561232f57600080fd5b85359450602086013567ffffffffffffffff8082111561234e57600080fd5b61235a89838a016121cc565b9550612368604089016122b9565b9450606088013591508082111561237e57600080fd5b5061238b888289016121cc565b92505061239a60808701612124565b90509295509295909350565b600080604083850312156123b957600080fd5b6123c2836122b9565b9150602083013567ffffffffffffffff81111561228a57600080fd5b600080604083850312156123f157600080fd5b823567ffffffffffffffff8082111561240957600080fd5b612415868387016121cc565b9350602085013591508082111561242b57600080fd5b50612296858286016121cc565b60008060008060008060008060006101208a8c03121561245757600080fd5b6124608a612124565b985060208a0135975060408a0135965061247c60608b016122b9565b955061248a60808b016120ec565b945061249860a08b01612124565b935060c08a013567ffffffffffffffff808211156124b557600080fd5b6124c18d838e016121cc565b945060e08c01359150808211156124d757600080fd5b6124e38d838e016121cc565b93506101008c01359150808211156124fa57600080fd5b506125078c828d016121cc565b9150509295985092959850929598565b600080600080600060a0868803121561252f57600080fd5b85359450602086013567ffffffffffffffff8082111561254e57600080fd5b61255a89838a016121cc565b9550604088013591508082111561257057600080fd5b5061257d888289016121cc565b93505061258c606087016120ec565b915061239a60808701612124565b60008060008060008060c087890312156125b357600080fd5b86359550602087013567ffffffffffffffff808211156125d257600080fd5b6125de8a838b016121cc565b965060408901359150808211156125f457600080fd5b6126008a838b016121cc565b9550606089013591508082111561261657600080fd5b6126228a838b016121cc565b945061263060808a016122b9565b935060a089013591508082111561264657600080fd5b5061265389828a016121cc565b9150509295509295509295565b60008060006060848603121561267557600080fd5b61267e846122b9565b925061268c602085016122b9565b915061269a604085016122b9565b90509250925092565b600181811c908216806126b757607f821691505b6020821081036126d757634e487b7160e01b600052602260045260246000fd5b50919050565b600082516126ef818460208701612153565b9190910192915050565b60006020828403121561270b57600080fd5b5051919050565b82815260406020820152600061206c6040830184612177565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60c0815260006127d660c0830189612177565b6001600160a01b03888116602085015283820360408501526127f88289612177565b63ffffffff9790971660608501529490941660808301525060a00152509392505050565b600060018060a01b0380861683526060602084015261283e6060840186612177565b9150808416604084015250949350505050565b6040815260006128646040830185612177565b82810360208401526128768185612177565b95945050505050565b63ffffffff60e01b841681526060602082015260006128a16060830185612177565b8281036040840152611fe98185612177565b6001600160a01b038316815260406020820181905260009061206c90830184612177565b60c0815260006128ea60c0830189612177565b82810360208401526128fc8189612177565b6001600160a01b0397909716604084015250506001600160e01b031993909316606084015263ffffffff91909116608083015260a09091015292915050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff80831681810361296a5761296a61293b565b6001019392505050565b601f8211156108c557600081815260208120601f850160051c8101602086101561299b5750805b601f850160051c820191505b818110156129ba578281556001016129a7565b505050505050565b815167ffffffffffffffff8111156129dc576129dc6121b6565b6129f0816129ea84546126a3565b84612974565b602080601f831160018114612a255760008415612a0d5750858301515b600019600386901b1c1916600185901b1785556129ba565b600085815260208120601f198616915b82811015612a5457888601518255948401946001909101908401612a35565b5085821015612a725787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8381528260208201526060604082015260006128766060830184612177565b600060208284031215612ab357600080fd5b81518015158114611f1457600080fd5b60018060a01b0385168152836020820152826040820152608060608201526000611fe96080830184612177565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612b73816017850160208801612153565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612ba4816028840160208801612153565b01602801949350505050565b80820281158282048414176106e3576106e361293b565b808201808211156106e3576106e361293b565b634e487b7160e01b600052603260045260246000fd5b600081612bff57612bff61293b565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208f9757f3a35503920af11cd38e5c10552ee0ef5aab381003d4031561dd45d1de64736f6c63430008130033", +// SuccinctGatewayMetaData contains all meta data concerning the SuccinctGateway contract. +var SuccinctGatewayMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callbackData\",\"type\":\"bytes\"}],\"name\":\"CallFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"callbackSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"output\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"CallbackFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EmptyBytecode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedDeploy\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"name\":\"FunctionAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"InvalidCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"inputHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"outputHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"expectedRequestHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"requestHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidRequest\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actualOwner\",\"type\":\"address\"}],\"name\":\"NotFunctionOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlyGuardian\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlyTimelock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VerifierCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"inputHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"outputHash\",\"type\":\"bytes32\"}],\"name\":\"Call\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"bytecodeHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"name\":\"Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"FunctionRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"FunctionVerifierUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"entryAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"entryCalldata\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"entryGasLimit\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"RequestCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"callbackAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"callbackSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"callbackGasLimit\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"RequestCallback\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"inputHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"outputHash\",\"type\":\"bytes32\"}],\"name\":\"RequestFulfilled\",\"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\":true,\"internalType\":\"address\",\"name\":\"oldFeeVault\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newFeeVault\",\"type\":\"address\"}],\"name\":\"SetFeeVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GUARDIAN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TIMELOCK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"deployAndRegisterFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_bytecode\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"deployAndUpdateFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_output\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callbackData\",\"type\":\"bytes\"}],\"name\":\"fulfillCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_nonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_inputHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_callbackAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_callbackSelector\",\"type\":\"bytes4\"},{\"internalType\":\"uint32\",\"name\":\"_callbackGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"_context\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_output\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"fulfillCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getFunctionId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"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\":[{\"internalType\":\"address\",\"name\":\"_feeVault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_timelock\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_guardian\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isCallback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"registerFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"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\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_input\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_entryAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_entryCalldata\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"_entryGasLimit\",\"type\":\"uint32\"}],\"name\":\"requestCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_context\",\"type\":\"bytes\"},{\"internalType\":\"bytes4\",\"name\":\"_callbackSelector\",\"type\":\"bytes4\"},{\"internalType\":\"uint32\",\"name\":\"_callbackGasLimit\",\"type\":\"uint32\"}],\"name\":\"requestCallback\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"requests\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"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\":\"_feeVault\",\"type\":\"address\"}],\"name\":\"setFeeVault\",\"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\":[{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateFunction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"functionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_functionId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_input\",\"type\":\"bytes\"}],\"name\":\"verifiedCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifiedFunctionId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifiedInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifiedOutput\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"verifierOwners\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"verifiers\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + Bin: "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600254610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60025460ff90811614620000e5576002805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051612e5e6200011f6000396000818161097d015281816109bd01528181610c0d01528181610c4d0152610cdc0152612e5e6000f3fe6080604052600436106101f95760003560e01c806380e0bbb01161010d578063b3f04fdf116100a0578063c0c53b8b1161006f578063c0c53b8b14610605578063d547741f14610625578063efe1c95014610645578063f288a2e21461067b578063ffa1ad74146106af57600080fd5b8063b3f04fdf14610592578063b63755e5146105a5578063bac2a106146105c5578063bd58c4bb146105e557600080fd5b80639538f56f116100dc5780639538f56f14610504578063a217fddf14610524578063a591f97f14610539578063affed0e01461055957600080fd5b806380e0bbb0146104815780638157ce2b146104985780638bcfc3a0146104ae57806391d14854146104e457600080fd5b806336568abe11610190578063478222c21161015f578063478222c2146103c45780634f1ef286146103fc57806352d1902d1461040f57806361f846c91461042457806378370ebd1461046157600080fd5b806336568abe146103515780633659cfe61461037157806340651ac114610391578063436a61d5146103b157600080fd5b8063176e62fd116101cc578063176e62fd146102ab578063248a9ca3146102cb57806324ea54f4146102fb5780632f2ff15d1461032f57600080fd5b806301ffc9a7146101fe57806305d7c1cf146102335780630ab469b01461024e578063173869f014610289575b600080fd5b34801561020a57600080fd5b5061021e61021936600461221b565b6106dd565b60405190151581526020015b60405180910390f35b34801561023f57600080fd5b506101025461021e9060ff1681565b34801561025a57600080fd5b5061027b61026936600461224a565b60fe6020526000908152604090205481565b60405190815260200161022a565b34801561029557600080fd5b5061029e610714565b60405161022a91906122b5565b3480156102b757600080fd5b5061029e6102c636600461236b565b6107a3565b3480156102d757600080fd5b5061027b6102e63660046123b2565b600090815260cb602052604090206001015490565b34801561030757600080fd5b5061027b7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504181565b34801561033b57600080fd5b5061034f61034a3660046123e2565b6108cb565b005b34801561035d57600080fd5b5061034f61036c3660046123e2565b6108f5565b34801561037d57600080fd5b5061034f61038c36600461240e565b610973565b34801561039d57600080fd5b5061027b6103ac366004612429565b610a52565b61034f6103bf366004612487565b610b49565b3480156103d057600080fd5b5060fd546103e4906001600160a01b031681565b6040516001600160a01b03909116815260200161022a565b61034f61040a366004612516565b610c03565b34801561041b57600080fd5b5061027b610ccf565b34801561043057600080fd5b5061044461043f36600461254e565b610d82565b604080519283526001600160a01b0390911660208301520161022a565b34801561046d57600080fd5b5061034f61047c3660046125b8565b610e6c565b34801561048d57600080fd5b5061027b6101005481565b3480156104a457600080fd5b5061027b60ff5481565b3480156104ba57600080fd5b506103e46104c93660046123b2565b6001602052600090815260409020546001600160a01b031681565b3480156104f057600080fd5b5061021e6104ff3660046123e2565b611096565b34801561051057600080fd5b5061027b61051f366004612516565b6110c1565b34801561053057600080fd5b5061027b600081565b34801561054557600080fd5b5061034f61055436600461240e565b6110f4565b34801561056557600080fd5b5060fd5461057d90600160a01b900463ffffffff1681565b60405163ffffffff909116815260200161022a565b61027b6105a0366004612697565b611199565b3480156105b157600080fd5b506104446105c036600461271a565b61134f565b3480156105d157600080fd5b5061034f6105e0366004612774565b61142a565b3480156105f157600080fd5b5061027b610600366004612516565b6115db565b34801561061157600080fd5b5061034f61062036600461283a565b6116ce565b34801561063157600080fd5b5061034f6106403660046123e2565b61180a565b34801561065157600080fd5b506103e46106603660046123b2565b6000602081905290815260409020546001600160a01b031681565b34801561068757600080fd5b5061027b7ff66846415d2bf9eabda9e84793ff9c0ea96d87f50fc41e66aa16469c6a442f0581565b3480156106bb57600080fd5b506040805180820190915260058152640312e302e360dc1b602082015261029e565b60006001600160e01b03198216637965db0b60e01b148061070e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b61010180546107229061287d565b80601f016020809104026020016040519081016040528092919081815260200182805461074e9061287d565b801561079b5780601f106107705761010080835404028352916020019161079b565b820191906000526020600020905b81548152906001019060200180831161077e57829003601f168201915b505050505081565b606060006002836040516107b791906128b7565b602060405180830381855afa1580156107d4573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906107f791906128d3565b90508360ff5414801561080c57508061010054145b156108a557610101805461081f9061287d565b80601f016020809104026020016040519081016040528092919081815260200182805461084b9061287d565b80156108985780601f1061086d57610100808354040283529160200191610898565b820191906000526020600020905b81548152906001019060200180831161087b57829003601f168201915b505050505091505061070e565b838360405163aa74a2cb60e01b81526004016108c29291906128ec565b60405180910390fd5b600082815260cb60205260409020600101546108e68161182f565b6108f08383611839565b505050565b6001600160a01b03811633146109655760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108c2565b61096f82826118bf565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109bb5760405162461bcd60e51b81526004016108c290612905565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a04600080516020612de2833981519152546001600160a01b031690565b6001600160a01b031614610a2a5760405162461bcd60e51b81526004016108c290612951565b610a3381611926565b60408051600080825260208201909252610a4f9183919061196f565b50565b6000610a5e33836110c1565b6000818152602081905260409020549091506001600160a01b031615610a9a57604051635e34c78f60e01b8152600481018290526024016108c2565b6001600160a01b038316610ac1576040516302d48d1f60e61b815260040160405180910390fd5b600081815260016020908152604080832080546001600160a01b03808a166001600160a01b03199283161790925592849052928190208054938716939092169290921790555181907f52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea90610b3a9086908690899061299d565b60405180910390a29392505050565b847f88632d59d3df3bee2ce2a06fbb05e1c8542c44cb2e7339bb1812500a978644d3858585853334604051610b83969594939291906129d2565b60405180910390a260fd546001600160a01b031615610bfc5760fd546040516333bb7f9160e01b81523360048201526001600160a01b03909116906333bb7f919034906024016000604051808303818588803b158015610be257600080fd5b505af1158015610bf6573d6000803e3d6000fd5b50505050505b5050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c4b5760405162461bcd60e51b81526004016108c290612905565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c94600080516020612de2833981519152546001600160a01b031690565b6001600160a01b031614610cba5760405162461bcd60e51b81526004016108c290612951565b610cc382611926565b61096f8282600161196f565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d6f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108c2565b50600080516020612de283398151915290565b600080610d8f33846110c1565b6000818152602081905260409020549092506001600160a01b031615610dcb57604051635e34c78f60e01b8152600481018390526024016108c2565b600082815260016020526040902080546001600160a01b0319166001600160a01b038716179055610dfc8483611ada565b6000838152602081905260409081902080546001600160a01b0319166001600160a01b0384161790555190915082907f52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea90610e5c90849087908a9061299d565b60405180910390a2935093915050565b825160208401206000610e848b8b8b858c8c8c611b74565b63ffffffff8c16600090815260fe60205260409020549091508114610ee35763ffffffff8b16600081815260fe6020526040908190205490516310fc041760e31b815260048101929092526024820152604481018290526064016108c2565b63ffffffff8b16600090815260fe602052604080822082905551600290610f0b9087906128b7565b602060405180830381855afa158015610f28573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f4b91906128d3565b9050610f598b8b8387611bf4565b610102805460ff191660011790556040516000906001600160a01b038b16908a90610f8a9089908b90602401612a2b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610fc891906128b7565b6000604051808303816000865af19150503d8060008114611005576040519150601f19603f3d011682016040523d82523d6000602084013e61100a565b606091505b5050610102805460ff1916905590508061103d578886886040516315c9414b60e11b81526004016108c293929190612a59565b8b8d63ffffffff167f361a2fc76bc9f35b079dd353fd7fdd8aaf61f1a7979cf59653225692c19bbff28d8560405161107f929190918252602082015260400190565b60405180910390a350505050505050505050505050565b600091825260cb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600082826040516020016110d6929190612a8d565b60405160208183030381529060405280519060200120905092915050565b61111e7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504133611096565b61113d5760405163ea79172d60e01b81523360048201526024016108c2565b60fd546040516001600160a01b038084169216907ff0cca8e172b90b70922c6757d918f7a532326dfd3e9f3c5b117a616d2bb0721290600090a360fd80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806002866040516111ac91906128b7565b602060405180830381855afa1580156111c9573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906111ec91906128d3565b8551602087012060fd5491925090339060009061121b90600160a01b900463ffffffff168b8686868c8c611b74565b60fd805463ffffffff600160a01b918290048116600090815260fe602052604090819020859055925492519394508d9391909204909116907f22a09d598b323a3c65d69787dd6fd143dd8e4d2f91733c247113167df31e3e939061128a908d908d9088908e908e903490612ab1565b60405180910390a360fd8054600160a01b900463ffffffff169060146112af83612b2b565b825463ffffffff9182166101009390930a92830291909202199091161790555060fd546001600160a01b0316156113425760fd546040516333bb7f9160e01b81526001600160a01b038481166004830152909116906333bb7f919034906024016000604051808303818588803b15801561132857600080fd5b505af115801561133c573d6000803e3d6000fd5b50505050505b9998505050505050505050565b60008061135c33846110c1565b6000818152600160205260409020549092506001600160a01b031633146113b85760008281526001602052604090819020549051633368f56b60e11b81523360048201526001600160a01b0390911660248201526044016108c2565b6113c28483611ada565b6000838152602081815260409182902080546001600160a01b0319166001600160a01b038516908117909155915191825291925083917ffc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b736910160405180910390a29250929050565b600060028660405161143c91906128b7565b602060405180830381855afa158015611459573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061147c91906128d3565b9050600060028660405161149091906128b7565b602060405180830381855afa1580156114ad573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906114d091906128d3565b90506114de88838388611bf4565b60ff8890556101008290556101016114f68782612b9c565b506000846001600160a01b03168460405161151191906128b7565b6000604051808303816000865af19150503d806000811461154e576040519150601f19603f3d011682016040523d82523d6000602084013e611553565b606091505b5050905080611579578484604051636c544f3360e01b81526004016108c2929190612a8d565b60ff6000905561010060009055610101600061159591906121b0565b60408051848152602081018490528a917f41d7122d18af9f0c92f23bcea9d5fa416cadcd1ed2fc8e544a3c89b841ecfd15910160405180910390a2505050505050505050565b60006115e733836110c1565b6000818152600160205260409020549091506001600160a01b031633146116435760008181526001602052604090819020549051633368f56b60e11b81523360048201526001600160a01b0390911660248201526044016108c2565b6001600160a01b03831661166a576040516302d48d1f60e61b815260040160405180910390fd5b6000818152602081815260409182902080546001600160a01b0319166001600160a01b038716908117909155915191825282917ffc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b736910160405180910390a292915050565b600254610100900460ff16158080156116ee5750600254600160ff909116105b806117085750303b158015611708575060025460ff166001145b61176b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108c2565b6002805460ff19166001179055801561178e576002805461ff0019166101001790555b60fd80546001600160a01b0319166001600160a01b038616179055610102805460ff191690556117be8383611c9f565b8015611804576002805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b600082815260cb60205260409020600101546118258161182f565b6108f083836118bf565b610a4f8133611d35565b6118438282611096565b61096f57600082815260cb602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561187b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6118c98282611096565b1561096f57600082815260cb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6119507ff66846415d2bf9eabda9e84793ff9c0ea96d87f50fc41e66aa16469c6a442f0533611096565b610a4f57604051636744392960e11b81523360048201526024016108c2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156119a2576108f083611d8e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119fc575060408051601f3d908101601f191682019092526119f9918101906128d3565b60015b611a5f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108c2565b600080516020612de28339815191528114611ace5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108c2565b506108f0838383611e2a565b60008251600003611afe576040516321744a5960e01b815260040160405180910390fd5b818351602085016000f590506001600160a01b038116611b3157604051632081741d60e11b815260040160405180910390fd5b825160208401206040516001600160a01b0383169184917f27b8e3132afa95254770e1c1d214eafde52bc47d1b6e1f5dfcbb380c3ca3f53290600090a492915050565b6040516001600160e01b031960e089811b821660208401526024830189905260448301889052606483018790526bffffffffffffffffffffffff19606087901b166084840152818516609884015283901b16609c82015260009060a001604051602081830303815290604052805190602001209050979650505050505050565b600084815260208190526040908190205490516303784b1960e61b81526001600160a01b0390911690819063de12c64090611c3790879087908790600401612c5c565b6020604051808303816000875af1158015611c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7a9190612c7b565b610bfc57808484846040516316c7141360e31b81526004016108c29493929190612c9d565b600254610100900460ff16611cc65760405162461bcd60e51b81526004016108c290612cca565b611cce611e4f565b611cd6611e4f565b611ce1600083611839565b611d0b7ff66846415d2bf9eabda9e84793ff9c0ea96d87f50fc41e66aa16469c6a442f0583611839565b61096f7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504182611839565b611d3f8282611096565b61096f57611d4c81611e78565b611d57836020611e8a565b604051602001611d68929190612d15565b60408051601f198184030181529082905262461bcd60e51b82526108c2916004016122b5565b6001600160a01b0381163b611dfb5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108c2565b600080516020612de283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611e338361202d565b600082511180611e405750805b156108f057611804838361206d565b600254610100900460ff16611e765760405162461bcd60e51b81526004016108c290612cca565b565b606061070e6001600160a01b03831660145b60606000611e99836002612d8a565b611ea4906002612da1565b67ffffffffffffffff811115611ebc57611ebc6122c8565b6040519080825280601f01601f191660200182016040528015611ee6576020820181803683370190505b509050600360fc1b81600081518110611f0157611f01612db4565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611f3057611f30612db4565b60200101906001600160f81b031916908160001a9053506000611f54846002612d8a565b611f5f906001612da1565b90505b6001811115611fd7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611f9357611f93612db4565b1a60f81b828281518110611fa957611fa9612db4565b60200101906001600160f81b031916908160001a90535060049490941c93611fd081612dca565b9050611f62565b5083156120265760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108c2565b9392505050565b61203681611d8e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606120268383604051806060016040528060278152602001612e02602791396060600080856001600160a01b0316856040516120aa91906128b7565b600060405180830381855af49150503d80600081146120e5576040519150601f19603f3d011682016040523d82523d6000602084013e6120ea565b606091505b50915091506120fb86838387612105565b9695505050505050565b6060831561217457825160000361216d576001600160a01b0385163b61216d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108c2565b508161217e565b61217e8383612186565b949350505050565b8151156121965781518083602001fd5b8060405162461bcd60e51b81526004016108c291906122b5565b5080546121bc9061287d565b6000825580601f106121cc575050565b601f016020900490600052602060002090810190610a4f91905b808211156121fa57600081556001016121e6565b5090565b80356001600160e01b03198116811461221657600080fd5b919050565b60006020828403121561222d57600080fd5b612026826121fe565b803563ffffffff8116811461221657600080fd5b60006020828403121561225c57600080fd5b61202682612236565b60005b83811015612280578181015183820152602001612268565b50506000910152565b600081518084526122a1816020860160208601612265565b601f01601f19169290920160200192915050565b6020815260006120266020830184612289565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126122ef57600080fd5b813567ffffffffffffffff8082111561230a5761230a6122c8565b604051601f8301601f19908116603f01168101908282118183101715612332576123326122c8565b8160405283815286602085880101111561234b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561237e57600080fd5b82359150602083013567ffffffffffffffff81111561239c57600080fd5b6123a8858286016122de565b9150509250929050565b6000602082840312156123c457600080fd5b5035919050565b80356001600160a01b038116811461221657600080fd5b600080604083850312156123f557600080fd5b82359150612405602084016123cb565b90509250929050565b60006020828403121561242057600080fd5b612026826123cb565b60008060006060848603121561243e57600080fd5b612447846123cb565b9250612455602085016123cb565b9150604084013567ffffffffffffffff81111561247157600080fd5b61247d868287016122de565b9150509250925092565b600080600080600060a0868803121561249f57600080fd5b85359450602086013567ffffffffffffffff808211156124be57600080fd5b6124ca89838a016122de565b95506124d8604089016123cb565b945060608801359150808211156124ee57600080fd5b506124fb888289016122de565b92505061250a60808701612236565b90509295509295909350565b6000806040838503121561252957600080fd5b612532836123cb565b9150602083013567ffffffffffffffff81111561239c57600080fd5b60008060006060848603121561256357600080fd5b61256c846123cb565b9250602084013567ffffffffffffffff8082111561258957600080fd5b612595878388016122de565b935060408601359150808211156125ab57600080fd5b5061247d868287016122de565b60008060008060008060008060006101208a8c0312156125d757600080fd5b6125e08a612236565b985060208a0135975060408a013596506125fc60608b016123cb565b955061260a60808b016121fe565b945061261860a08b01612236565b935060c08a013567ffffffffffffffff8082111561263557600080fd5b6126418d838e016122de565b945060e08c013591508082111561265757600080fd5b6126638d838e016122de565b93506101008c013591508082111561267a57600080fd5b506126878c828d016122de565b9150509295985092959850929598565b600080600080600060a086880312156126af57600080fd5b85359450602086013567ffffffffffffffff808211156126ce57600080fd5b6126da89838a016122de565b955060408801359150808211156126f057600080fd5b506126fd888289016122de565b93505061270c606087016121fe565b915061250a60808701612236565b6000806040838503121561272d57600080fd5b823567ffffffffffffffff8082111561274557600080fd5b612751868387016122de565b9350602085013591508082111561276757600080fd5b506123a8858286016122de565b60008060008060008060c0878903121561278d57600080fd5b86359550602087013567ffffffffffffffff808211156127ac57600080fd5b6127b88a838b016122de565b965060408901359150808211156127ce57600080fd5b6127da8a838b016122de565b955060608901359150808211156127f057600080fd5b6127fc8a838b016122de565b945061280a60808a016123cb565b935060a089013591508082111561282057600080fd5b5061282d89828a016122de565b9150509295509295509295565b60008060006060848603121561284f57600080fd5b612858846123cb565b9250612866602085016123cb565b9150612874604085016123cb565b90509250925092565b600181811c9082168061289157607f821691505b6020821081036128b157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516128c9818460208701612265565b9190910192915050565b6000602082840312156128e557600080fd5b5051919050565b82815260406020820152600061217e6040830184612289565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060018060a01b038086168352606060208401526129bf6060840186612289565b9150808416604084015250949350505050565b60c0815260006129e560c0830189612289565b6001600160a01b0388811660208501528382036040850152612a078289612289565b63ffffffff9790971660608501529490941660808301525060a00152509392505050565b604081526000612a3e6040830185612289565b8281036020840152612a508185612289565b95945050505050565b63ffffffff60e01b84168152606060208201526000612a7b6060830185612289565b82810360408401526120fb8185612289565b6001600160a01b038316815260406020820181905260009061217e90830184612289565b60c081526000612ac460c0830189612289565b8281036020840152612ad68189612289565b6001600160a01b0397909716604084015250506001600160e01b031993909316606084015263ffffffff91909116608083015260a09091015292915050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff808316818103612b4457612b44612b15565b6001019392505050565b601f8211156108f057600081815260208120601f850160051c81016020861015612b755750805b601f850160051c820191505b81811015612b9457828155600101612b81565b505050505050565b815167ffffffffffffffff811115612bb657612bb66122c8565b612bca81612bc4845461287d565b84612b4e565b602080601f831160018114612bff5760008415612be75750858301515b600019600386901b1c1916600185901b178555612b94565b600085815260208120601f198616915b82811015612c2e57888601518255948401946001909101908401612c0f565b5085821015612c4c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000612a506060830184612289565b600060208284031215612c8d57600080fd5b8151801515811461202657600080fd5b60018060a01b03851681528360208201528260408201526080606082015260006120fb6080830184612289565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612d4d816017850160208801612265565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612d7e816028840160208801612265565b01602801949350505050565b808202811582820484141761070e5761070e612b15565b8082018082111561070e5761070e612b15565b634e487b7160e01b600052603260045260246000fd5b600081612dd957612dd9612b15565b50600019019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a42477a1d4ac7de52bc199afc2ebb581ba03c71adcabf8555be70f0ff462027a64736f6c63430008140033", } -// FunctionGatewayABI is the input ABI used to generate the binding from. -// Deprecated: Use FunctionGatewayMetaData.ABI instead. -var FunctionGatewayABI = FunctionGatewayMetaData.ABI +// SuccinctGatewayABI is the input ABI used to generate the binding from. +// Deprecated: Use SuccinctGatewayMetaData.ABI instead. +var SuccinctGatewayABI = SuccinctGatewayMetaData.ABI -// FunctionGatewayBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use FunctionGatewayMetaData.Bin instead. -var FunctionGatewayBin = FunctionGatewayMetaData.Bin +// SuccinctGatewayBin is the compiled bytecode used for deploying new contracts. +// Deprecated: Use SuccinctGatewayMetaData.Bin instead. +var SuccinctGatewayBin = SuccinctGatewayMetaData.Bin -// DeployFunctionGateway deploys a new Ethereum contract, binding an instance of FunctionGateway to it. -func DeployFunctionGateway(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *FunctionGateway, error) { - parsed, err := FunctionGatewayMetaData.GetAbi() +// DeploySuccinctGateway deploys a new Ethereum contract, binding an instance of SuccinctGateway to it. +func DeploySuccinctGateway(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SuccinctGateway, error) { + parsed, err := SuccinctGatewayMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } @@ -53,111 +53,111 @@ func DeployFunctionGateway(auth *bind.TransactOpts, backend bind.ContractBackend return common.Address{}, nil, nil, errors.New("GetABI returned nil") } - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(FunctionGatewayBin), backend) + address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SuccinctGatewayBin), backend) if err != nil { return common.Address{}, nil, nil, err } - return address, tx, &FunctionGateway{FunctionGatewayCaller: FunctionGatewayCaller{contract: contract}, FunctionGatewayTransactor: FunctionGatewayTransactor{contract: contract}, FunctionGatewayFilterer: FunctionGatewayFilterer{contract: contract}}, nil + return address, tx, &SuccinctGateway{SuccinctGatewayCaller: SuccinctGatewayCaller{contract: contract}, SuccinctGatewayTransactor: SuccinctGatewayTransactor{contract: contract}, SuccinctGatewayFilterer: SuccinctGatewayFilterer{contract: contract}}, nil } -// FunctionGateway is an auto generated Go binding around an Ethereum contract. -type FunctionGateway struct { - FunctionGatewayCaller // Read-only binding to the contract - FunctionGatewayTransactor // Write-only binding to the contract - FunctionGatewayFilterer // Log filterer for contract events +// SuccinctGateway is an auto generated Go binding around an Ethereum contract. +type SuccinctGateway struct { + SuccinctGatewayCaller // Read-only binding to the contract + SuccinctGatewayTransactor // Write-only binding to the contract + SuccinctGatewayFilterer // Log filterer for contract events } -// FunctionGatewayCaller is an auto generated read-only Go binding around an Ethereum contract. -type FunctionGatewayCaller struct { +// SuccinctGatewayCaller is an auto generated read-only Go binding around an Ethereum contract. +type SuccinctGatewayCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } -// FunctionGatewayTransactor is an auto generated write-only Go binding around an Ethereum contract. -type FunctionGatewayTransactor struct { +// SuccinctGatewayTransactor is an auto generated write-only Go binding around an Ethereum contract. +type SuccinctGatewayTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } -// FunctionGatewayFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type FunctionGatewayFilterer struct { +// SuccinctGatewayFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type SuccinctGatewayFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } -// FunctionGatewaySession is an auto generated Go binding around an Ethereum contract, +// SuccinctGatewaySession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. -type FunctionGatewaySession struct { - Contract *FunctionGateway // Generic contract binding to set the session for +type SuccinctGatewaySession struct { + Contract *SuccinctGateway // 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 } -// FunctionGatewayCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// SuccinctGatewayCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. -type FunctionGatewayCallerSession struct { - Contract *FunctionGatewayCaller // Generic contract caller binding to set the session for +type SuccinctGatewayCallerSession struct { + Contract *SuccinctGatewayCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } -// FunctionGatewayTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// SuccinctGatewayTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. -type FunctionGatewayTransactorSession struct { - Contract *FunctionGatewayTransactor // Generic contract transactor binding to set the session for +type SuccinctGatewayTransactorSession struct { + Contract *SuccinctGatewayTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } -// FunctionGatewayRaw is an auto generated low-level Go binding around an Ethereum contract. -type FunctionGatewayRaw struct { - Contract *FunctionGateway // Generic contract binding to access the raw methods on +// SuccinctGatewayRaw is an auto generated low-level Go binding around an Ethereum contract. +type SuccinctGatewayRaw struct { + Contract *SuccinctGateway // Generic contract binding to access the raw methods on } -// FunctionGatewayCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type FunctionGatewayCallerRaw struct { - Contract *FunctionGatewayCaller // Generic read-only contract binding to access the raw methods on +// SuccinctGatewayCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type SuccinctGatewayCallerRaw struct { + Contract *SuccinctGatewayCaller // Generic read-only contract binding to access the raw methods on } -// FunctionGatewayTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type FunctionGatewayTransactorRaw struct { - Contract *FunctionGatewayTransactor // Generic write-only contract binding to access the raw methods on +// SuccinctGatewayTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type SuccinctGatewayTransactorRaw struct { + Contract *SuccinctGatewayTransactor // Generic write-only contract binding to access the raw methods on } -// NewFunctionGateway creates a new instance of FunctionGateway, bound to a specific deployed contract. -func NewFunctionGateway(address common.Address, backend bind.ContractBackend) (*FunctionGateway, error) { - contract, err := bindFunctionGateway(address, backend, backend, backend) +// NewSuccinctGateway creates a new instance of SuccinctGateway, bound to a specific deployed contract. +func NewSuccinctGateway(address common.Address, backend bind.ContractBackend) (*SuccinctGateway, error) { + contract, err := bindSuccinctGateway(address, backend, backend, backend) if err != nil { return nil, err } - return &FunctionGateway{FunctionGatewayCaller: FunctionGatewayCaller{contract: contract}, FunctionGatewayTransactor: FunctionGatewayTransactor{contract: contract}, FunctionGatewayFilterer: FunctionGatewayFilterer{contract: contract}}, nil + return &SuccinctGateway{SuccinctGatewayCaller: SuccinctGatewayCaller{contract: contract}, SuccinctGatewayTransactor: SuccinctGatewayTransactor{contract: contract}, SuccinctGatewayFilterer: SuccinctGatewayFilterer{contract: contract}}, nil } -// NewFunctionGatewayCaller creates a new read-only instance of FunctionGateway, bound to a specific deployed contract. -func NewFunctionGatewayCaller(address common.Address, caller bind.ContractCaller) (*FunctionGatewayCaller, error) { - contract, err := bindFunctionGateway(address, caller, nil, nil) +// NewSuccinctGatewayCaller creates a new read-only instance of SuccinctGateway, bound to a specific deployed contract. +func NewSuccinctGatewayCaller(address common.Address, caller bind.ContractCaller) (*SuccinctGatewayCaller, error) { + contract, err := bindSuccinctGateway(address, caller, nil, nil) if err != nil { return nil, err } - return &FunctionGatewayCaller{contract: contract}, nil + return &SuccinctGatewayCaller{contract: contract}, nil } -// NewFunctionGatewayTransactor creates a new write-only instance of FunctionGateway, bound to a specific deployed contract. -func NewFunctionGatewayTransactor(address common.Address, transactor bind.ContractTransactor) (*FunctionGatewayTransactor, error) { - contract, err := bindFunctionGateway(address, nil, transactor, nil) +// NewSuccinctGatewayTransactor creates a new write-only instance of SuccinctGateway, bound to a specific deployed contract. +func NewSuccinctGatewayTransactor(address common.Address, transactor bind.ContractTransactor) (*SuccinctGatewayTransactor, error) { + contract, err := bindSuccinctGateway(address, nil, transactor, nil) if err != nil { return nil, err } - return &FunctionGatewayTransactor{contract: contract}, nil + return &SuccinctGatewayTransactor{contract: contract}, nil } -// NewFunctionGatewayFilterer creates a new log filterer instance of FunctionGateway, bound to a specific deployed contract. -func NewFunctionGatewayFilterer(address common.Address, filterer bind.ContractFilterer) (*FunctionGatewayFilterer, error) { - contract, err := bindFunctionGateway(address, nil, nil, filterer) +// NewSuccinctGatewayFilterer creates a new log filterer instance of SuccinctGateway, bound to a specific deployed contract. +func NewSuccinctGatewayFilterer(address common.Address, filterer bind.ContractFilterer) (*SuccinctGatewayFilterer, error) { + contract, err := bindSuccinctGateway(address, nil, nil, filterer) if err != nil { return nil, err } - return &FunctionGatewayFilterer{contract: contract}, nil + return &SuccinctGatewayFilterer{contract: contract}, nil } -// bindFunctionGateway binds a generic wrapper to an already deployed contract. -func bindFunctionGateway(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := FunctionGatewayMetaData.GetAbi() +// bindSuccinctGateway binds a generic wrapper to an already deployed contract. +func bindSuccinctGateway(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := SuccinctGatewayMetaData.GetAbi() if err != nil { return nil, err } @@ -168,46 +168,46 @@ func bindFunctionGateway(address common.Address, caller bind.ContractCaller, tra // 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 (_FunctionGateway *FunctionGatewayRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _FunctionGateway.Contract.FunctionGatewayCaller.contract.Call(opts, result, method, params...) +func (_SuccinctGateway *SuccinctGatewayRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _SuccinctGateway.Contract.SuccinctGatewayCaller.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 (_FunctionGateway *FunctionGatewayRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _FunctionGateway.Contract.FunctionGatewayTransactor.contract.Transfer(opts) +func (_SuccinctGateway *SuccinctGatewayRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _SuccinctGateway.Contract.SuccinctGatewayTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. -func (_FunctionGateway *FunctionGatewayRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _FunctionGateway.Contract.FunctionGatewayTransactor.contract.Transact(opts, method, params...) +func (_SuccinctGateway *SuccinctGatewayRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _SuccinctGateway.Contract.SuccinctGatewayTransactor.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 (_FunctionGateway *FunctionGatewayCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _FunctionGateway.Contract.contract.Call(opts, result, method, params...) +func (_SuccinctGateway *SuccinctGatewayCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _SuccinctGateway.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 (_FunctionGateway *FunctionGatewayTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _FunctionGateway.Contract.contract.Transfer(opts) +func (_SuccinctGateway *SuccinctGatewayTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _SuccinctGateway.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. -func (_FunctionGateway *FunctionGatewayTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _FunctionGateway.Contract.contract.Transact(opts, method, params...) +func (_SuccinctGateway *SuccinctGatewayTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _SuccinctGateway.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 (_FunctionGateway *FunctionGatewayCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") + err := _SuccinctGateway.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") if err != nil { return *new([32]byte), err @@ -222,23 +222,23 @@ func (_FunctionGateway *FunctionGatewayCaller) DEFAULTADMINROLE(opts *bind.CallO // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) DEFAULTADMINROLE() ([32]byte, error) { - return _FunctionGateway.Contract.DEFAULTADMINROLE(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) DEFAULTADMINROLE() ([32]byte, error) { + return _SuccinctGateway.Contract.DEFAULTADMINROLE(&_SuccinctGateway.CallOpts) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCallerSession) DEFAULTADMINROLE() ([32]byte, error) { - return _FunctionGateway.Contract.DEFAULTADMINROLE(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) DEFAULTADMINROLE() ([32]byte, error) { + return _SuccinctGateway.Contract.DEFAULTADMINROLE(&_SuccinctGateway.CallOpts) } // GUARDIANROLE is a free data retrieval call binding the contract method 0x24ea54f4. // // Solidity: function GUARDIAN_ROLE() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCaller) GUARDIANROLE(opts *bind.CallOpts) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) GUARDIANROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "GUARDIAN_ROLE") + err := _SuccinctGateway.contract.Call(opts, &out, "GUARDIAN_ROLE") if err != nil { return *new([32]byte), err @@ -253,23 +253,23 @@ func (_FunctionGateway *FunctionGatewayCaller) GUARDIANROLE(opts *bind.CallOpts) // GUARDIANROLE is a free data retrieval call binding the contract method 0x24ea54f4. // // Solidity: function GUARDIAN_ROLE() view returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) GUARDIANROLE() ([32]byte, error) { - return _FunctionGateway.Contract.GUARDIANROLE(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) GUARDIANROLE() ([32]byte, error) { + return _SuccinctGateway.Contract.GUARDIANROLE(&_SuccinctGateway.CallOpts) } // GUARDIANROLE is a free data retrieval call binding the contract method 0x24ea54f4. // // Solidity: function GUARDIAN_ROLE() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCallerSession) GUARDIANROLE() ([32]byte, error) { - return _FunctionGateway.Contract.GUARDIANROLE(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) GUARDIANROLE() ([32]byte, error) { + return _SuccinctGateway.Contract.GUARDIANROLE(&_SuccinctGateway.CallOpts) } // TIMELOCKROLE is a free data retrieval call binding the contract method 0xf288a2e2. // // Solidity: function TIMELOCK_ROLE() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCaller) TIMELOCKROLE(opts *bind.CallOpts) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) TIMELOCKROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "TIMELOCK_ROLE") + err := _SuccinctGateway.contract.Call(opts, &out, "TIMELOCK_ROLE") if err != nil { return *new([32]byte), err @@ -284,23 +284,23 @@ func (_FunctionGateway *FunctionGatewayCaller) TIMELOCKROLE(opts *bind.CallOpts) // TIMELOCKROLE is a free data retrieval call binding the contract method 0xf288a2e2. // // Solidity: function TIMELOCK_ROLE() view returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) TIMELOCKROLE() ([32]byte, error) { - return _FunctionGateway.Contract.TIMELOCKROLE(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) TIMELOCKROLE() ([32]byte, error) { + return _SuccinctGateway.Contract.TIMELOCKROLE(&_SuccinctGateway.CallOpts) } // TIMELOCKROLE is a free data retrieval call binding the contract method 0xf288a2e2. // // Solidity: function TIMELOCK_ROLE() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCallerSession) TIMELOCKROLE() ([32]byte, error) { - return _FunctionGateway.Contract.TIMELOCKROLE(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) TIMELOCKROLE() ([32]byte, error) { + return _SuccinctGateway.Contract.TIMELOCKROLE(&_SuccinctGateway.CallOpts) } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() pure returns(string) -func (_FunctionGateway *FunctionGatewayCaller) VERSION(opts *bind.CallOpts) (string, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) VERSION(opts *bind.CallOpts) (string, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "VERSION") + err := _SuccinctGateway.contract.Call(opts, &out, "VERSION") if err != nil { return *new(string), err @@ -315,23 +315,23 @@ func (_FunctionGateway *FunctionGatewayCaller) VERSION(opts *bind.CallOpts) (str // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() pure returns(string) -func (_FunctionGateway *FunctionGatewaySession) VERSION() (string, error) { - return _FunctionGateway.Contract.VERSION(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) VERSION() (string, error) { + return _SuccinctGateway.Contract.VERSION(&_SuccinctGateway.CallOpts) } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() pure returns(string) -func (_FunctionGateway *FunctionGatewayCallerSession) VERSION() (string, error) { - return _FunctionGateway.Contract.VERSION(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) VERSION() (string, error) { + return _SuccinctGateway.Contract.VERSION(&_SuccinctGateway.CallOpts) } // FeeVault is a free data retrieval call binding the contract method 0x478222c2. // // Solidity: function feeVault() view returns(address) -func (_FunctionGateway *FunctionGatewayCaller) FeeVault(opts *bind.CallOpts) (common.Address, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) FeeVault(opts *bind.CallOpts) (common.Address, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "feeVault") + err := _SuccinctGateway.contract.Call(opts, &out, "feeVault") if err != nil { return *new(common.Address), err @@ -346,23 +346,23 @@ func (_FunctionGateway *FunctionGatewayCaller) FeeVault(opts *bind.CallOpts) (co // FeeVault is a free data retrieval call binding the contract method 0x478222c2. // // Solidity: function feeVault() view returns(address) -func (_FunctionGateway *FunctionGatewaySession) FeeVault() (common.Address, error) { - return _FunctionGateway.Contract.FeeVault(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) FeeVault() (common.Address, error) { + return _SuccinctGateway.Contract.FeeVault(&_SuccinctGateway.CallOpts) } // FeeVault is a free data retrieval call binding the contract method 0x478222c2. // // Solidity: function feeVault() view returns(address) -func (_FunctionGateway *FunctionGatewayCallerSession) FeeVault() (common.Address, error) { - return _FunctionGateway.Contract.FeeVault(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) FeeVault() (common.Address, error) { + return _SuccinctGateway.Contract.FeeVault(&_SuccinctGateway.CallOpts) } // GetFunctionId is a free data retrieval call binding the contract method 0x9538f56f. // // Solidity: function getFunctionId(address _owner, string _name) pure returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewayCaller) GetFunctionId(opts *bind.CallOpts, _owner common.Address, _name string) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) GetFunctionId(opts *bind.CallOpts, _owner common.Address, _name string) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "getFunctionId", _owner, _name) + err := _SuccinctGateway.contract.Call(opts, &out, "getFunctionId", _owner, _name) if err != nil { return *new([32]byte), err @@ -377,23 +377,23 @@ func (_FunctionGateway *FunctionGatewayCaller) GetFunctionId(opts *bind.CallOpts // GetFunctionId is a free data retrieval call binding the contract method 0x9538f56f. // // Solidity: function getFunctionId(address _owner, string _name) pure returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewaySession) GetFunctionId(_owner common.Address, _name string) ([32]byte, error) { - return _FunctionGateway.Contract.GetFunctionId(&_FunctionGateway.CallOpts, _owner, _name) +func (_SuccinctGateway *SuccinctGatewaySession) GetFunctionId(_owner common.Address, _name string) ([32]byte, error) { + return _SuccinctGateway.Contract.GetFunctionId(&_SuccinctGateway.CallOpts, _owner, _name) } // GetFunctionId is a free data retrieval call binding the contract method 0x9538f56f. // // Solidity: function getFunctionId(address _owner, string _name) pure returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewayCallerSession) GetFunctionId(_owner common.Address, _name string) ([32]byte, error) { - return _FunctionGateway.Contract.GetFunctionId(&_FunctionGateway.CallOpts, _owner, _name) +func (_SuccinctGateway *SuccinctGatewayCallerSession) GetFunctionId(_owner common.Address, _name string) ([32]byte, error) { + return _SuccinctGateway.Contract.GetFunctionId(&_SuccinctGateway.CallOpts, _owner, _name) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "getRoleAdmin", role) + err := _SuccinctGateway.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err @@ -408,23 +408,23 @@ func (_FunctionGateway *FunctionGatewayCaller) GetRoleAdmin(opts *bind.CallOpts, // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) GetRoleAdmin(role [32]byte) ([32]byte, error) { - return _FunctionGateway.Contract.GetRoleAdmin(&_FunctionGateway.CallOpts, role) +func (_SuccinctGateway *SuccinctGatewaySession) GetRoleAdmin(role [32]byte) ([32]byte, error) { + return _SuccinctGateway.Contract.GetRoleAdmin(&_SuccinctGateway.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { - return _FunctionGateway.Contract.GetRoleAdmin(&_FunctionGateway.CallOpts, role) +func (_SuccinctGateway *SuccinctGatewayCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { + return _SuccinctGateway.Contract.GetRoleAdmin(&_SuccinctGateway.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) -func (_FunctionGateway *FunctionGatewayCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "hasRole", role, account) + err := _SuccinctGateway.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err @@ -439,23 +439,23 @@ func (_FunctionGateway *FunctionGatewayCaller) HasRole(opts *bind.CallOpts, role // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) -func (_FunctionGateway *FunctionGatewaySession) HasRole(role [32]byte, account common.Address) (bool, error) { - return _FunctionGateway.Contract.HasRole(&_FunctionGateway.CallOpts, role, account) +func (_SuccinctGateway *SuccinctGatewaySession) HasRole(role [32]byte, account common.Address) (bool, error) { + return _SuccinctGateway.Contract.HasRole(&_SuccinctGateway.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 (_FunctionGateway *FunctionGatewayCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { - return _FunctionGateway.Contract.HasRole(&_FunctionGateway.CallOpts, role, account) +func (_SuccinctGateway *SuccinctGatewayCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { + return _SuccinctGateway.Contract.HasRole(&_SuccinctGateway.CallOpts, role, account) } // IsCallback is a free data retrieval call binding the contract method 0x05d7c1cf. // // Solidity: function isCallback() view returns(bool) -func (_FunctionGateway *FunctionGatewayCaller) IsCallback(opts *bind.CallOpts) (bool, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) IsCallback(opts *bind.CallOpts) (bool, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "isCallback") + err := _SuccinctGateway.contract.Call(opts, &out, "isCallback") if err != nil { return *new(bool), err @@ -470,23 +470,23 @@ func (_FunctionGateway *FunctionGatewayCaller) IsCallback(opts *bind.CallOpts) ( // IsCallback is a free data retrieval call binding the contract method 0x05d7c1cf. // // Solidity: function isCallback() view returns(bool) -func (_FunctionGateway *FunctionGatewaySession) IsCallback() (bool, error) { - return _FunctionGateway.Contract.IsCallback(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) IsCallback() (bool, error) { + return _SuccinctGateway.Contract.IsCallback(&_SuccinctGateway.CallOpts) } // IsCallback is a free data retrieval call binding the contract method 0x05d7c1cf. // // Solidity: function isCallback() view returns(bool) -func (_FunctionGateway *FunctionGatewayCallerSession) IsCallback() (bool, error) { - return _FunctionGateway.Contract.IsCallback(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) IsCallback() (bool, error) { + return _SuccinctGateway.Contract.IsCallback(&_SuccinctGateway.CallOpts) } // Nonce is a free data retrieval call binding the contract method 0xaffed0e0. // // Solidity: function nonce() view returns(uint32) -func (_FunctionGateway *FunctionGatewayCaller) Nonce(opts *bind.CallOpts) (uint32, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) Nonce(opts *bind.CallOpts) (uint32, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "nonce") + err := _SuccinctGateway.contract.Call(opts, &out, "nonce") if err != nil { return *new(uint32), err @@ -501,23 +501,23 @@ func (_FunctionGateway *FunctionGatewayCaller) Nonce(opts *bind.CallOpts) (uint3 // Nonce is a free data retrieval call binding the contract method 0xaffed0e0. // // Solidity: function nonce() view returns(uint32) -func (_FunctionGateway *FunctionGatewaySession) Nonce() (uint32, error) { - return _FunctionGateway.Contract.Nonce(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) Nonce() (uint32, error) { + return _SuccinctGateway.Contract.Nonce(&_SuccinctGateway.CallOpts) } // Nonce is a free data retrieval call binding the contract method 0xaffed0e0. // // Solidity: function nonce() view returns(uint32) -func (_FunctionGateway *FunctionGatewayCallerSession) Nonce() (uint32, error) { - return _FunctionGateway.Contract.Nonce(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) Nonce() (uint32, error) { + return _SuccinctGateway.Contract.Nonce(&_SuccinctGateway.CallOpts) } // ProxiableUUID is a free data retrieval call binding the contract method 0x52d1902d. // // Solidity: function proxiableUUID() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCaller) ProxiableUUID(opts *bind.CallOpts) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) ProxiableUUID(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "proxiableUUID") + err := _SuccinctGateway.contract.Call(opts, &out, "proxiableUUID") if err != nil { return *new([32]byte), err @@ -532,23 +532,23 @@ func (_FunctionGateway *FunctionGatewayCaller) ProxiableUUID(opts *bind.CallOpts // ProxiableUUID is a free data retrieval call binding the contract method 0x52d1902d. // // Solidity: function proxiableUUID() view returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) ProxiableUUID() ([32]byte, error) { - return _FunctionGateway.Contract.ProxiableUUID(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) ProxiableUUID() ([32]byte, error) { + return _SuccinctGateway.Contract.ProxiableUUID(&_SuccinctGateway.CallOpts) } // ProxiableUUID is a free data retrieval call binding the contract method 0x52d1902d. // // Solidity: function proxiableUUID() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCallerSession) ProxiableUUID() ([32]byte, error) { - return _FunctionGateway.Contract.ProxiableUUID(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) ProxiableUUID() ([32]byte, error) { + return _SuccinctGateway.Contract.ProxiableUUID(&_SuccinctGateway.CallOpts) } // Requests is a free data retrieval call binding the contract method 0x0ab469b0. // // Solidity: function requests(uint32 ) view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCaller) Requests(opts *bind.CallOpts, arg0 uint32) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) Requests(opts *bind.CallOpts, arg0 uint32) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "requests", arg0) + err := _SuccinctGateway.contract.Call(opts, &out, "requests", arg0) if err != nil { return *new([32]byte), err @@ -563,23 +563,23 @@ func (_FunctionGateway *FunctionGatewayCaller) Requests(opts *bind.CallOpts, arg // Requests is a free data retrieval call binding the contract method 0x0ab469b0. // // Solidity: function requests(uint32 ) view returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) Requests(arg0 uint32) ([32]byte, error) { - return _FunctionGateway.Contract.Requests(&_FunctionGateway.CallOpts, arg0) +func (_SuccinctGateway *SuccinctGatewaySession) Requests(arg0 uint32) ([32]byte, error) { + return _SuccinctGateway.Contract.Requests(&_SuccinctGateway.CallOpts, arg0) } // Requests is a free data retrieval call binding the contract method 0x0ab469b0. // // Solidity: function requests(uint32 ) view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCallerSession) Requests(arg0 uint32) ([32]byte, error) { - return _FunctionGateway.Contract.Requests(&_FunctionGateway.CallOpts, arg0) +func (_SuccinctGateway *SuccinctGatewayCallerSession) Requests(arg0 uint32) ([32]byte, error) { + return _SuccinctGateway.Contract.Requests(&_SuccinctGateway.CallOpts, arg0) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) -func (_FunctionGateway *FunctionGatewayCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "supportsInterface", interfaceId) + err := _SuccinctGateway.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err @@ -594,23 +594,23 @@ func (_FunctionGateway *FunctionGatewayCaller) SupportsInterface(opts *bind.Call // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) -func (_FunctionGateway *FunctionGatewaySession) SupportsInterface(interfaceId [4]byte) (bool, error) { - return _FunctionGateway.Contract.SupportsInterface(&_FunctionGateway.CallOpts, interfaceId) +func (_SuccinctGateway *SuccinctGatewaySession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _SuccinctGateway.Contract.SupportsInterface(&_SuccinctGateway.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) -func (_FunctionGateway *FunctionGatewayCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { - return _FunctionGateway.Contract.SupportsInterface(&_FunctionGateway.CallOpts, interfaceId) +func (_SuccinctGateway *SuccinctGatewayCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _SuccinctGateway.Contract.SupportsInterface(&_SuccinctGateway.CallOpts, interfaceId) } // VerifiedCall is a free data retrieval call binding the contract method 0x176e62fd. // // Solidity: function verifiedCall(bytes32 _functionId, bytes _input) view returns(bytes) -func (_FunctionGateway *FunctionGatewayCaller) VerifiedCall(opts *bind.CallOpts, _functionId [32]byte, _input []byte) ([]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) VerifiedCall(opts *bind.CallOpts, _functionId [32]byte, _input []byte) ([]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "verifiedCall", _functionId, _input) + err := _SuccinctGateway.contract.Call(opts, &out, "verifiedCall", _functionId, _input) if err != nil { return *new([]byte), err @@ -625,23 +625,23 @@ func (_FunctionGateway *FunctionGatewayCaller) VerifiedCall(opts *bind.CallOpts, // VerifiedCall is a free data retrieval call binding the contract method 0x176e62fd. // // Solidity: function verifiedCall(bytes32 _functionId, bytes _input) view returns(bytes) -func (_FunctionGateway *FunctionGatewaySession) VerifiedCall(_functionId [32]byte, _input []byte) ([]byte, error) { - return _FunctionGateway.Contract.VerifiedCall(&_FunctionGateway.CallOpts, _functionId, _input) +func (_SuccinctGateway *SuccinctGatewaySession) VerifiedCall(_functionId [32]byte, _input []byte) ([]byte, error) { + return _SuccinctGateway.Contract.VerifiedCall(&_SuccinctGateway.CallOpts, _functionId, _input) } // VerifiedCall is a free data retrieval call binding the contract method 0x176e62fd. // // Solidity: function verifiedCall(bytes32 _functionId, bytes _input) view returns(bytes) -func (_FunctionGateway *FunctionGatewayCallerSession) VerifiedCall(_functionId [32]byte, _input []byte) ([]byte, error) { - return _FunctionGateway.Contract.VerifiedCall(&_FunctionGateway.CallOpts, _functionId, _input) +func (_SuccinctGateway *SuccinctGatewayCallerSession) VerifiedCall(_functionId [32]byte, _input []byte) ([]byte, error) { + return _SuccinctGateway.Contract.VerifiedCall(&_SuccinctGateway.CallOpts, _functionId, _input) } // VerifiedFunctionId is a free data retrieval call binding the contract method 0x8157ce2b. // // Solidity: function verifiedFunctionId() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCaller) VerifiedFunctionId(opts *bind.CallOpts) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) VerifiedFunctionId(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "verifiedFunctionId") + err := _SuccinctGateway.contract.Call(opts, &out, "verifiedFunctionId") if err != nil { return *new([32]byte), err @@ -656,23 +656,23 @@ func (_FunctionGateway *FunctionGatewayCaller) VerifiedFunctionId(opts *bind.Cal // VerifiedFunctionId is a free data retrieval call binding the contract method 0x8157ce2b. // // Solidity: function verifiedFunctionId() view returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) VerifiedFunctionId() ([32]byte, error) { - return _FunctionGateway.Contract.VerifiedFunctionId(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) VerifiedFunctionId() ([32]byte, error) { + return _SuccinctGateway.Contract.VerifiedFunctionId(&_SuccinctGateway.CallOpts) } // VerifiedFunctionId is a free data retrieval call binding the contract method 0x8157ce2b. // // Solidity: function verifiedFunctionId() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCallerSession) VerifiedFunctionId() ([32]byte, error) { - return _FunctionGateway.Contract.VerifiedFunctionId(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) VerifiedFunctionId() ([32]byte, error) { + return _SuccinctGateway.Contract.VerifiedFunctionId(&_SuccinctGateway.CallOpts) } // VerifiedInputHash is a free data retrieval call binding the contract method 0x80e0bbb0. // // Solidity: function verifiedInputHash() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCaller) VerifiedInputHash(opts *bind.CallOpts) ([32]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) VerifiedInputHash(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "verifiedInputHash") + err := _SuccinctGateway.contract.Call(opts, &out, "verifiedInputHash") if err != nil { return *new([32]byte), err @@ -687,23 +687,23 @@ func (_FunctionGateway *FunctionGatewayCaller) VerifiedInputHash(opts *bind.Call // VerifiedInputHash is a free data retrieval call binding the contract method 0x80e0bbb0. // // Solidity: function verifiedInputHash() view returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) VerifiedInputHash() ([32]byte, error) { - return _FunctionGateway.Contract.VerifiedInputHash(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) VerifiedInputHash() ([32]byte, error) { + return _SuccinctGateway.Contract.VerifiedInputHash(&_SuccinctGateway.CallOpts) } // VerifiedInputHash is a free data retrieval call binding the contract method 0x80e0bbb0. // // Solidity: function verifiedInputHash() view returns(bytes32) -func (_FunctionGateway *FunctionGatewayCallerSession) VerifiedInputHash() ([32]byte, error) { - return _FunctionGateway.Contract.VerifiedInputHash(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) VerifiedInputHash() ([32]byte, error) { + return _SuccinctGateway.Contract.VerifiedInputHash(&_SuccinctGateway.CallOpts) } // VerifiedOutput is a free data retrieval call binding the contract method 0x173869f0. // // Solidity: function verifiedOutput() view returns(bytes) -func (_FunctionGateway *FunctionGatewayCaller) VerifiedOutput(opts *bind.CallOpts) ([]byte, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) VerifiedOutput(opts *bind.CallOpts) ([]byte, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "verifiedOutput") + err := _SuccinctGateway.contract.Call(opts, &out, "verifiedOutput") if err != nil { return *new([]byte), err @@ -718,23 +718,23 @@ func (_FunctionGateway *FunctionGatewayCaller) VerifiedOutput(opts *bind.CallOpt // VerifiedOutput is a free data retrieval call binding the contract method 0x173869f0. // // Solidity: function verifiedOutput() view returns(bytes) -func (_FunctionGateway *FunctionGatewaySession) VerifiedOutput() ([]byte, error) { - return _FunctionGateway.Contract.VerifiedOutput(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewaySession) VerifiedOutput() ([]byte, error) { + return _SuccinctGateway.Contract.VerifiedOutput(&_SuccinctGateway.CallOpts) } // VerifiedOutput is a free data retrieval call binding the contract method 0x173869f0. // // Solidity: function verifiedOutput() view returns(bytes) -func (_FunctionGateway *FunctionGatewayCallerSession) VerifiedOutput() ([]byte, error) { - return _FunctionGateway.Contract.VerifiedOutput(&_FunctionGateway.CallOpts) +func (_SuccinctGateway *SuccinctGatewayCallerSession) VerifiedOutput() ([]byte, error) { + return _SuccinctGateway.Contract.VerifiedOutput(&_SuccinctGateway.CallOpts) } // VerifierOwners is a free data retrieval call binding the contract method 0x8bcfc3a0. // // Solidity: function verifierOwners(bytes32 ) view returns(address) -func (_FunctionGateway *FunctionGatewayCaller) VerifierOwners(opts *bind.CallOpts, arg0 [32]byte) (common.Address, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) VerifierOwners(opts *bind.CallOpts, arg0 [32]byte) (common.Address, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "verifierOwners", arg0) + err := _SuccinctGateway.contract.Call(opts, &out, "verifierOwners", arg0) if err != nil { return *new(common.Address), err @@ -749,23 +749,23 @@ func (_FunctionGateway *FunctionGatewayCaller) VerifierOwners(opts *bind.CallOpt // VerifierOwners is a free data retrieval call binding the contract method 0x8bcfc3a0. // // Solidity: function verifierOwners(bytes32 ) view returns(address) -func (_FunctionGateway *FunctionGatewaySession) VerifierOwners(arg0 [32]byte) (common.Address, error) { - return _FunctionGateway.Contract.VerifierOwners(&_FunctionGateway.CallOpts, arg0) +func (_SuccinctGateway *SuccinctGatewaySession) VerifierOwners(arg0 [32]byte) (common.Address, error) { + return _SuccinctGateway.Contract.VerifierOwners(&_SuccinctGateway.CallOpts, arg0) } // VerifierOwners is a free data retrieval call binding the contract method 0x8bcfc3a0. // // Solidity: function verifierOwners(bytes32 ) view returns(address) -func (_FunctionGateway *FunctionGatewayCallerSession) VerifierOwners(arg0 [32]byte) (common.Address, error) { - return _FunctionGateway.Contract.VerifierOwners(&_FunctionGateway.CallOpts, arg0) +func (_SuccinctGateway *SuccinctGatewayCallerSession) VerifierOwners(arg0 [32]byte) (common.Address, error) { + return _SuccinctGateway.Contract.VerifierOwners(&_SuccinctGateway.CallOpts, arg0) } // Verifiers is a free data retrieval call binding the contract method 0xefe1c950. // // Solidity: function verifiers(bytes32 ) view returns(address) -func (_FunctionGateway *FunctionGatewayCaller) Verifiers(opts *bind.CallOpts, arg0 [32]byte) (common.Address, error) { +func (_SuccinctGateway *SuccinctGatewayCaller) Verifiers(opts *bind.CallOpts, arg0 [32]byte) (common.Address, error) { var out []interface{} - err := _FunctionGateway.contract.Call(opts, &out, "verifiers", arg0) + err := _SuccinctGateway.contract.Call(opts, &out, "verifiers", arg0) if err != nil { return *new(common.Address), err @@ -780,314 +780,335 @@ func (_FunctionGateway *FunctionGatewayCaller) Verifiers(opts *bind.CallOpts, ar // Verifiers is a free data retrieval call binding the contract method 0xefe1c950. // // Solidity: function verifiers(bytes32 ) view returns(address) -func (_FunctionGateway *FunctionGatewaySession) Verifiers(arg0 [32]byte) (common.Address, error) { - return _FunctionGateway.Contract.Verifiers(&_FunctionGateway.CallOpts, arg0) +func (_SuccinctGateway *SuccinctGatewaySession) Verifiers(arg0 [32]byte) (common.Address, error) { + return _SuccinctGateway.Contract.Verifiers(&_SuccinctGateway.CallOpts, arg0) } // Verifiers is a free data retrieval call binding the contract method 0xefe1c950. // // Solidity: function verifiers(bytes32 ) view returns(address) -func (_FunctionGateway *FunctionGatewayCallerSession) Verifiers(arg0 [32]byte) (common.Address, error) { - return _FunctionGateway.Contract.Verifiers(&_FunctionGateway.CallOpts, arg0) +func (_SuccinctGateway *SuccinctGatewayCallerSession) Verifiers(arg0 [32]byte) (common.Address, error) { + return _SuccinctGateway.Contract.Verifiers(&_SuccinctGateway.CallOpts, arg0) } -// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x5c74ad56. +// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x61f846c9. // -// Solidity: function deployAndRegisterFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionGateway *FunctionGatewayTransactor) DeployAndRegisterFunction(opts *bind.TransactOpts, _bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "deployAndRegisterFunction", _bytecode, _name) +// Solidity: function deployAndRegisterFunction(address _owner, bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) +func (_SuccinctGateway *SuccinctGatewayTransactor) DeployAndRegisterFunction(opts *bind.TransactOpts, _owner common.Address, _bytecode []byte, _name string) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "deployAndRegisterFunction", _owner, _bytecode, _name) } -// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x5c74ad56. +// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x61f846c9. // -// Solidity: function deployAndRegisterFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionGateway *FunctionGatewaySession) DeployAndRegisterFunction(_bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionGateway.Contract.DeployAndRegisterFunction(&_FunctionGateway.TransactOpts, _bytecode, _name) +// Solidity: function deployAndRegisterFunction(address _owner, bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) +func (_SuccinctGateway *SuccinctGatewaySession) DeployAndRegisterFunction(_owner common.Address, _bytecode []byte, _name string) (*types.Transaction, error) { + return _SuccinctGateway.Contract.DeployAndRegisterFunction(&_SuccinctGateway.TransactOpts, _owner, _bytecode, _name) } -// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x5c74ad56. +// DeployAndRegisterFunction is a paid mutator transaction binding the contract method 0x61f846c9. // -// Solidity: function deployAndRegisterFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionGateway *FunctionGatewayTransactorSession) DeployAndRegisterFunction(_bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionGateway.Contract.DeployAndRegisterFunction(&_FunctionGateway.TransactOpts, _bytecode, _name) +// Solidity: function deployAndRegisterFunction(address _owner, bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) DeployAndRegisterFunction(_owner common.Address, _bytecode []byte, _name string) (*types.Transaction, error) { + return _SuccinctGateway.Contract.DeployAndRegisterFunction(&_SuccinctGateway.TransactOpts, _owner, _bytecode, _name) } // DeployAndUpdateFunction is a paid mutator transaction binding the contract method 0xb63755e5. // // Solidity: function deployAndUpdateFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionGateway *FunctionGatewayTransactor) DeployAndUpdateFunction(opts *bind.TransactOpts, _bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "deployAndUpdateFunction", _bytecode, _name) +func (_SuccinctGateway *SuccinctGatewayTransactor) DeployAndUpdateFunction(opts *bind.TransactOpts, _bytecode []byte, _name string) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "deployAndUpdateFunction", _bytecode, _name) } // DeployAndUpdateFunction is a paid mutator transaction binding the contract method 0xb63755e5. // // Solidity: function deployAndUpdateFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionGateway *FunctionGatewaySession) DeployAndUpdateFunction(_bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionGateway.Contract.DeployAndUpdateFunction(&_FunctionGateway.TransactOpts, _bytecode, _name) +func (_SuccinctGateway *SuccinctGatewaySession) DeployAndUpdateFunction(_bytecode []byte, _name string) (*types.Transaction, error) { + return _SuccinctGateway.Contract.DeployAndUpdateFunction(&_SuccinctGateway.TransactOpts, _bytecode, _name) } // DeployAndUpdateFunction is a paid mutator transaction binding the contract method 0xb63755e5. // // Solidity: function deployAndUpdateFunction(bytes _bytecode, string _name) returns(bytes32 functionId, address verifier) -func (_FunctionGateway *FunctionGatewayTransactorSession) DeployAndUpdateFunction(_bytecode []byte, _name string) (*types.Transaction, error) { - return _FunctionGateway.Contract.DeployAndUpdateFunction(&_FunctionGateway.TransactOpts, _bytecode, _name) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) DeployAndUpdateFunction(_bytecode []byte, _name string) (*types.Transaction, error) { + return _SuccinctGateway.Contract.DeployAndUpdateFunction(&_SuccinctGateway.TransactOpts, _bytecode, _name) } // FulfillCall is a paid mutator transaction binding the contract method 0xbac2a106. // // Solidity: function fulfillCall(bytes32 _functionId, bytes _input, bytes _output, bytes _proof, address _callbackAddress, bytes _callbackData) returns() -func (_FunctionGateway *FunctionGatewayTransactor) FulfillCall(opts *bind.TransactOpts, _functionId [32]byte, _input []byte, _output []byte, _proof []byte, _callbackAddress common.Address, _callbackData []byte) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "fulfillCall", _functionId, _input, _output, _proof, _callbackAddress, _callbackData) +func (_SuccinctGateway *SuccinctGatewayTransactor) FulfillCall(opts *bind.TransactOpts, _functionId [32]byte, _input []byte, _output []byte, _proof []byte, _callbackAddress common.Address, _callbackData []byte) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "fulfillCall", _functionId, _input, _output, _proof, _callbackAddress, _callbackData) } // FulfillCall is a paid mutator transaction binding the contract method 0xbac2a106. // // Solidity: function fulfillCall(bytes32 _functionId, bytes _input, bytes _output, bytes _proof, address _callbackAddress, bytes _callbackData) returns() -func (_FunctionGateway *FunctionGatewaySession) FulfillCall(_functionId [32]byte, _input []byte, _output []byte, _proof []byte, _callbackAddress common.Address, _callbackData []byte) (*types.Transaction, error) { - return _FunctionGateway.Contract.FulfillCall(&_FunctionGateway.TransactOpts, _functionId, _input, _output, _proof, _callbackAddress, _callbackData) +func (_SuccinctGateway *SuccinctGatewaySession) FulfillCall(_functionId [32]byte, _input []byte, _output []byte, _proof []byte, _callbackAddress common.Address, _callbackData []byte) (*types.Transaction, error) { + return _SuccinctGateway.Contract.FulfillCall(&_SuccinctGateway.TransactOpts, _functionId, _input, _output, _proof, _callbackAddress, _callbackData) } // FulfillCall is a paid mutator transaction binding the contract method 0xbac2a106. // // Solidity: function fulfillCall(bytes32 _functionId, bytes _input, bytes _output, bytes _proof, address _callbackAddress, bytes _callbackData) returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) FulfillCall(_functionId [32]byte, _input []byte, _output []byte, _proof []byte, _callbackAddress common.Address, _callbackData []byte) (*types.Transaction, error) { - return _FunctionGateway.Contract.FulfillCall(&_FunctionGateway.TransactOpts, _functionId, _input, _output, _proof, _callbackAddress, _callbackData) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) FulfillCall(_functionId [32]byte, _input []byte, _output []byte, _proof []byte, _callbackAddress common.Address, _callbackData []byte) (*types.Transaction, error) { + return _SuccinctGateway.Contract.FulfillCall(&_SuccinctGateway.TransactOpts, _functionId, _input, _output, _proof, _callbackAddress, _callbackData) } // FulfillCallback is a paid mutator transaction binding the contract method 0x78370ebd. // // Solidity: function fulfillCallback(uint32 _nonce, bytes32 _functionId, bytes32 _inputHash, address _callbackAddress, bytes4 _callbackSelector, uint32 _callbackGasLimit, bytes _context, bytes _output, bytes _proof) returns() -func (_FunctionGateway *FunctionGatewayTransactor) FulfillCallback(opts *bind.TransactOpts, _nonce uint32, _functionId [32]byte, _inputHash [32]byte, _callbackAddress common.Address, _callbackSelector [4]byte, _callbackGasLimit uint32, _context []byte, _output []byte, _proof []byte) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "fulfillCallback", _nonce, _functionId, _inputHash, _callbackAddress, _callbackSelector, _callbackGasLimit, _context, _output, _proof) +func (_SuccinctGateway *SuccinctGatewayTransactor) FulfillCallback(opts *bind.TransactOpts, _nonce uint32, _functionId [32]byte, _inputHash [32]byte, _callbackAddress common.Address, _callbackSelector [4]byte, _callbackGasLimit uint32, _context []byte, _output []byte, _proof []byte) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "fulfillCallback", _nonce, _functionId, _inputHash, _callbackAddress, _callbackSelector, _callbackGasLimit, _context, _output, _proof) } // FulfillCallback is a paid mutator transaction binding the contract method 0x78370ebd. // // Solidity: function fulfillCallback(uint32 _nonce, bytes32 _functionId, bytes32 _inputHash, address _callbackAddress, bytes4 _callbackSelector, uint32 _callbackGasLimit, bytes _context, bytes _output, bytes _proof) returns() -func (_FunctionGateway *FunctionGatewaySession) FulfillCallback(_nonce uint32, _functionId [32]byte, _inputHash [32]byte, _callbackAddress common.Address, _callbackSelector [4]byte, _callbackGasLimit uint32, _context []byte, _output []byte, _proof []byte) (*types.Transaction, error) { - return _FunctionGateway.Contract.FulfillCallback(&_FunctionGateway.TransactOpts, _nonce, _functionId, _inputHash, _callbackAddress, _callbackSelector, _callbackGasLimit, _context, _output, _proof) +func (_SuccinctGateway *SuccinctGatewaySession) FulfillCallback(_nonce uint32, _functionId [32]byte, _inputHash [32]byte, _callbackAddress common.Address, _callbackSelector [4]byte, _callbackGasLimit uint32, _context []byte, _output []byte, _proof []byte) (*types.Transaction, error) { + return _SuccinctGateway.Contract.FulfillCallback(&_SuccinctGateway.TransactOpts, _nonce, _functionId, _inputHash, _callbackAddress, _callbackSelector, _callbackGasLimit, _context, _output, _proof) } // FulfillCallback is a paid mutator transaction binding the contract method 0x78370ebd. // // Solidity: function fulfillCallback(uint32 _nonce, bytes32 _functionId, bytes32 _inputHash, address _callbackAddress, bytes4 _callbackSelector, uint32 _callbackGasLimit, bytes _context, bytes _output, bytes _proof) returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) FulfillCallback(_nonce uint32, _functionId [32]byte, _inputHash [32]byte, _callbackAddress common.Address, _callbackSelector [4]byte, _callbackGasLimit uint32, _context []byte, _output []byte, _proof []byte) (*types.Transaction, error) { - return _FunctionGateway.Contract.FulfillCallback(&_FunctionGateway.TransactOpts, _nonce, _functionId, _inputHash, _callbackAddress, _callbackSelector, _callbackGasLimit, _context, _output, _proof) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) FulfillCallback(_nonce uint32, _functionId [32]byte, _inputHash [32]byte, _callbackAddress common.Address, _callbackSelector [4]byte, _callbackGasLimit uint32, _context []byte, _output []byte, _proof []byte) (*types.Transaction, error) { + return _SuccinctGateway.Contract.FulfillCallback(&_SuccinctGateway.TransactOpts, _nonce, _functionId, _inputHash, _callbackAddress, _callbackSelector, _callbackGasLimit, _context, _output, _proof) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() -func (_FunctionGateway *FunctionGatewayTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "grantRole", role, account) +func (_SuccinctGateway *SuccinctGatewayTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.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 (_FunctionGateway *FunctionGatewaySession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.GrantRole(&_FunctionGateway.TransactOpts, role, account) +func (_SuccinctGateway *SuccinctGatewaySession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.GrantRole(&_SuccinctGateway.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.GrantRole(&_FunctionGateway.TransactOpts, role, account) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.GrantRole(&_SuccinctGateway.TransactOpts, role, account) } // Initialize is a paid mutator transaction binding the contract method 0xc0c53b8b. // // Solidity: function initialize(address _feeVault, address _timelock, address _guardian) returns() -func (_FunctionGateway *FunctionGatewayTransactor) Initialize(opts *bind.TransactOpts, _feeVault common.Address, _timelock common.Address, _guardian common.Address) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "initialize", _feeVault, _timelock, _guardian) +func (_SuccinctGateway *SuccinctGatewayTransactor) Initialize(opts *bind.TransactOpts, _feeVault common.Address, _timelock common.Address, _guardian common.Address) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "initialize", _feeVault, _timelock, _guardian) } // Initialize is a paid mutator transaction binding the contract method 0xc0c53b8b. // // Solidity: function initialize(address _feeVault, address _timelock, address _guardian) returns() -func (_FunctionGateway *FunctionGatewaySession) Initialize(_feeVault common.Address, _timelock common.Address, _guardian common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.Initialize(&_FunctionGateway.TransactOpts, _feeVault, _timelock, _guardian) +func (_SuccinctGateway *SuccinctGatewaySession) Initialize(_feeVault common.Address, _timelock common.Address, _guardian common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.Initialize(&_SuccinctGateway.TransactOpts, _feeVault, _timelock, _guardian) } // Initialize is a paid mutator transaction binding the contract method 0xc0c53b8b. // // Solidity: function initialize(address _feeVault, address _timelock, address _guardian) returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) Initialize(_feeVault common.Address, _timelock common.Address, _guardian common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.Initialize(&_FunctionGateway.TransactOpts, _feeVault, _timelock, _guardian) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) Initialize(_feeVault common.Address, _timelock common.Address, _guardian common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.Initialize(&_SuccinctGateway.TransactOpts, _feeVault, _timelock, _guardian) } -// RegisterFunction is a paid mutator transaction binding the contract method 0x68ff41b1. +// RegisterFunction is a paid mutator transaction binding the contract method 0x40651ac1. // -// Solidity: function registerFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewayTransactor) RegisterFunction(opts *bind.TransactOpts, _verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "registerFunction", _verifier, _name) +// Solidity: function registerFunction(address _owner, address _verifier, string _name) returns(bytes32 functionId) +func (_SuccinctGateway *SuccinctGatewayTransactor) RegisterFunction(opts *bind.TransactOpts, _owner common.Address, _verifier common.Address, _name string) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "registerFunction", _owner, _verifier, _name) } -// RegisterFunction is a paid mutator transaction binding the contract method 0x68ff41b1. +// RegisterFunction is a paid mutator transaction binding the contract method 0x40651ac1. // -// Solidity: function registerFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewaySession) RegisterFunction(_verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionGateway.Contract.RegisterFunction(&_FunctionGateway.TransactOpts, _verifier, _name) +// Solidity: function registerFunction(address _owner, address _verifier, string _name) returns(bytes32 functionId) +func (_SuccinctGateway *SuccinctGatewaySession) RegisterFunction(_owner common.Address, _verifier common.Address, _name string) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RegisterFunction(&_SuccinctGateway.TransactOpts, _owner, _verifier, _name) } -// RegisterFunction is a paid mutator transaction binding the contract method 0x68ff41b1. +// RegisterFunction is a paid mutator transaction binding the contract method 0x40651ac1. // -// Solidity: function registerFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewayTransactorSession) RegisterFunction(_verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionGateway.Contract.RegisterFunction(&_FunctionGateway.TransactOpts, _verifier, _name) +// Solidity: function registerFunction(address _owner, address _verifier, string _name) returns(bytes32 functionId) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) RegisterFunction(_owner common.Address, _verifier common.Address, _name string) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RegisterFunction(&_SuccinctGateway.TransactOpts, _owner, _verifier, _name) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() -func (_FunctionGateway *FunctionGatewayTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "renounceRole", role, account) +func (_SuccinctGateway *SuccinctGatewayTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.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 (_FunctionGateway *FunctionGatewaySession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.RenounceRole(&_FunctionGateway.TransactOpts, role, account) +func (_SuccinctGateway *SuccinctGatewaySession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RenounceRole(&_SuccinctGateway.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address account) returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.RenounceRole(&_FunctionGateway.TransactOpts, role, account) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RenounceRole(&_SuccinctGateway.TransactOpts, role, account) } // RequestCall is a paid mutator transaction binding the contract method 0x436a61d5. // // Solidity: function requestCall(bytes32 _functionId, bytes _input, address _entryAddress, bytes _entryCalldata, uint32 _entryGasLimit) payable returns() -func (_FunctionGateway *FunctionGatewayTransactor) RequestCall(opts *bind.TransactOpts, _functionId [32]byte, _input []byte, _entryAddress common.Address, _entryCalldata []byte, _entryGasLimit uint32) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "requestCall", _functionId, _input, _entryAddress, _entryCalldata, _entryGasLimit) +func (_SuccinctGateway *SuccinctGatewayTransactor) RequestCall(opts *bind.TransactOpts, _functionId [32]byte, _input []byte, _entryAddress common.Address, _entryCalldata []byte, _entryGasLimit uint32) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "requestCall", _functionId, _input, _entryAddress, _entryCalldata, _entryGasLimit) } // RequestCall is a paid mutator transaction binding the contract method 0x436a61d5. // // Solidity: function requestCall(bytes32 _functionId, bytes _input, address _entryAddress, bytes _entryCalldata, uint32 _entryGasLimit) payable returns() -func (_FunctionGateway *FunctionGatewaySession) RequestCall(_functionId [32]byte, _input []byte, _entryAddress common.Address, _entryCalldata []byte, _entryGasLimit uint32) (*types.Transaction, error) { - return _FunctionGateway.Contract.RequestCall(&_FunctionGateway.TransactOpts, _functionId, _input, _entryAddress, _entryCalldata, _entryGasLimit) +func (_SuccinctGateway *SuccinctGatewaySession) RequestCall(_functionId [32]byte, _input []byte, _entryAddress common.Address, _entryCalldata []byte, _entryGasLimit uint32) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RequestCall(&_SuccinctGateway.TransactOpts, _functionId, _input, _entryAddress, _entryCalldata, _entryGasLimit) } // RequestCall is a paid mutator transaction binding the contract method 0x436a61d5. // // Solidity: function requestCall(bytes32 _functionId, bytes _input, address _entryAddress, bytes _entryCalldata, uint32 _entryGasLimit) payable returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) RequestCall(_functionId [32]byte, _input []byte, _entryAddress common.Address, _entryCalldata []byte, _entryGasLimit uint32) (*types.Transaction, error) { - return _FunctionGateway.Contract.RequestCall(&_FunctionGateway.TransactOpts, _functionId, _input, _entryAddress, _entryCalldata, _entryGasLimit) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) RequestCall(_functionId [32]byte, _input []byte, _entryAddress common.Address, _entryCalldata []byte, _entryGasLimit uint32) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RequestCall(&_SuccinctGateway.TransactOpts, _functionId, _input, _entryAddress, _entryCalldata, _entryGasLimit) } // RequestCallback is a paid mutator transaction binding the contract method 0xb3f04fdf. // // Solidity: function requestCallback(bytes32 _functionId, bytes _input, bytes _context, bytes4 _callbackSelector, uint32 _callbackGasLimit) payable returns(bytes32) -func (_FunctionGateway *FunctionGatewayTransactor) RequestCallback(opts *bind.TransactOpts, _functionId [32]byte, _input []byte, _context []byte, _callbackSelector [4]byte, _callbackGasLimit uint32) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "requestCallback", _functionId, _input, _context, _callbackSelector, _callbackGasLimit) +func (_SuccinctGateway *SuccinctGatewayTransactor) RequestCallback(opts *bind.TransactOpts, _functionId [32]byte, _input []byte, _context []byte, _callbackSelector [4]byte, _callbackGasLimit uint32) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "requestCallback", _functionId, _input, _context, _callbackSelector, _callbackGasLimit) } // RequestCallback is a paid mutator transaction binding the contract method 0xb3f04fdf. // // Solidity: function requestCallback(bytes32 _functionId, bytes _input, bytes _context, bytes4 _callbackSelector, uint32 _callbackGasLimit) payable returns(bytes32) -func (_FunctionGateway *FunctionGatewaySession) RequestCallback(_functionId [32]byte, _input []byte, _context []byte, _callbackSelector [4]byte, _callbackGasLimit uint32) (*types.Transaction, error) { - return _FunctionGateway.Contract.RequestCallback(&_FunctionGateway.TransactOpts, _functionId, _input, _context, _callbackSelector, _callbackGasLimit) +func (_SuccinctGateway *SuccinctGatewaySession) RequestCallback(_functionId [32]byte, _input []byte, _context []byte, _callbackSelector [4]byte, _callbackGasLimit uint32) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RequestCallback(&_SuccinctGateway.TransactOpts, _functionId, _input, _context, _callbackSelector, _callbackGasLimit) } // RequestCallback is a paid mutator transaction binding the contract method 0xb3f04fdf. // // Solidity: function requestCallback(bytes32 _functionId, bytes _input, bytes _context, bytes4 _callbackSelector, uint32 _callbackGasLimit) payable returns(bytes32) -func (_FunctionGateway *FunctionGatewayTransactorSession) RequestCallback(_functionId [32]byte, _input []byte, _context []byte, _callbackSelector [4]byte, _callbackGasLimit uint32) (*types.Transaction, error) { - return _FunctionGateway.Contract.RequestCallback(&_FunctionGateway.TransactOpts, _functionId, _input, _context, _callbackSelector, _callbackGasLimit) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) RequestCallback(_functionId [32]byte, _input []byte, _context []byte, _callbackSelector [4]byte, _callbackGasLimit uint32) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RequestCallback(&_SuccinctGateway.TransactOpts, _functionId, _input, _context, _callbackSelector, _callbackGasLimit) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() -func (_FunctionGateway *FunctionGatewayTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "revokeRole", role, account) +func (_SuccinctGateway *SuccinctGatewayTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.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 (_FunctionGateway *FunctionGatewaySession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.RevokeRole(&_FunctionGateway.TransactOpts, role, account) +func (_SuccinctGateway *SuccinctGatewaySession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RevokeRole(&_SuccinctGateway.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.RevokeRole(&_FunctionGateway.TransactOpts, role, account) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.RevokeRole(&_SuccinctGateway.TransactOpts, role, account) +} + +// SetFeeVault is a paid mutator transaction binding the contract method 0xa591f97f. +// +// Solidity: function setFeeVault(address _feeVault) returns() +func (_SuccinctGateway *SuccinctGatewayTransactor) SetFeeVault(opts *bind.TransactOpts, _feeVault common.Address) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "setFeeVault", _feeVault) +} + +// SetFeeVault is a paid mutator transaction binding the contract method 0xa591f97f. +// +// Solidity: function setFeeVault(address _feeVault) returns() +func (_SuccinctGateway *SuccinctGatewaySession) SetFeeVault(_feeVault common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.SetFeeVault(&_SuccinctGateway.TransactOpts, _feeVault) +} + +// SetFeeVault is a paid mutator transaction binding the contract method 0xa591f97f. +// +// Solidity: function setFeeVault(address _feeVault) returns() +func (_SuccinctGateway *SuccinctGatewayTransactorSession) SetFeeVault(_feeVault common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.SetFeeVault(&_SuccinctGateway.TransactOpts, _feeVault) } // UpdateFunction is a paid mutator transaction binding the contract method 0xbd58c4bb. // // Solidity: function updateFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewayTransactor) UpdateFunction(opts *bind.TransactOpts, _verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "updateFunction", _verifier, _name) +func (_SuccinctGateway *SuccinctGatewayTransactor) UpdateFunction(opts *bind.TransactOpts, _verifier common.Address, _name string) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "updateFunction", _verifier, _name) } // UpdateFunction is a paid mutator transaction binding the contract method 0xbd58c4bb. // // Solidity: function updateFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewaySession) UpdateFunction(_verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionGateway.Contract.UpdateFunction(&_FunctionGateway.TransactOpts, _verifier, _name) +func (_SuccinctGateway *SuccinctGatewaySession) UpdateFunction(_verifier common.Address, _name string) (*types.Transaction, error) { + return _SuccinctGateway.Contract.UpdateFunction(&_SuccinctGateway.TransactOpts, _verifier, _name) } // UpdateFunction is a paid mutator transaction binding the contract method 0xbd58c4bb. // // Solidity: function updateFunction(address _verifier, string _name) returns(bytes32 functionId) -func (_FunctionGateway *FunctionGatewayTransactorSession) UpdateFunction(_verifier common.Address, _name string) (*types.Transaction, error) { - return _FunctionGateway.Contract.UpdateFunction(&_FunctionGateway.TransactOpts, _verifier, _name) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) UpdateFunction(_verifier common.Address, _name string) (*types.Transaction, error) { + return _SuccinctGateway.Contract.UpdateFunction(&_SuccinctGateway.TransactOpts, _verifier, _name) } // UpgradeTo is a paid mutator transaction binding the contract method 0x3659cfe6. // // Solidity: function upgradeTo(address newImplementation) returns() -func (_FunctionGateway *FunctionGatewayTransactor) UpgradeTo(opts *bind.TransactOpts, newImplementation common.Address) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "upgradeTo", newImplementation) +func (_SuccinctGateway *SuccinctGatewayTransactor) UpgradeTo(opts *bind.TransactOpts, newImplementation common.Address) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "upgradeTo", newImplementation) } // UpgradeTo is a paid mutator transaction binding the contract method 0x3659cfe6. // // Solidity: function upgradeTo(address newImplementation) returns() -func (_FunctionGateway *FunctionGatewaySession) UpgradeTo(newImplementation common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.UpgradeTo(&_FunctionGateway.TransactOpts, newImplementation) +func (_SuccinctGateway *SuccinctGatewaySession) UpgradeTo(newImplementation common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.UpgradeTo(&_SuccinctGateway.TransactOpts, newImplementation) } // UpgradeTo is a paid mutator transaction binding the contract method 0x3659cfe6. // // Solidity: function upgradeTo(address newImplementation) returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) UpgradeTo(newImplementation common.Address) (*types.Transaction, error) { - return _FunctionGateway.Contract.UpgradeTo(&_FunctionGateway.TransactOpts, newImplementation) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) UpgradeTo(newImplementation common.Address) (*types.Transaction, error) { + return _SuccinctGateway.Contract.UpgradeTo(&_SuccinctGateway.TransactOpts, newImplementation) } // UpgradeToAndCall is a paid mutator transaction binding the contract method 0x4f1ef286. // // Solidity: function upgradeToAndCall(address newImplementation, bytes data) payable returns() -func (_FunctionGateway *FunctionGatewayTransactor) UpgradeToAndCall(opts *bind.TransactOpts, newImplementation common.Address, data []byte) (*types.Transaction, error) { - return _FunctionGateway.contract.Transact(opts, "upgradeToAndCall", newImplementation, data) +func (_SuccinctGateway *SuccinctGatewayTransactor) UpgradeToAndCall(opts *bind.TransactOpts, newImplementation common.Address, data []byte) (*types.Transaction, error) { + return _SuccinctGateway.contract.Transact(opts, "upgradeToAndCall", newImplementation, data) } // UpgradeToAndCall is a paid mutator transaction binding the contract method 0x4f1ef286. // // Solidity: function upgradeToAndCall(address newImplementation, bytes data) payable returns() -func (_FunctionGateway *FunctionGatewaySession) UpgradeToAndCall(newImplementation common.Address, data []byte) (*types.Transaction, error) { - return _FunctionGateway.Contract.UpgradeToAndCall(&_FunctionGateway.TransactOpts, newImplementation, data) +func (_SuccinctGateway *SuccinctGatewaySession) UpgradeToAndCall(newImplementation common.Address, data []byte) (*types.Transaction, error) { + return _SuccinctGateway.Contract.UpgradeToAndCall(&_SuccinctGateway.TransactOpts, newImplementation, data) } // UpgradeToAndCall is a paid mutator transaction binding the contract method 0x4f1ef286. // // Solidity: function upgradeToAndCall(address newImplementation, bytes data) payable returns() -func (_FunctionGateway *FunctionGatewayTransactorSession) UpgradeToAndCall(newImplementation common.Address, data []byte) (*types.Transaction, error) { - return _FunctionGateway.Contract.UpgradeToAndCall(&_FunctionGateway.TransactOpts, newImplementation, data) +func (_SuccinctGateway *SuccinctGatewayTransactorSession) UpgradeToAndCall(newImplementation common.Address, data []byte) (*types.Transaction, error) { + return _SuccinctGateway.Contract.UpgradeToAndCall(&_SuccinctGateway.TransactOpts, newImplementation, data) } -// FunctionGatewayAdminChangedIterator is returned from FilterAdminChanged and is used to iterate over the raw logs and unpacked data for AdminChanged events raised by the FunctionGateway contract. -type FunctionGatewayAdminChangedIterator struct { - Event *FunctionGatewayAdminChanged // Event containing the contract specifics and raw log +// SuccinctGatewayAdminChangedIterator is returned from FilterAdminChanged and is used to iterate over the raw logs and unpacked data for AdminChanged events raised by the SuccinctGateway contract. +type SuccinctGatewayAdminChangedIterator struct { + Event *SuccinctGatewayAdminChanged // 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 @@ -1101,7 +1122,7 @@ type FunctionGatewayAdminChangedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayAdminChangedIterator) Next() bool { +func (it *SuccinctGatewayAdminChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1110,7 +1131,7 @@ func (it *FunctionGatewayAdminChangedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayAdminChanged) + it.Event = new(SuccinctGatewayAdminChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1125,7 +1146,7 @@ func (it *FunctionGatewayAdminChangedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayAdminChanged) + it.Event = new(SuccinctGatewayAdminChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1141,19 +1162,19 @@ func (it *FunctionGatewayAdminChangedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayAdminChangedIterator) Error() error { +func (it *SuccinctGatewayAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayAdminChangedIterator) Close() error { +func (it *SuccinctGatewayAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayAdminChanged represents a AdminChanged event raised by the FunctionGateway contract. -type FunctionGatewayAdminChanged struct { +// SuccinctGatewayAdminChanged represents a AdminChanged event raised by the SuccinctGateway contract. +type SuccinctGatewayAdminChanged struct { PreviousAdmin common.Address NewAdmin common.Address Raw types.Log // Blockchain specific contextual infos @@ -1162,21 +1183,21 @@ type FunctionGatewayAdminChanged struct { // FilterAdminChanged is a free log retrieval operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. // // Solidity: event AdminChanged(address previousAdmin, address newAdmin) -func (_FunctionGateway *FunctionGatewayFilterer) FilterAdminChanged(opts *bind.FilterOpts) (*FunctionGatewayAdminChangedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterAdminChanged(opts *bind.FilterOpts) (*SuccinctGatewayAdminChangedIterator, error) { - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "AdminChanged") + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "AdminChanged") if err != nil { return nil, err } - return &FunctionGatewayAdminChangedIterator{contract: _FunctionGateway.contract, event: "AdminChanged", logs: logs, sub: sub}, nil + return &SuccinctGatewayAdminChangedIterator{contract: _SuccinctGateway.contract, event: "AdminChanged", logs: logs, sub: sub}, nil } // WatchAdminChanged is a free log subscription operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. // // Solidity: event AdminChanged(address previousAdmin, address newAdmin) -func (_FunctionGateway *FunctionGatewayFilterer) WatchAdminChanged(opts *bind.WatchOpts, sink chan<- *FunctionGatewayAdminChanged) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchAdminChanged(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayAdminChanged) (event.Subscription, error) { - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "AdminChanged") + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "AdminChanged") if err != nil { return nil, err } @@ -1186,8 +1207,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchAdminChanged(opts *bind.Wa select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayAdminChanged) - if err := _FunctionGateway.contract.UnpackLog(event, "AdminChanged", log); err != nil { + event := new(SuccinctGatewayAdminChanged) + if err := _SuccinctGateway.contract.UnpackLog(event, "AdminChanged", log); err != nil { return err } event.Raw = log @@ -1211,18 +1232,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchAdminChanged(opts *bind.Wa // ParseAdminChanged is a log parse operation binding the contract event 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f. // // Solidity: event AdminChanged(address previousAdmin, address newAdmin) -func (_FunctionGateway *FunctionGatewayFilterer) ParseAdminChanged(log types.Log) (*FunctionGatewayAdminChanged, error) { - event := new(FunctionGatewayAdminChanged) - if err := _FunctionGateway.contract.UnpackLog(event, "AdminChanged", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseAdminChanged(log types.Log) (*SuccinctGatewayAdminChanged, error) { + event := new(SuccinctGatewayAdminChanged) + if err := _SuccinctGateway.contract.UnpackLog(event, "AdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayBeaconUpgradedIterator is returned from FilterBeaconUpgraded and is used to iterate over the raw logs and unpacked data for BeaconUpgraded events raised by the FunctionGateway contract. -type FunctionGatewayBeaconUpgradedIterator struct { - Event *FunctionGatewayBeaconUpgraded // Event containing the contract specifics and raw log +// SuccinctGatewayBeaconUpgradedIterator is returned from FilterBeaconUpgraded and is used to iterate over the raw logs and unpacked data for BeaconUpgraded events raised by the SuccinctGateway contract. +type SuccinctGatewayBeaconUpgradedIterator struct { + Event *SuccinctGatewayBeaconUpgraded // 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 @@ -1236,7 +1257,7 @@ type FunctionGatewayBeaconUpgradedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayBeaconUpgradedIterator) Next() bool { +func (it *SuccinctGatewayBeaconUpgradedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1245,7 +1266,7 @@ func (it *FunctionGatewayBeaconUpgradedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayBeaconUpgraded) + it.Event = new(SuccinctGatewayBeaconUpgraded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1260,7 +1281,7 @@ func (it *FunctionGatewayBeaconUpgradedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayBeaconUpgraded) + it.Event = new(SuccinctGatewayBeaconUpgraded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1276,19 +1297,19 @@ func (it *FunctionGatewayBeaconUpgradedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayBeaconUpgradedIterator) Error() error { +func (it *SuccinctGatewayBeaconUpgradedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayBeaconUpgradedIterator) Close() error { +func (it *SuccinctGatewayBeaconUpgradedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayBeaconUpgraded represents a BeaconUpgraded event raised by the FunctionGateway contract. -type FunctionGatewayBeaconUpgraded struct { +// SuccinctGatewayBeaconUpgraded represents a BeaconUpgraded event raised by the SuccinctGateway contract. +type SuccinctGatewayBeaconUpgraded struct { Beacon common.Address Raw types.Log // Blockchain specific contextual infos } @@ -1296,31 +1317,31 @@ type FunctionGatewayBeaconUpgraded struct { // FilterBeaconUpgraded is a free log retrieval operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. // // Solidity: event BeaconUpgraded(address indexed beacon) -func (_FunctionGateway *FunctionGatewayFilterer) FilterBeaconUpgraded(opts *bind.FilterOpts, beacon []common.Address) (*FunctionGatewayBeaconUpgradedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterBeaconUpgraded(opts *bind.FilterOpts, beacon []common.Address) (*SuccinctGatewayBeaconUpgradedIterator, error) { var beaconRule []interface{} for _, beaconItem := range beacon { beaconRule = append(beaconRule, beaconItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "BeaconUpgraded", beaconRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "BeaconUpgraded", beaconRule) if err != nil { return nil, err } - return &FunctionGatewayBeaconUpgradedIterator{contract: _FunctionGateway.contract, event: "BeaconUpgraded", logs: logs, sub: sub}, nil + return &SuccinctGatewayBeaconUpgradedIterator{contract: _SuccinctGateway.contract, event: "BeaconUpgraded", logs: logs, sub: sub}, nil } // WatchBeaconUpgraded is a free log subscription operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. // // Solidity: event BeaconUpgraded(address indexed beacon) -func (_FunctionGateway *FunctionGatewayFilterer) WatchBeaconUpgraded(opts *bind.WatchOpts, sink chan<- *FunctionGatewayBeaconUpgraded, beacon []common.Address) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchBeaconUpgraded(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayBeaconUpgraded, beacon []common.Address) (event.Subscription, error) { var beaconRule []interface{} for _, beaconItem := range beacon { beaconRule = append(beaconRule, beaconItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "BeaconUpgraded", beaconRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "BeaconUpgraded", beaconRule) if err != nil { return nil, err } @@ -1330,8 +1351,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchBeaconUpgraded(opts *bind. select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayBeaconUpgraded) - if err := _FunctionGateway.contract.UnpackLog(event, "BeaconUpgraded", log); err != nil { + event := new(SuccinctGatewayBeaconUpgraded) + if err := _SuccinctGateway.contract.UnpackLog(event, "BeaconUpgraded", log); err != nil { return err } event.Raw = log @@ -1355,18 +1376,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchBeaconUpgraded(opts *bind. // ParseBeaconUpgraded is a log parse operation binding the contract event 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e. // // Solidity: event BeaconUpgraded(address indexed beacon) -func (_FunctionGateway *FunctionGatewayFilterer) ParseBeaconUpgraded(log types.Log) (*FunctionGatewayBeaconUpgraded, error) { - event := new(FunctionGatewayBeaconUpgraded) - if err := _FunctionGateway.contract.UnpackLog(event, "BeaconUpgraded", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseBeaconUpgraded(log types.Log) (*SuccinctGatewayBeaconUpgraded, error) { + event := new(SuccinctGatewayBeaconUpgraded) + if err := _SuccinctGateway.contract.UnpackLog(event, "BeaconUpgraded", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayCallIterator is returned from FilterCall and is used to iterate over the raw logs and unpacked data for Call events raised by the FunctionGateway contract. -type FunctionGatewayCallIterator struct { - Event *FunctionGatewayCall // Event containing the contract specifics and raw log +// SuccinctGatewayCallIterator is returned from FilterCall and is used to iterate over the raw logs and unpacked data for Call events raised by the SuccinctGateway contract. +type SuccinctGatewayCallIterator struct { + Event *SuccinctGatewayCall // 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 @@ -1380,7 +1401,7 @@ type FunctionGatewayCallIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayCallIterator) Next() bool { +func (it *SuccinctGatewayCallIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1389,7 +1410,7 @@ func (it *FunctionGatewayCallIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayCall) + it.Event = new(SuccinctGatewayCall) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1404,7 +1425,7 @@ func (it *FunctionGatewayCallIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayCall) + it.Event = new(SuccinctGatewayCall) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1420,19 +1441,19 @@ func (it *FunctionGatewayCallIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayCallIterator) Error() error { +func (it *SuccinctGatewayCallIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayCallIterator) Close() error { +func (it *SuccinctGatewayCallIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayCall represents a Call event raised by the FunctionGateway contract. -type FunctionGatewayCall struct { +// SuccinctGatewayCall represents a Call event raised by the SuccinctGateway contract. +type SuccinctGatewayCall struct { FunctionId [32]byte InputHash [32]byte OutputHash [32]byte @@ -1442,31 +1463,31 @@ type FunctionGatewayCall struct { // FilterCall is a free log retrieval operation binding the contract event 0x41d7122d18af9f0c92f23bcea9d5fa416cadcd1ed2fc8e544a3c89b841ecfd15. // // Solidity: event Call(bytes32 indexed functionId, bytes32 inputHash, bytes32 outputHash) -func (_FunctionGateway *FunctionGatewayFilterer) FilterCall(opts *bind.FilterOpts, functionId [][32]byte) (*FunctionGatewayCallIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterCall(opts *bind.FilterOpts, functionId [][32]byte) (*SuccinctGatewayCallIterator, error) { var functionIdRule []interface{} for _, functionIdItem := range functionId { functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "Call", functionIdRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "Call", functionIdRule) if err != nil { return nil, err } - return &FunctionGatewayCallIterator{contract: _FunctionGateway.contract, event: "Call", logs: logs, sub: sub}, nil + return &SuccinctGatewayCallIterator{contract: _SuccinctGateway.contract, event: "Call", logs: logs, sub: sub}, nil } // WatchCall is a free log subscription operation binding the contract event 0x41d7122d18af9f0c92f23bcea9d5fa416cadcd1ed2fc8e544a3c89b841ecfd15. // // Solidity: event Call(bytes32 indexed functionId, bytes32 inputHash, bytes32 outputHash) -func (_FunctionGateway *FunctionGatewayFilterer) WatchCall(opts *bind.WatchOpts, sink chan<- *FunctionGatewayCall, functionId [][32]byte) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchCall(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayCall, functionId [][32]byte) (event.Subscription, error) { var functionIdRule []interface{} for _, functionIdItem := range functionId { functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "Call", functionIdRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "Call", functionIdRule) if err != nil { return nil, err } @@ -1476,8 +1497,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchCall(opts *bind.WatchOpts, select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayCall) - if err := _FunctionGateway.contract.UnpackLog(event, "Call", log); err != nil { + event := new(SuccinctGatewayCall) + if err := _SuccinctGateway.contract.UnpackLog(event, "Call", log); err != nil { return err } event.Raw = log @@ -1501,18 +1522,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchCall(opts *bind.WatchOpts, // ParseCall is a log parse operation binding the contract event 0x41d7122d18af9f0c92f23bcea9d5fa416cadcd1ed2fc8e544a3c89b841ecfd15. // // Solidity: event Call(bytes32 indexed functionId, bytes32 inputHash, bytes32 outputHash) -func (_FunctionGateway *FunctionGatewayFilterer) ParseCall(log types.Log) (*FunctionGatewayCall, error) { - event := new(FunctionGatewayCall) - if err := _FunctionGateway.contract.UnpackLog(event, "Call", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseCall(log types.Log) (*SuccinctGatewayCall, error) { + event := new(SuccinctGatewayCall) + if err := _SuccinctGateway.contract.UnpackLog(event, "Call", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayDeployedIterator is returned from FilterDeployed and is used to iterate over the raw logs and unpacked data for Deployed events raised by the FunctionGateway contract. -type FunctionGatewayDeployedIterator struct { - Event *FunctionGatewayDeployed // Event containing the contract specifics and raw log +// SuccinctGatewayDeployedIterator is returned from FilterDeployed and is used to iterate over the raw logs and unpacked data for Deployed events raised by the SuccinctGateway contract. +type SuccinctGatewayDeployedIterator struct { + Event *SuccinctGatewayDeployed // 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 @@ -1526,7 +1547,7 @@ type FunctionGatewayDeployedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayDeployedIterator) Next() bool { +func (it *SuccinctGatewayDeployedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1535,7 +1556,7 @@ func (it *FunctionGatewayDeployedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayDeployed) + it.Event = new(SuccinctGatewayDeployed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1550,7 +1571,7 @@ func (it *FunctionGatewayDeployedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayDeployed) + it.Event = new(SuccinctGatewayDeployed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1566,19 +1587,19 @@ func (it *FunctionGatewayDeployedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayDeployedIterator) Error() error { +func (it *SuccinctGatewayDeployedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayDeployedIterator) Close() error { +func (it *SuccinctGatewayDeployedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayDeployed represents a Deployed event raised by the FunctionGateway contract. -type FunctionGatewayDeployed struct { +// SuccinctGatewayDeployed represents a Deployed event raised by the SuccinctGateway contract. +type SuccinctGatewayDeployed struct { BytecodeHash [32]byte Salt [32]byte DeployedAddress common.Address @@ -1588,7 +1609,7 @@ type FunctionGatewayDeployed struct { // FilterDeployed is a free log retrieval operation binding the contract event 0x27b8e3132afa95254770e1c1d214eafde52bc47d1b6e1f5dfcbb380c3ca3f532. // // Solidity: event Deployed(bytes32 indexed bytecodeHash, bytes32 indexed salt, address indexed deployedAddress) -func (_FunctionGateway *FunctionGatewayFilterer) FilterDeployed(opts *bind.FilterOpts, bytecodeHash [][32]byte, salt [][32]byte, deployedAddress []common.Address) (*FunctionGatewayDeployedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterDeployed(opts *bind.FilterOpts, bytecodeHash [][32]byte, salt [][32]byte, deployedAddress []common.Address) (*SuccinctGatewayDeployedIterator, error) { var bytecodeHashRule []interface{} for _, bytecodeHashItem := range bytecodeHash { @@ -1603,17 +1624,17 @@ func (_FunctionGateway *FunctionGatewayFilterer) FilterDeployed(opts *bind.Filte deployedAddressRule = append(deployedAddressRule, deployedAddressItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "Deployed", bytecodeHashRule, saltRule, deployedAddressRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "Deployed", bytecodeHashRule, saltRule, deployedAddressRule) if err != nil { return nil, err } - return &FunctionGatewayDeployedIterator{contract: _FunctionGateway.contract, event: "Deployed", logs: logs, sub: sub}, nil + return &SuccinctGatewayDeployedIterator{contract: _SuccinctGateway.contract, event: "Deployed", logs: logs, sub: sub}, nil } // WatchDeployed is a free log subscription operation binding the contract event 0x27b8e3132afa95254770e1c1d214eafde52bc47d1b6e1f5dfcbb380c3ca3f532. // // Solidity: event Deployed(bytes32 indexed bytecodeHash, bytes32 indexed salt, address indexed deployedAddress) -func (_FunctionGateway *FunctionGatewayFilterer) WatchDeployed(opts *bind.WatchOpts, sink chan<- *FunctionGatewayDeployed, bytecodeHash [][32]byte, salt [][32]byte, deployedAddress []common.Address) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchDeployed(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayDeployed, bytecodeHash [][32]byte, salt [][32]byte, deployedAddress []common.Address) (event.Subscription, error) { var bytecodeHashRule []interface{} for _, bytecodeHashItem := range bytecodeHash { @@ -1628,7 +1649,7 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchDeployed(opts *bind.WatchO deployedAddressRule = append(deployedAddressRule, deployedAddressItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "Deployed", bytecodeHashRule, saltRule, deployedAddressRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "Deployed", bytecodeHashRule, saltRule, deployedAddressRule) if err != nil { return nil, err } @@ -1638,8 +1659,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchDeployed(opts *bind.WatchO select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayDeployed) - if err := _FunctionGateway.contract.UnpackLog(event, "Deployed", log); err != nil { + event := new(SuccinctGatewayDeployed) + if err := _SuccinctGateway.contract.UnpackLog(event, "Deployed", log); err != nil { return err } event.Raw = log @@ -1663,163 +1684,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchDeployed(opts *bind.WatchO // ParseDeployed is a log parse operation binding the contract event 0x27b8e3132afa95254770e1c1d214eafde52bc47d1b6e1f5dfcbb380c3ca3f532. // // Solidity: event Deployed(bytes32 indexed bytecodeHash, bytes32 indexed salt, address indexed deployedAddress) -func (_FunctionGateway *FunctionGatewayFilterer) ParseDeployed(log types.Log) (*FunctionGatewayDeployed, error) { - event := new(FunctionGatewayDeployed) - if err := _FunctionGateway.contract.UnpackLog(event, "Deployed", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// FunctionGatewayFunctionOwnerUpdatedIterator is returned from FilterFunctionOwnerUpdated and is used to iterate over the raw logs and unpacked data for FunctionOwnerUpdated events raised by the FunctionGateway contract. -type FunctionGatewayFunctionOwnerUpdatedIterator struct { - Event *FunctionGatewayFunctionOwnerUpdated // 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 *FunctionGatewayFunctionOwnerUpdatedIterator) 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(FunctionGatewayFunctionOwnerUpdated) - 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(FunctionGatewayFunctionOwnerUpdated) - 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 *FunctionGatewayFunctionOwnerUpdatedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *FunctionGatewayFunctionOwnerUpdatedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// FunctionGatewayFunctionOwnerUpdated represents a FunctionOwnerUpdated event raised by the FunctionGateway contract. -type FunctionGatewayFunctionOwnerUpdated struct { - FunctionId [32]byte - Owner common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterFunctionOwnerUpdated is a free log retrieval operation binding the contract event 0x376b0a13fca0286b5c7c73288ea980eb9d131fc8b996f7a46a49e0f90269aadf. -// -// Solidity: event FunctionOwnerUpdated(bytes32 indexed functionId, address owner) -func (_FunctionGateway *FunctionGatewayFilterer) FilterFunctionOwnerUpdated(opts *bind.FilterOpts, functionId [][32]byte) (*FunctionGatewayFunctionOwnerUpdatedIterator, error) { - - var functionIdRule []interface{} - for _, functionIdItem := range functionId { - functionIdRule = append(functionIdRule, functionIdItem) - } - - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "FunctionOwnerUpdated", functionIdRule) - if err != nil { - return nil, err - } - return &FunctionGatewayFunctionOwnerUpdatedIterator{contract: _FunctionGateway.contract, event: "FunctionOwnerUpdated", logs: logs, sub: sub}, nil -} - -// WatchFunctionOwnerUpdated is a free log subscription operation binding the contract event 0x376b0a13fca0286b5c7c73288ea980eb9d131fc8b996f7a46a49e0f90269aadf. -// -// Solidity: event FunctionOwnerUpdated(bytes32 indexed functionId, address owner) -func (_FunctionGateway *FunctionGatewayFilterer) WatchFunctionOwnerUpdated(opts *bind.WatchOpts, sink chan<- *FunctionGatewayFunctionOwnerUpdated, functionId [][32]byte) (event.Subscription, error) { - - var functionIdRule []interface{} - for _, functionIdItem := range functionId { - functionIdRule = append(functionIdRule, functionIdItem) - } - - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "FunctionOwnerUpdated", functionIdRule) - 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(FunctionGatewayFunctionOwnerUpdated) - if err := _FunctionGateway.contract.UnpackLog(event, "FunctionOwnerUpdated", 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 -} - -// ParseFunctionOwnerUpdated is a log parse operation binding the contract event 0x376b0a13fca0286b5c7c73288ea980eb9d131fc8b996f7a46a49e0f90269aadf. -// -// Solidity: event FunctionOwnerUpdated(bytes32 indexed functionId, address owner) -func (_FunctionGateway *FunctionGatewayFilterer) ParseFunctionOwnerUpdated(log types.Log) (*FunctionGatewayFunctionOwnerUpdated, error) { - event := new(FunctionGatewayFunctionOwnerUpdated) - if err := _FunctionGateway.contract.UnpackLog(event, "FunctionOwnerUpdated", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseDeployed(log types.Log) (*SuccinctGatewayDeployed, error) { + event := new(SuccinctGatewayDeployed) + if err := _SuccinctGateway.contract.UnpackLog(event, "Deployed", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayFunctionRegisteredIterator is returned from FilterFunctionRegistered and is used to iterate over the raw logs and unpacked data for FunctionRegistered events raised by the FunctionGateway contract. -type FunctionGatewayFunctionRegisteredIterator struct { - Event *FunctionGatewayFunctionRegistered // Event containing the contract specifics and raw log +// SuccinctGatewayFunctionRegisteredIterator is returned from FilterFunctionRegistered and is used to iterate over the raw logs and unpacked data for FunctionRegistered events raised by the SuccinctGateway contract. +type SuccinctGatewayFunctionRegisteredIterator struct { + Event *SuccinctGatewayFunctionRegistered // 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 @@ -1833,7 +1709,7 @@ type FunctionGatewayFunctionRegisteredIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayFunctionRegisteredIterator) Next() bool { +func (it *SuccinctGatewayFunctionRegisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1842,7 +1718,7 @@ func (it *FunctionGatewayFunctionRegisteredIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayFunctionRegistered) + it.Event = new(SuccinctGatewayFunctionRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1857,7 +1733,7 @@ func (it *FunctionGatewayFunctionRegisteredIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayFunctionRegistered) + it.Event = new(SuccinctGatewayFunctionRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1873,19 +1749,19 @@ func (it *FunctionGatewayFunctionRegisteredIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayFunctionRegisteredIterator) Error() error { +func (it *SuccinctGatewayFunctionRegisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayFunctionRegisteredIterator) Close() error { +func (it *SuccinctGatewayFunctionRegisteredIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayFunctionRegistered represents a FunctionRegistered event raised by the FunctionGateway contract. -type FunctionGatewayFunctionRegistered struct { +// SuccinctGatewayFunctionRegistered represents a FunctionRegistered event raised by the SuccinctGateway contract. +type SuccinctGatewayFunctionRegistered struct { FunctionId [32]byte Verifier common.Address Name string @@ -1896,31 +1772,31 @@ type FunctionGatewayFunctionRegistered struct { // FilterFunctionRegistered is a free log retrieval operation binding the contract event 0x52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea. // // Solidity: event FunctionRegistered(bytes32 indexed functionId, address verifier, string name, address owner) -func (_FunctionGateway *FunctionGatewayFilterer) FilterFunctionRegistered(opts *bind.FilterOpts, functionId [][32]byte) (*FunctionGatewayFunctionRegisteredIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterFunctionRegistered(opts *bind.FilterOpts, functionId [][32]byte) (*SuccinctGatewayFunctionRegisteredIterator, error) { var functionIdRule []interface{} for _, functionIdItem := range functionId { functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "FunctionRegistered", functionIdRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "FunctionRegistered", functionIdRule) if err != nil { return nil, err } - return &FunctionGatewayFunctionRegisteredIterator{contract: _FunctionGateway.contract, event: "FunctionRegistered", logs: logs, sub: sub}, nil + return &SuccinctGatewayFunctionRegisteredIterator{contract: _SuccinctGateway.contract, event: "FunctionRegistered", logs: logs, sub: sub}, nil } // WatchFunctionRegistered is a free log subscription operation binding the contract event 0x52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea. // // Solidity: event FunctionRegistered(bytes32 indexed functionId, address verifier, string name, address owner) -func (_FunctionGateway *FunctionGatewayFilterer) WatchFunctionRegistered(opts *bind.WatchOpts, sink chan<- *FunctionGatewayFunctionRegistered, functionId [][32]byte) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchFunctionRegistered(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayFunctionRegistered, functionId [][32]byte) (event.Subscription, error) { var functionIdRule []interface{} for _, functionIdItem := range functionId { functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "FunctionRegistered", functionIdRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "FunctionRegistered", functionIdRule) if err != nil { return nil, err } @@ -1930,8 +1806,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchFunctionRegistered(opts *b select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayFunctionRegistered) - if err := _FunctionGateway.contract.UnpackLog(event, "FunctionRegistered", log); err != nil { + event := new(SuccinctGatewayFunctionRegistered) + if err := _SuccinctGateway.contract.UnpackLog(event, "FunctionRegistered", log); err != nil { return err } event.Raw = log @@ -1955,18 +1831,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchFunctionRegistered(opts *b // ParseFunctionRegistered is a log parse operation binding the contract event 0x52664851d3d2a6452a5b4ce529443a2e880f03048598d72fbc426d7402956dea. // // Solidity: event FunctionRegistered(bytes32 indexed functionId, address verifier, string name, address owner) -func (_FunctionGateway *FunctionGatewayFilterer) ParseFunctionRegistered(log types.Log) (*FunctionGatewayFunctionRegistered, error) { - event := new(FunctionGatewayFunctionRegistered) - if err := _FunctionGateway.contract.UnpackLog(event, "FunctionRegistered", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseFunctionRegistered(log types.Log) (*SuccinctGatewayFunctionRegistered, error) { + event := new(SuccinctGatewayFunctionRegistered) + if err := _SuccinctGateway.contract.UnpackLog(event, "FunctionRegistered", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayFunctionVerifierUpdatedIterator is returned from FilterFunctionVerifierUpdated and is used to iterate over the raw logs and unpacked data for FunctionVerifierUpdated events raised by the FunctionGateway contract. -type FunctionGatewayFunctionVerifierUpdatedIterator struct { - Event *FunctionGatewayFunctionVerifierUpdated // Event containing the contract specifics and raw log +// SuccinctGatewayFunctionVerifierUpdatedIterator is returned from FilterFunctionVerifierUpdated and is used to iterate over the raw logs and unpacked data for FunctionVerifierUpdated events raised by the SuccinctGateway contract. +type SuccinctGatewayFunctionVerifierUpdatedIterator struct { + Event *SuccinctGatewayFunctionVerifierUpdated // 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 @@ -1980,7 +1856,7 @@ type FunctionGatewayFunctionVerifierUpdatedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayFunctionVerifierUpdatedIterator) Next() bool { +func (it *SuccinctGatewayFunctionVerifierUpdatedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1989,7 +1865,7 @@ func (it *FunctionGatewayFunctionVerifierUpdatedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayFunctionVerifierUpdated) + it.Event = new(SuccinctGatewayFunctionVerifierUpdated) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2004,7 +1880,7 @@ func (it *FunctionGatewayFunctionVerifierUpdatedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayFunctionVerifierUpdated) + it.Event = new(SuccinctGatewayFunctionVerifierUpdated) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2020,19 +1896,19 @@ func (it *FunctionGatewayFunctionVerifierUpdatedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayFunctionVerifierUpdatedIterator) Error() error { +func (it *SuccinctGatewayFunctionVerifierUpdatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayFunctionVerifierUpdatedIterator) Close() error { +func (it *SuccinctGatewayFunctionVerifierUpdatedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayFunctionVerifierUpdated represents a FunctionVerifierUpdated event raised by the FunctionGateway contract. -type FunctionGatewayFunctionVerifierUpdated struct { +// SuccinctGatewayFunctionVerifierUpdated represents a FunctionVerifierUpdated event raised by the SuccinctGateway contract. +type SuccinctGatewayFunctionVerifierUpdated struct { FunctionId [32]byte Verifier common.Address Raw types.Log // Blockchain specific contextual infos @@ -2041,31 +1917,31 @@ type FunctionGatewayFunctionVerifierUpdated struct { // FilterFunctionVerifierUpdated is a free log retrieval operation binding the contract event 0xfc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b736. // // Solidity: event FunctionVerifierUpdated(bytes32 indexed functionId, address verifier) -func (_FunctionGateway *FunctionGatewayFilterer) FilterFunctionVerifierUpdated(opts *bind.FilterOpts, functionId [][32]byte) (*FunctionGatewayFunctionVerifierUpdatedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterFunctionVerifierUpdated(opts *bind.FilterOpts, functionId [][32]byte) (*SuccinctGatewayFunctionVerifierUpdatedIterator, error) { var functionIdRule []interface{} for _, functionIdItem := range functionId { functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "FunctionVerifierUpdated", functionIdRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "FunctionVerifierUpdated", functionIdRule) if err != nil { return nil, err } - return &FunctionGatewayFunctionVerifierUpdatedIterator{contract: _FunctionGateway.contract, event: "FunctionVerifierUpdated", logs: logs, sub: sub}, nil + return &SuccinctGatewayFunctionVerifierUpdatedIterator{contract: _SuccinctGateway.contract, event: "FunctionVerifierUpdated", logs: logs, sub: sub}, nil } // WatchFunctionVerifierUpdated is a free log subscription operation binding the contract event 0xfc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b736. // // Solidity: event FunctionVerifierUpdated(bytes32 indexed functionId, address verifier) -func (_FunctionGateway *FunctionGatewayFilterer) WatchFunctionVerifierUpdated(opts *bind.WatchOpts, sink chan<- *FunctionGatewayFunctionVerifierUpdated, functionId [][32]byte) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchFunctionVerifierUpdated(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayFunctionVerifierUpdated, functionId [][32]byte) (event.Subscription, error) { var functionIdRule []interface{} for _, functionIdItem := range functionId { functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "FunctionVerifierUpdated", functionIdRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "FunctionVerifierUpdated", functionIdRule) if err != nil { return nil, err } @@ -2075,8 +1951,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchFunctionVerifierUpdated(op select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayFunctionVerifierUpdated) - if err := _FunctionGateway.contract.UnpackLog(event, "FunctionVerifierUpdated", log); err != nil { + event := new(SuccinctGatewayFunctionVerifierUpdated) + if err := _SuccinctGateway.contract.UnpackLog(event, "FunctionVerifierUpdated", log); err != nil { return err } event.Raw = log @@ -2100,18 +1976,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchFunctionVerifierUpdated(op // ParseFunctionVerifierUpdated is a log parse operation binding the contract event 0xfc14566d4fed0acece30e4fd5b3f5f6dadee9c5ecb852fdaf9c13999c733b736. // // Solidity: event FunctionVerifierUpdated(bytes32 indexed functionId, address verifier) -func (_FunctionGateway *FunctionGatewayFilterer) ParseFunctionVerifierUpdated(log types.Log) (*FunctionGatewayFunctionVerifierUpdated, error) { - event := new(FunctionGatewayFunctionVerifierUpdated) - if err := _FunctionGateway.contract.UnpackLog(event, "FunctionVerifierUpdated", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseFunctionVerifierUpdated(log types.Log) (*SuccinctGatewayFunctionVerifierUpdated, error) { + event := new(SuccinctGatewayFunctionVerifierUpdated) + if err := _SuccinctGateway.contract.UnpackLog(event, "FunctionVerifierUpdated", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the FunctionGateway contract. -type FunctionGatewayInitializedIterator struct { - Event *FunctionGatewayInitialized // Event containing the contract specifics and raw log +// SuccinctGatewayInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the SuccinctGateway contract. +type SuccinctGatewayInitializedIterator struct { + Event *SuccinctGatewayInitialized // 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 @@ -2125,7 +2001,7 @@ type FunctionGatewayInitializedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayInitializedIterator) Next() bool { +func (it *SuccinctGatewayInitializedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2134,7 +2010,7 @@ func (it *FunctionGatewayInitializedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayInitialized) + it.Event = new(SuccinctGatewayInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2149,7 +2025,7 @@ func (it *FunctionGatewayInitializedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayInitialized) + it.Event = new(SuccinctGatewayInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2165,19 +2041,19 @@ func (it *FunctionGatewayInitializedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayInitializedIterator) Error() error { +func (it *SuccinctGatewayInitializedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayInitializedIterator) Close() error { +func (it *SuccinctGatewayInitializedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayInitialized represents a Initialized event raised by the FunctionGateway contract. -type FunctionGatewayInitialized struct { +// SuccinctGatewayInitialized represents a Initialized event raised by the SuccinctGateway contract. +type SuccinctGatewayInitialized struct { Version uint8 Raw types.Log // Blockchain specific contextual infos } @@ -2185,21 +2061,21 @@ type FunctionGatewayInitialized struct { // FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) -func (_FunctionGateway *FunctionGatewayFilterer) FilterInitialized(opts *bind.FilterOpts) (*FunctionGatewayInitializedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterInitialized(opts *bind.FilterOpts) (*SuccinctGatewayInitializedIterator, error) { - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "Initialized") + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "Initialized") if err != nil { return nil, err } - return &FunctionGatewayInitializedIterator{contract: _FunctionGateway.contract, event: "Initialized", logs: logs, sub: sub}, nil + return &SuccinctGatewayInitializedIterator{contract: _SuccinctGateway.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 (_FunctionGateway *FunctionGatewayFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *FunctionGatewayInitialized) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayInitialized) (event.Subscription, error) { - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "Initialized") + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "Initialized") if err != nil { return nil, err } @@ -2209,8 +2085,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchInitialized(opts *bind.Wat select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayInitialized) - if err := _FunctionGateway.contract.UnpackLog(event, "Initialized", log); err != nil { + event := new(SuccinctGatewayInitialized) + if err := _SuccinctGateway.contract.UnpackLog(event, "Initialized", log); err != nil { return err } event.Raw = log @@ -2234,18 +2110,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchInitialized(opts *bind.Wat // ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) -func (_FunctionGateway *FunctionGatewayFilterer) ParseInitialized(log types.Log) (*FunctionGatewayInitialized, error) { - event := new(FunctionGatewayInitialized) - if err := _FunctionGateway.contract.UnpackLog(event, "Initialized", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseInitialized(log types.Log) (*SuccinctGatewayInitialized, error) { + event := new(SuccinctGatewayInitialized) + if err := _SuccinctGateway.contract.UnpackLog(event, "Initialized", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayRequestCallIterator is returned from FilterRequestCall and is used to iterate over the raw logs and unpacked data for RequestCall events raised by the FunctionGateway contract. -type FunctionGatewayRequestCallIterator struct { - Event *FunctionGatewayRequestCall // Event containing the contract specifics and raw log +// SuccinctGatewayRequestCallIterator is returned from FilterRequestCall and is used to iterate over the raw logs and unpacked data for RequestCall events raised by the SuccinctGateway contract. +type SuccinctGatewayRequestCallIterator struct { + Event *SuccinctGatewayRequestCall // 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 @@ -2259,7 +2135,7 @@ type FunctionGatewayRequestCallIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayRequestCallIterator) Next() bool { +func (it *SuccinctGatewayRequestCallIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2268,7 +2144,7 @@ func (it *FunctionGatewayRequestCallIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayRequestCall) + it.Event = new(SuccinctGatewayRequestCall) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2283,7 +2159,7 @@ func (it *FunctionGatewayRequestCallIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayRequestCall) + it.Event = new(SuccinctGatewayRequestCall) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2299,19 +2175,19 @@ func (it *FunctionGatewayRequestCallIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayRequestCallIterator) Error() error { +func (it *SuccinctGatewayRequestCallIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayRequestCallIterator) Close() error { +func (it *SuccinctGatewayRequestCallIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayRequestCall represents a RequestCall event raised by the FunctionGateway contract. -type FunctionGatewayRequestCall struct { +// SuccinctGatewayRequestCall represents a RequestCall event raised by the SuccinctGateway contract. +type SuccinctGatewayRequestCall struct { FunctionId [32]byte Input []byte EntryAddress common.Address @@ -2325,31 +2201,31 @@ type FunctionGatewayRequestCall struct { // FilterRequestCall is a free log retrieval operation binding the contract event 0x88632d59d3df3bee2ce2a06fbb05e1c8542c44cb2e7339bb1812500a978644d3. // // Solidity: event RequestCall(bytes32 indexed functionId, bytes input, address entryAddress, bytes entryCalldata, uint32 entryGasLimit, address sender, uint256 feeAmount) -func (_FunctionGateway *FunctionGatewayFilterer) FilterRequestCall(opts *bind.FilterOpts, functionId [][32]byte) (*FunctionGatewayRequestCallIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterRequestCall(opts *bind.FilterOpts, functionId [][32]byte) (*SuccinctGatewayRequestCallIterator, error) { var functionIdRule []interface{} for _, functionIdItem := range functionId { functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "RequestCall", functionIdRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "RequestCall", functionIdRule) if err != nil { return nil, err } - return &FunctionGatewayRequestCallIterator{contract: _FunctionGateway.contract, event: "RequestCall", logs: logs, sub: sub}, nil + return &SuccinctGatewayRequestCallIterator{contract: _SuccinctGateway.contract, event: "RequestCall", logs: logs, sub: sub}, nil } // WatchRequestCall is a free log subscription operation binding the contract event 0x88632d59d3df3bee2ce2a06fbb05e1c8542c44cb2e7339bb1812500a978644d3. // // Solidity: event RequestCall(bytes32 indexed functionId, bytes input, address entryAddress, bytes entryCalldata, uint32 entryGasLimit, address sender, uint256 feeAmount) -func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestCall(opts *bind.WatchOpts, sink chan<- *FunctionGatewayRequestCall, functionId [][32]byte) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchRequestCall(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayRequestCall, functionId [][32]byte) (event.Subscription, error) { var functionIdRule []interface{} for _, functionIdItem := range functionId { functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "RequestCall", functionIdRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "RequestCall", functionIdRule) if err != nil { return nil, err } @@ -2359,8 +2235,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestCall(opts *bind.Wat select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayRequestCall) - if err := _FunctionGateway.contract.UnpackLog(event, "RequestCall", log); err != nil { + event := new(SuccinctGatewayRequestCall) + if err := _SuccinctGateway.contract.UnpackLog(event, "RequestCall", log); err != nil { return err } event.Raw = log @@ -2384,18 +2260,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestCall(opts *bind.Wat // ParseRequestCall is a log parse operation binding the contract event 0x88632d59d3df3bee2ce2a06fbb05e1c8542c44cb2e7339bb1812500a978644d3. // // Solidity: event RequestCall(bytes32 indexed functionId, bytes input, address entryAddress, bytes entryCalldata, uint32 entryGasLimit, address sender, uint256 feeAmount) -func (_FunctionGateway *FunctionGatewayFilterer) ParseRequestCall(log types.Log) (*FunctionGatewayRequestCall, error) { - event := new(FunctionGatewayRequestCall) - if err := _FunctionGateway.contract.UnpackLog(event, "RequestCall", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseRequestCall(log types.Log) (*SuccinctGatewayRequestCall, error) { + event := new(SuccinctGatewayRequestCall) + if err := _SuccinctGateway.contract.UnpackLog(event, "RequestCall", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayRequestCallbackIterator is returned from FilterRequestCallback and is used to iterate over the raw logs and unpacked data for RequestCallback events raised by the FunctionGateway contract. -type FunctionGatewayRequestCallbackIterator struct { - Event *FunctionGatewayRequestCallback // Event containing the contract specifics and raw log +// SuccinctGatewayRequestCallbackIterator is returned from FilterRequestCallback and is used to iterate over the raw logs and unpacked data for RequestCallback events raised by the SuccinctGateway contract. +type SuccinctGatewayRequestCallbackIterator struct { + Event *SuccinctGatewayRequestCallback // 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 @@ -2409,7 +2285,7 @@ type FunctionGatewayRequestCallbackIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayRequestCallbackIterator) Next() bool { +func (it *SuccinctGatewayRequestCallbackIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2418,7 +2294,7 @@ func (it *FunctionGatewayRequestCallbackIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayRequestCallback) + it.Event = new(SuccinctGatewayRequestCallback) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2433,7 +2309,7 @@ func (it *FunctionGatewayRequestCallbackIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayRequestCallback) + it.Event = new(SuccinctGatewayRequestCallback) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2449,19 +2325,19 @@ func (it *FunctionGatewayRequestCallbackIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayRequestCallbackIterator) Error() error { +func (it *SuccinctGatewayRequestCallbackIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayRequestCallbackIterator) Close() error { +func (it *SuccinctGatewayRequestCallbackIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayRequestCallback represents a RequestCallback event raised by the FunctionGateway contract. -type FunctionGatewayRequestCallback struct { +// SuccinctGatewayRequestCallback represents a RequestCallback event raised by the SuccinctGateway contract. +type SuccinctGatewayRequestCallback struct { Nonce uint32 FunctionId [32]byte Input []byte @@ -2476,7 +2352,7 @@ type FunctionGatewayRequestCallback struct { // FilterRequestCallback is a free log retrieval operation binding the contract event 0x22a09d598b323a3c65d69787dd6fd143dd8e4d2f91733c247113167df31e3e93. // // Solidity: event RequestCallback(uint32 indexed nonce, bytes32 indexed functionId, bytes input, bytes context, address callbackAddress, bytes4 callbackSelector, uint32 callbackGasLimit, uint256 feeAmount) -func (_FunctionGateway *FunctionGatewayFilterer) FilterRequestCallback(opts *bind.FilterOpts, nonce []uint32, functionId [][32]byte) (*FunctionGatewayRequestCallbackIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterRequestCallback(opts *bind.FilterOpts, nonce []uint32, functionId [][32]byte) (*SuccinctGatewayRequestCallbackIterator, error) { var nonceRule []interface{} for _, nonceItem := range nonce { @@ -2487,17 +2363,17 @@ func (_FunctionGateway *FunctionGatewayFilterer) FilterRequestCallback(opts *bin functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "RequestCallback", nonceRule, functionIdRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "RequestCallback", nonceRule, functionIdRule) if err != nil { return nil, err } - return &FunctionGatewayRequestCallbackIterator{contract: _FunctionGateway.contract, event: "RequestCallback", logs: logs, sub: sub}, nil + return &SuccinctGatewayRequestCallbackIterator{contract: _SuccinctGateway.contract, event: "RequestCallback", logs: logs, sub: sub}, nil } // WatchRequestCallback is a free log subscription operation binding the contract event 0x22a09d598b323a3c65d69787dd6fd143dd8e4d2f91733c247113167df31e3e93. // // Solidity: event RequestCallback(uint32 indexed nonce, bytes32 indexed functionId, bytes input, bytes context, address callbackAddress, bytes4 callbackSelector, uint32 callbackGasLimit, uint256 feeAmount) -func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestCallback(opts *bind.WatchOpts, sink chan<- *FunctionGatewayRequestCallback, nonce []uint32, functionId [][32]byte) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchRequestCallback(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayRequestCallback, nonce []uint32, functionId [][32]byte) (event.Subscription, error) { var nonceRule []interface{} for _, nonceItem := range nonce { @@ -2508,7 +2384,7 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestCallback(opts *bind functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "RequestCallback", nonceRule, functionIdRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "RequestCallback", nonceRule, functionIdRule) if err != nil { return nil, err } @@ -2518,8 +2394,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestCallback(opts *bind select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayRequestCallback) - if err := _FunctionGateway.contract.UnpackLog(event, "RequestCallback", log); err != nil { + event := new(SuccinctGatewayRequestCallback) + if err := _SuccinctGateway.contract.UnpackLog(event, "RequestCallback", log); err != nil { return err } event.Raw = log @@ -2543,18 +2419,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestCallback(opts *bind // ParseRequestCallback is a log parse operation binding the contract event 0x22a09d598b323a3c65d69787dd6fd143dd8e4d2f91733c247113167df31e3e93. // // Solidity: event RequestCallback(uint32 indexed nonce, bytes32 indexed functionId, bytes input, bytes context, address callbackAddress, bytes4 callbackSelector, uint32 callbackGasLimit, uint256 feeAmount) -func (_FunctionGateway *FunctionGatewayFilterer) ParseRequestCallback(log types.Log) (*FunctionGatewayRequestCallback, error) { - event := new(FunctionGatewayRequestCallback) - if err := _FunctionGateway.contract.UnpackLog(event, "RequestCallback", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseRequestCallback(log types.Log) (*SuccinctGatewayRequestCallback, error) { + event := new(SuccinctGatewayRequestCallback) + if err := _SuccinctGateway.contract.UnpackLog(event, "RequestCallback", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayRequestFulfilledIterator is returned from FilterRequestFulfilled and is used to iterate over the raw logs and unpacked data for RequestFulfilled events raised by the FunctionGateway contract. -type FunctionGatewayRequestFulfilledIterator struct { - Event *FunctionGatewayRequestFulfilled // Event containing the contract specifics and raw log +// SuccinctGatewayRequestFulfilledIterator is returned from FilterRequestFulfilled and is used to iterate over the raw logs and unpacked data for RequestFulfilled events raised by the SuccinctGateway contract. +type SuccinctGatewayRequestFulfilledIterator struct { + Event *SuccinctGatewayRequestFulfilled // 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 @@ -2568,7 +2444,7 @@ type FunctionGatewayRequestFulfilledIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayRequestFulfilledIterator) Next() bool { +func (it *SuccinctGatewayRequestFulfilledIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2577,7 +2453,7 @@ func (it *FunctionGatewayRequestFulfilledIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayRequestFulfilled) + it.Event = new(SuccinctGatewayRequestFulfilled) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2592,7 +2468,7 @@ func (it *FunctionGatewayRequestFulfilledIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayRequestFulfilled) + it.Event = new(SuccinctGatewayRequestFulfilled) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2608,19 +2484,19 @@ func (it *FunctionGatewayRequestFulfilledIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayRequestFulfilledIterator) Error() error { +func (it *SuccinctGatewayRequestFulfilledIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayRequestFulfilledIterator) Close() error { +func (it *SuccinctGatewayRequestFulfilledIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayRequestFulfilled represents a RequestFulfilled event raised by the FunctionGateway contract. -type FunctionGatewayRequestFulfilled struct { +// SuccinctGatewayRequestFulfilled represents a RequestFulfilled event raised by the SuccinctGateway contract. +type SuccinctGatewayRequestFulfilled struct { Nonce uint32 FunctionId [32]byte InputHash [32]byte @@ -2631,7 +2507,7 @@ type FunctionGatewayRequestFulfilled struct { // FilterRequestFulfilled is a free log retrieval operation binding the contract event 0x361a2fc76bc9f35b079dd353fd7fdd8aaf61f1a7979cf59653225692c19bbff2. // // Solidity: event RequestFulfilled(uint32 indexed nonce, bytes32 indexed functionId, bytes32 inputHash, bytes32 outputHash) -func (_FunctionGateway *FunctionGatewayFilterer) FilterRequestFulfilled(opts *bind.FilterOpts, nonce []uint32, functionId [][32]byte) (*FunctionGatewayRequestFulfilledIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterRequestFulfilled(opts *bind.FilterOpts, nonce []uint32, functionId [][32]byte) (*SuccinctGatewayRequestFulfilledIterator, error) { var nonceRule []interface{} for _, nonceItem := range nonce { @@ -2642,17 +2518,17 @@ func (_FunctionGateway *FunctionGatewayFilterer) FilterRequestFulfilled(opts *bi functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "RequestFulfilled", nonceRule, functionIdRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "RequestFulfilled", nonceRule, functionIdRule) if err != nil { return nil, err } - return &FunctionGatewayRequestFulfilledIterator{contract: _FunctionGateway.contract, event: "RequestFulfilled", logs: logs, sub: sub}, nil + return &SuccinctGatewayRequestFulfilledIterator{contract: _SuccinctGateway.contract, event: "RequestFulfilled", logs: logs, sub: sub}, nil } // WatchRequestFulfilled is a free log subscription operation binding the contract event 0x361a2fc76bc9f35b079dd353fd7fdd8aaf61f1a7979cf59653225692c19bbff2. // // Solidity: event RequestFulfilled(uint32 indexed nonce, bytes32 indexed functionId, bytes32 inputHash, bytes32 outputHash) -func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestFulfilled(opts *bind.WatchOpts, sink chan<- *FunctionGatewayRequestFulfilled, nonce []uint32, functionId [][32]byte) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchRequestFulfilled(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayRequestFulfilled, nonce []uint32, functionId [][32]byte) (event.Subscription, error) { var nonceRule []interface{} for _, nonceItem := range nonce { @@ -2663,7 +2539,7 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestFulfilled(opts *bin functionIdRule = append(functionIdRule, functionIdItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "RequestFulfilled", nonceRule, functionIdRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "RequestFulfilled", nonceRule, functionIdRule) if err != nil { return nil, err } @@ -2673,8 +2549,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestFulfilled(opts *bin select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayRequestFulfilled) - if err := _FunctionGateway.contract.UnpackLog(event, "RequestFulfilled", log); err != nil { + event := new(SuccinctGatewayRequestFulfilled) + if err := _SuccinctGateway.contract.UnpackLog(event, "RequestFulfilled", log); err != nil { return err } event.Raw = log @@ -2698,18 +2574,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRequestFulfilled(opts *bin // ParseRequestFulfilled is a log parse operation binding the contract event 0x361a2fc76bc9f35b079dd353fd7fdd8aaf61f1a7979cf59653225692c19bbff2. // // Solidity: event RequestFulfilled(uint32 indexed nonce, bytes32 indexed functionId, bytes32 inputHash, bytes32 outputHash) -func (_FunctionGateway *FunctionGatewayFilterer) ParseRequestFulfilled(log types.Log) (*FunctionGatewayRequestFulfilled, error) { - event := new(FunctionGatewayRequestFulfilled) - if err := _FunctionGateway.contract.UnpackLog(event, "RequestFulfilled", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseRequestFulfilled(log types.Log) (*SuccinctGatewayRequestFulfilled, error) { + event := new(SuccinctGatewayRequestFulfilled) + if err := _SuccinctGateway.contract.UnpackLog(event, "RequestFulfilled", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the FunctionGateway contract. -type FunctionGatewayRoleAdminChangedIterator struct { - Event *FunctionGatewayRoleAdminChanged // Event containing the contract specifics and raw log +// SuccinctGatewayRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the SuccinctGateway contract. +type SuccinctGatewayRoleAdminChangedIterator struct { + Event *SuccinctGatewayRoleAdminChanged // 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 @@ -2723,7 +2599,7 @@ type FunctionGatewayRoleAdminChangedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayRoleAdminChangedIterator) Next() bool { +func (it *SuccinctGatewayRoleAdminChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2732,7 +2608,7 @@ func (it *FunctionGatewayRoleAdminChangedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayRoleAdminChanged) + it.Event = new(SuccinctGatewayRoleAdminChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2747,7 +2623,7 @@ func (it *FunctionGatewayRoleAdminChangedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayRoleAdminChanged) + it.Event = new(SuccinctGatewayRoleAdminChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2763,19 +2639,19 @@ func (it *FunctionGatewayRoleAdminChangedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayRoleAdminChangedIterator) Error() error { +func (it *SuccinctGatewayRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayRoleAdminChangedIterator) Close() error { +func (it *SuccinctGatewayRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayRoleAdminChanged represents a RoleAdminChanged event raised by the FunctionGateway contract. -type FunctionGatewayRoleAdminChanged struct { +// SuccinctGatewayRoleAdminChanged represents a RoleAdminChanged event raised by the SuccinctGateway contract. +type SuccinctGatewayRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte @@ -2785,7 +2661,7 @@ type FunctionGatewayRoleAdminChanged struct { // 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 (_FunctionGateway *FunctionGatewayFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*FunctionGatewayRoleAdminChangedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*SuccinctGatewayRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { @@ -2800,17 +2676,17 @@ func (_FunctionGateway *FunctionGatewayFilterer) FilterRoleAdminChanged(opts *bi newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } - return &FunctionGatewayRoleAdminChangedIterator{contract: _FunctionGateway.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil + return &SuccinctGatewayRoleAdminChangedIterator{contract: _SuccinctGateway.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 (_FunctionGateway *FunctionGatewayFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *FunctionGatewayRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { @@ -2825,7 +2701,7 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleAdminChanged(opts *bin newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } @@ -2835,8 +2711,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleAdminChanged(opts *bin select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayRoleAdminChanged) - if err := _FunctionGateway.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { + event := new(SuccinctGatewayRoleAdminChanged) + if err := _SuccinctGateway.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return err } event.Raw = log @@ -2860,18 +2736,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleAdminChanged(opts *bin // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) -func (_FunctionGateway *FunctionGatewayFilterer) ParseRoleAdminChanged(log types.Log) (*FunctionGatewayRoleAdminChanged, error) { - event := new(FunctionGatewayRoleAdminChanged) - if err := _FunctionGateway.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseRoleAdminChanged(log types.Log) (*SuccinctGatewayRoleAdminChanged, error) { + event := new(SuccinctGatewayRoleAdminChanged) + if err := _SuccinctGateway.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the FunctionGateway contract. -type FunctionGatewayRoleGrantedIterator struct { - Event *FunctionGatewayRoleGranted // Event containing the contract specifics and raw log +// SuccinctGatewayRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the SuccinctGateway contract. +type SuccinctGatewayRoleGrantedIterator struct { + Event *SuccinctGatewayRoleGranted // 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 @@ -2885,7 +2761,7 @@ type FunctionGatewayRoleGrantedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayRoleGrantedIterator) Next() bool { +func (it *SuccinctGatewayRoleGrantedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2894,7 +2770,7 @@ func (it *FunctionGatewayRoleGrantedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayRoleGranted) + it.Event = new(SuccinctGatewayRoleGranted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2909,7 +2785,7 @@ func (it *FunctionGatewayRoleGrantedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayRoleGranted) + it.Event = new(SuccinctGatewayRoleGranted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2925,19 +2801,19 @@ func (it *FunctionGatewayRoleGrantedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayRoleGrantedIterator) Error() error { +func (it *SuccinctGatewayRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayRoleGrantedIterator) Close() error { +func (it *SuccinctGatewayRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayRoleGranted represents a RoleGranted event raised by the FunctionGateway contract. -type FunctionGatewayRoleGranted struct { +// SuccinctGatewayRoleGranted represents a RoleGranted event raised by the SuccinctGateway contract. +type SuccinctGatewayRoleGranted struct { Role [32]byte Account common.Address Sender common.Address @@ -2947,7 +2823,7 @@ type FunctionGatewayRoleGranted struct { // 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 (_FunctionGateway *FunctionGatewayFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*FunctionGatewayRoleGrantedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*SuccinctGatewayRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { @@ -2962,17 +2838,17 @@ func (_FunctionGateway *FunctionGatewayFilterer) FilterRoleGranted(opts *bind.Fi senderRule = append(senderRule, senderItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } - return &FunctionGatewayRoleGrantedIterator{contract: _FunctionGateway.contract, event: "RoleGranted", logs: logs, sub: sub}, nil + return &SuccinctGatewayRoleGrantedIterator{contract: _SuccinctGateway.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 (_FunctionGateway *FunctionGatewayFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *FunctionGatewayRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { @@ -2987,7 +2863,7 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleGranted(opts *bind.Wat senderRule = append(senderRule, senderItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } @@ -2997,8 +2873,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleGranted(opts *bind.Wat select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayRoleGranted) - if err := _FunctionGateway.contract.UnpackLog(event, "RoleGranted", log); err != nil { + event := new(SuccinctGatewayRoleGranted) + if err := _SuccinctGateway.contract.UnpackLog(event, "RoleGranted", log); err != nil { return err } event.Raw = log @@ -3022,18 +2898,18 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleGranted(opts *bind.Wat // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) -func (_FunctionGateway *FunctionGatewayFilterer) ParseRoleGranted(log types.Log) (*FunctionGatewayRoleGranted, error) { - event := new(FunctionGatewayRoleGranted) - if err := _FunctionGateway.contract.UnpackLog(event, "RoleGranted", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseRoleGranted(log types.Log) (*SuccinctGatewayRoleGranted, error) { + event := new(SuccinctGatewayRoleGranted) + if err := _SuccinctGateway.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the FunctionGateway contract. -type FunctionGatewayRoleRevokedIterator struct { - Event *FunctionGatewayRoleRevoked // Event containing the contract specifics and raw log +// SuccinctGatewayRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the SuccinctGateway contract. +type SuccinctGatewayRoleRevokedIterator struct { + Event *SuccinctGatewayRoleRevoked // 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 @@ -3047,7 +2923,7 @@ type FunctionGatewayRoleRevokedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayRoleRevokedIterator) Next() bool { +func (it *SuccinctGatewayRoleRevokedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -3056,7 +2932,7 @@ func (it *FunctionGatewayRoleRevokedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayRoleRevoked) + it.Event = new(SuccinctGatewayRoleRevoked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3071,7 +2947,7 @@ func (it *FunctionGatewayRoleRevokedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayRoleRevoked) + it.Event = new(SuccinctGatewayRoleRevoked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3087,19 +2963,19 @@ func (it *FunctionGatewayRoleRevokedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayRoleRevokedIterator) Error() error { +func (it *SuccinctGatewayRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayRoleRevokedIterator) Close() error { +func (it *SuccinctGatewayRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayRoleRevoked represents a RoleRevoked event raised by the FunctionGateway contract. -type FunctionGatewayRoleRevoked struct { +// SuccinctGatewayRoleRevoked represents a RoleRevoked event raised by the SuccinctGateway contract. +type SuccinctGatewayRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address @@ -3109,7 +2985,7 @@ type FunctionGatewayRoleRevoked struct { // 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 (_FunctionGateway *FunctionGatewayFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*FunctionGatewayRoleRevokedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*SuccinctGatewayRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { @@ -3124,17 +3000,17 @@ func (_FunctionGateway *FunctionGatewayFilterer) FilterRoleRevoked(opts *bind.Fi senderRule = append(senderRule, senderItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } - return &FunctionGatewayRoleRevokedIterator{contract: _FunctionGateway.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil + return &SuccinctGatewayRoleRevokedIterator{contract: _SuccinctGateway.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 (_FunctionGateway *FunctionGatewayFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *FunctionGatewayRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { @@ -3149,7 +3025,7 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleRevoked(opts *bind.Wat senderRule = append(senderRule, senderItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } @@ -3159,8 +3035,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleRevoked(opts *bind.Wat select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayRoleRevoked) - if err := _FunctionGateway.contract.UnpackLog(event, "RoleRevoked", log); err != nil { + event := new(SuccinctGatewayRoleRevoked) + if err := _SuccinctGateway.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return err } event.Raw = log @@ -3184,18 +3060,171 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchRoleRevoked(opts *bind.Wat // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) -func (_FunctionGateway *FunctionGatewayFilterer) ParseRoleRevoked(log types.Log) (*FunctionGatewayRoleRevoked, error) { - event := new(FunctionGatewayRoleRevoked) - if err := _FunctionGateway.contract.UnpackLog(event, "RoleRevoked", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseRoleRevoked(log types.Log) (*SuccinctGatewayRoleRevoked, error) { + event := new(SuccinctGatewayRoleRevoked) + if err := _SuccinctGateway.contract.UnpackLog(event, "RoleRevoked", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// SuccinctGatewaySetFeeVaultIterator is returned from FilterSetFeeVault and is used to iterate over the raw logs and unpacked data for SetFeeVault events raised by the SuccinctGateway contract. +type SuccinctGatewaySetFeeVaultIterator struct { + Event *SuccinctGatewaySetFeeVault // 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 *SuccinctGatewaySetFeeVaultIterator) 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(SuccinctGatewaySetFeeVault) + 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(SuccinctGatewaySetFeeVault) + 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 *SuccinctGatewaySetFeeVaultIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *SuccinctGatewaySetFeeVaultIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// SuccinctGatewaySetFeeVault represents a SetFeeVault event raised by the SuccinctGateway contract. +type SuccinctGatewaySetFeeVault struct { + OldFeeVault common.Address + NewFeeVault common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSetFeeVault is a free log retrieval operation binding the contract event 0xf0cca8e172b90b70922c6757d918f7a532326dfd3e9f3c5b117a616d2bb07212. +// +// Solidity: event SetFeeVault(address indexed oldFeeVault, address indexed newFeeVault) +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterSetFeeVault(opts *bind.FilterOpts, oldFeeVault []common.Address, newFeeVault []common.Address) (*SuccinctGatewaySetFeeVaultIterator, error) { + + var oldFeeVaultRule []interface{} + for _, oldFeeVaultItem := range oldFeeVault { + oldFeeVaultRule = append(oldFeeVaultRule, oldFeeVaultItem) + } + var newFeeVaultRule []interface{} + for _, newFeeVaultItem := range newFeeVault { + newFeeVaultRule = append(newFeeVaultRule, newFeeVaultItem) + } + + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "SetFeeVault", oldFeeVaultRule, newFeeVaultRule) + if err != nil { + return nil, err + } + return &SuccinctGatewaySetFeeVaultIterator{contract: _SuccinctGateway.contract, event: "SetFeeVault", logs: logs, sub: sub}, nil +} + +// WatchSetFeeVault is a free log subscription operation binding the contract event 0xf0cca8e172b90b70922c6757d918f7a532326dfd3e9f3c5b117a616d2bb07212. +// +// Solidity: event SetFeeVault(address indexed oldFeeVault, address indexed newFeeVault) +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchSetFeeVault(opts *bind.WatchOpts, sink chan<- *SuccinctGatewaySetFeeVault, oldFeeVault []common.Address, newFeeVault []common.Address) (event.Subscription, error) { + + var oldFeeVaultRule []interface{} + for _, oldFeeVaultItem := range oldFeeVault { + oldFeeVaultRule = append(oldFeeVaultRule, oldFeeVaultItem) + } + var newFeeVaultRule []interface{} + for _, newFeeVaultItem := range newFeeVault { + newFeeVaultRule = append(newFeeVaultRule, newFeeVaultItem) + } + + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "SetFeeVault", oldFeeVaultRule, newFeeVaultRule) + 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(SuccinctGatewaySetFeeVault) + if err := _SuccinctGateway.contract.UnpackLog(event, "SetFeeVault", 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 +} + +// ParseSetFeeVault is a log parse operation binding the contract event 0xf0cca8e172b90b70922c6757d918f7a532326dfd3e9f3c5b117a616d2bb07212. +// +// Solidity: event SetFeeVault(address indexed oldFeeVault, address indexed newFeeVault) +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseSetFeeVault(log types.Log) (*SuccinctGatewaySetFeeVault, error) { + event := new(SuccinctGatewaySetFeeVault) + if err := _SuccinctGateway.contract.UnpackLog(event, "SetFeeVault", log); err != nil { return nil, err } event.Raw = log return event, nil } -// FunctionGatewayUpgradedIterator is returned from FilterUpgraded and is used to iterate over the raw logs and unpacked data for Upgraded events raised by the FunctionGateway contract. -type FunctionGatewayUpgradedIterator struct { - Event *FunctionGatewayUpgraded // Event containing the contract specifics and raw log +// SuccinctGatewayUpgradedIterator is returned from FilterUpgraded and is used to iterate over the raw logs and unpacked data for Upgraded events raised by the SuccinctGateway contract. +type SuccinctGatewayUpgradedIterator struct { + Event *SuccinctGatewayUpgraded // 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 @@ -3209,7 +3238,7 @@ type FunctionGatewayUpgradedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *FunctionGatewayUpgradedIterator) Next() bool { +func (it *SuccinctGatewayUpgradedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -3218,7 +3247,7 @@ func (it *FunctionGatewayUpgradedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(FunctionGatewayUpgraded) + it.Event = new(SuccinctGatewayUpgraded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3233,7 +3262,7 @@ func (it *FunctionGatewayUpgradedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(FunctionGatewayUpgraded) + it.Event = new(SuccinctGatewayUpgraded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -3249,19 +3278,19 @@ func (it *FunctionGatewayUpgradedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *FunctionGatewayUpgradedIterator) Error() error { +func (it *SuccinctGatewayUpgradedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *FunctionGatewayUpgradedIterator) Close() error { +func (it *SuccinctGatewayUpgradedIterator) Close() error { it.sub.Unsubscribe() return nil } -// FunctionGatewayUpgraded represents a Upgraded event raised by the FunctionGateway contract. -type FunctionGatewayUpgraded struct { +// SuccinctGatewayUpgraded represents a Upgraded event raised by the SuccinctGateway contract. +type SuccinctGatewayUpgraded struct { Implementation common.Address Raw types.Log // Blockchain specific contextual infos } @@ -3269,31 +3298,31 @@ type FunctionGatewayUpgraded struct { // FilterUpgraded is a free log retrieval operation binding the contract event 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b. // // Solidity: event Upgraded(address indexed implementation) -func (_FunctionGateway *FunctionGatewayFilterer) FilterUpgraded(opts *bind.FilterOpts, implementation []common.Address) (*FunctionGatewayUpgradedIterator, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) FilterUpgraded(opts *bind.FilterOpts, implementation []common.Address) (*SuccinctGatewayUpgradedIterator, error) { var implementationRule []interface{} for _, implementationItem := range implementation { implementationRule = append(implementationRule, implementationItem) } - logs, sub, err := _FunctionGateway.contract.FilterLogs(opts, "Upgraded", implementationRule) + logs, sub, err := _SuccinctGateway.contract.FilterLogs(opts, "Upgraded", implementationRule) if err != nil { return nil, err } - return &FunctionGatewayUpgradedIterator{contract: _FunctionGateway.contract, event: "Upgraded", logs: logs, sub: sub}, nil + return &SuccinctGatewayUpgradedIterator{contract: _SuccinctGateway.contract, event: "Upgraded", logs: logs, sub: sub}, nil } // WatchUpgraded is a free log subscription operation binding the contract event 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b. // // Solidity: event Upgraded(address indexed implementation) -func (_FunctionGateway *FunctionGatewayFilterer) WatchUpgraded(opts *bind.WatchOpts, sink chan<- *FunctionGatewayUpgraded, implementation []common.Address) (event.Subscription, error) { +func (_SuccinctGateway *SuccinctGatewayFilterer) WatchUpgraded(opts *bind.WatchOpts, sink chan<- *SuccinctGatewayUpgraded, implementation []common.Address) (event.Subscription, error) { var implementationRule []interface{} for _, implementationItem := range implementation { implementationRule = append(implementationRule, implementationItem) } - logs, sub, err := _FunctionGateway.contract.WatchLogs(opts, "Upgraded", implementationRule) + logs, sub, err := _SuccinctGateway.contract.WatchLogs(opts, "Upgraded", implementationRule) if err != nil { return nil, err } @@ -3303,8 +3332,8 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchUpgraded(opts *bind.WatchO select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(FunctionGatewayUpgraded) - if err := _FunctionGateway.contract.UnpackLog(event, "Upgraded", log); err != nil { + event := new(SuccinctGatewayUpgraded) + if err := _SuccinctGateway.contract.UnpackLog(event, "Upgraded", log); err != nil { return err } event.Raw = log @@ -3328,9 +3357,9 @@ func (_FunctionGateway *FunctionGatewayFilterer) WatchUpgraded(opts *bind.WatchO // ParseUpgraded is a log parse operation binding the contract event 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b. // // Solidity: event Upgraded(address indexed implementation) -func (_FunctionGateway *FunctionGatewayFilterer) ParseUpgraded(log types.Log) (*FunctionGatewayUpgraded, error) { - event := new(FunctionGatewayUpgraded) - if err := _FunctionGateway.contract.UnpackLog(event, "Upgraded", log); err != nil { +func (_SuccinctGateway *SuccinctGatewayFilterer) ParseUpgraded(log types.Log) (*SuccinctGatewayUpgraded, error) { + event := new(SuccinctGatewayUpgraded) + if err := _SuccinctGateway.contract.UnpackLog(event, "Upgraded", log); err != nil { return nil, err } event.Raw = log diff --git a/contracts/.env.example b/contracts/.env.example index b9b21b89d..ee1e6e241 100644 --- a/contracts/.env.example +++ b/contracts/.env.example @@ -15,6 +15,7 @@ RPC_1= RPC_5= RPC_137= RPC_420=https://goerli.optimism.io +RPC_17000=https://rpc.holesky.ethpandaops.io RPC_42163=https://goerli-rollup.arbitrum.io/rpc RPC_84531=https://goerli.base.org @@ -22,5 +23,6 @@ ETHERSCAN_API_KEY_1= ETHERSCAN_API_KEY_5= ETHERSCAN_API_KEY_137= ETHERSCAN_API_KEY_420= +ETHERSCAN_API_KEY_17000= ETHERSCAN_API_KEY_42163= ETHERSCAN_API_KEY_84531= \ No newline at end of file diff --git a/contracts/README.md b/contracts/README.md index 33a01aada..d77aac1f0 100644 --- a/contracts/README.md +++ b/contracts/README.md @@ -20,6 +20,11 @@ Run Tests forge test ``` +## Addresses + +SUCCINCT_GATEWAY=[0x6e4f1e9ea315ebfd69d18c2db974eef6105fb803](https://etherscan.io/address/0x6e4f1e9ea315ebfd69d18c2db974eef6105fb803) +SUCCINCT_FEE_VAULT=[0x5999d401444f15d262fdce310bb68bd234de11aa](https://etherscan.io/address/0x5999d401444f15d262fdce310bb68bd234de11aa) + ## Deploying Each contract has it's own deployment file in the form of `script/deploy/{Contract}.s.sol`. Inside each, there is a `Deploy{Contract}` script that will deploy the contract. This allows for programmatic cross-chain deployment of contracts using `script/deploy.sh`. diff --git a/gnarkx/succinct/circuit.go b/gnarkx/succinct/circuit.go index e5051da5a..ac2ca06a2 100644 --- a/gnarkx/succinct/circuit.go +++ b/gnarkx/succinct/circuit.go @@ -131,7 +131,7 @@ func (f *CircuitFunction) Prove(inputBytes []byte, build *CircuitBuild) (*types. return output, nil } -// Generates a JSON fixture for use in Solidity tests with MockFunctionGateway.sol. +// Generates a JSON fixture for use in Solidity tests with MockSuccinctGateway.sol. func (f *CircuitFunction) GenerateFixture(inputBytes []byte) (types.Fixture, error) { f.SetWitness(inputBytes) fixture := types.Fixture{ diff --git a/go.mod b/go.mod index 7b708c9ce..80d7dadbf 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/succinctlabs/sdk +module github.com/succinctlabs/succinctx go 1.20 diff --git a/scripts/abi.sh b/scripts/abi.sh old mode 100644 new mode 100755 diff --git a/scripts/binding.sh b/scripts/binding.sh old mode 100644 new mode 100755 index 30c76618b..3bc239bfc --- a/scripts/binding.sh +++ b/scripts/binding.sh @@ -4,7 +4,7 @@ set -e # Add to this list for each contract you want to generate bindings for. Must be in the abi folder. -CONTRACTS=(FunctionGateway FunctionRegistry) +CONTRACTS=(SuccinctGateway FunctionRegistry) # Clear previous bindings so there is no leftovers (e.g. in case of rename). rm -rf ./bindings/* diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 000000000..edc893d94 --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -euf -o pipefail + +if ! echo "$1" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$'; then + echo "${1} is not in MAJOR.MINOR.PATCH format" + exit 1 +fi + +# Create a new signed annotated tag for the version +git tag "v${1}" -as -m "release v${1}" + +# Push all tags, which triggers the Release workflow +git push --atomic origin "v${1}" --force