evm

package
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2026 License: MIT Imports: 27 Imported by: 0

Documentation

Overview

Package evm implements the chain-agnostic adapter interfaces (see pkg/core) against an EVM chain, one focused type per concern: Depositor and WithdrawalFinalizer (the vault money path), plus RegistryAdapter, TokenAdapter, FraudAdapter, and FaucetAdapter. Each wraps the relevant generated binding(s) over a caller-supplied *ethclient.Client; write-capable types additionally take a sign.Signer (the registry/token/faucet/fraud adapters take a raw key). The package never dials on its own behalf beyond resolving the chain ID for the transactor.

Index

Constants

View Source
const BLSPubkeyCacheSize = 128

BLSPubkeyCacheSize is the expected G2 serialization length (ADR-008 / ISSUE-035 WS-3): 128 bytes in the X.A1 || X.A0 || Y.A1 || Y.A0 layout.

Variables

View Source
var ConfigABI = ConfigMetaData.ABI

ConfigABI is the input ABI used to generate the binding from. Deprecated: Use ConfigMetaData.ABI instead.

View Source
var ConfigBin = ConfigMetaData.Bin

ConfigBin is the compiled bytecode used for deploying new contracts. Deprecated: Use ConfigMetaData.Bin instead.

View Source
var ConfigGovernorABI = ConfigGovernorMetaData.ABI

ConfigGovernorABI is the input ABI used to generate the binding from. Deprecated: Use ConfigGovernorMetaData.ABI instead.

View Source
var ConfigGovernorBin = ConfigGovernorMetaData.Bin

ConfigGovernorBin is the compiled bytecode used for deploying new contracts. Deprecated: Use ConfigGovernorMetaData.Bin instead.

View Source
var ConfigGovernorMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"config_\",\"type\":\"address\",\"internalType\":\"contractIConfig\"},{\"name\":\"initialOperators\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"initialThreshold\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"owner_\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"config\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isOperator\",\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"operatorNonce\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"operators\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"resetOperators\",\"inputs\":[{\"name\":\"newOperators\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setConfig\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"checksum\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"expectedEpoch\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"signatures\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"threshold\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateOperators\",\"inputs\":[{\"name\":\"newOperators\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"operatorNonce_\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"signatures\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"ConfigCommitted\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"checksum\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"newEpoch\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OperatorsUpdated\",\"inputs\":[{\"name\":\"newOperators\",\"type\":\"address[]\",\"indexed\":false,\"internalType\":\"address[]\"},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"BelowThreshold\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignature\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignatureLength\",\"inputs\":[{\"name\":\"length\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignatureS\",\"inputs\":[{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"InvalidThreshold\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotAnOperator\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotEnoughOperators\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OperatorsNotSorted\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OwnableInvalidOwner\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"OwnableUnauthorizedAccount\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"SignaturesNotOrdered\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"UnexpectedEpoch\",\"inputs\":[{\"name\":\"expected\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"actual\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"UnexpectedNonce\",\"inputs\":[{\"name\":\"expected\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"actual\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ZeroOperator\",\"inputs\":[]}]",
	Bin: "0x60a0604052346103d1576111a580380380610019816103d5565b9283398101906080818303126103d15780516001600160a01b03811691908281036103d15760208201516001600160401b0381116103d15782019284601f850112156103d1578351946001600160401b038611610374578560051b9460206100828188016103d5565b809881520190602082978201019283116103d157602001905b8282106103b9575050506040830151926001600160a01b03906100c0906060016103fa565b1680156103a657600180546001600160a01b03199081169091555f8054918216831781556001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3156102435760805280156103975780835110610388576003835110610388575f5b600554811015610189577f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08101546001600160a01b03165f908152600260205260409020805460ff19169055600101610135565b50905f5b8351811015610252576001600160a01b036101a8828661040e565b51161561024357806101e7575b6001906001600160a01b036101ca828761040e565b51165f52600260205260405f208260ff198254161790550161018d565b6001600160a01b036101f9828661040e565b51165f19820182811161022f576001600160a01b0390610219908761040e565b5116106101b557638f244e9560e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b6389961e9160e01b5f5260045ffd5b508251909291906001600160401b038111610374576801000000000000000081116103745760055481600555808210610349575b508360055f5260205f205f5b83811061032c57505050508060035560405191604083019060408452518091526060830193905f5b81811061030d577ffbfe9d8242d8f40f67fc06928a0be4790057ee8f0e228f9d84789828124be0c78580888760208301520390a1604051610d6e908161043782396080518181816103d7015261063a0152f35b82516001600160a01b03168652602095860195909201916001016102ba565b82516001600160a01b031681830155602090920191600101610292565b60055f52818060205f20019103905f5b828110610367575050610286565b5f82820155600101610359565b634e487b7160e01b5f52604160045260245ffd5b633c3db75760e01b5f5260045ffd5b63aabd5a0960e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b602080916103c6846103fa565b81520191019061009b565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761037457604052565b51906001600160a01b03821682036103d157565b80518210156104225760209160051b010190565b634e487b7160e01b5f52603260045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816342cde4e81461075f5750806362b9510c146107095780636d70f7ae146106cc578063715018a61461066957806379502c551461062557806379ba5097146105a057806382f36dbd146103765780638da5cb5b1461034f578063c0d8d832146101e6578063e30c3978146101bd578063e673df8a1461013a578063f2fde38b146100cd5763fc4f74f5146100ad575f80fd5b346100ca57806003193601126100ca576020600454604051908152f35b80fd5b50346100ca5760203660031901126100ca576100e76107a9565b6100ef6108a1565b600180546001600160a01b0319166001600160a01b0392831690811790915582549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b50346100ca57806003193601126100ca5760405180916020600554928381520191600582525f516020610d4e5f395f51905f52915b81811061019e5761019a856101868187038261080f565b6040519182916020835260208301906107d3565b0390f35b82546001600160a01b031684526020909301926001928301920161016f565b50346100ca57806003193601126100ca576001546040516001600160a01b039091168152602090f35b50346100ca5760803660031901126100ca576004356001600160401b03811161034b57610217903690600401610779565b6044359291602435916064356001600160401b0381116103475761023f903690600401610779565b600454918288036103305760405197602089018560608b01604083525260808a0199878a5b88811061030b575050926102f892600195928561029a816103089e9f8e60406103039f9e9d9b015203601f19810183528261080f565b5190209060405190602082019246845230604084015260a06060840152600f60c08401526e7570646174654f70657261746f727360881b60e0840152608083015260a082015260e081526102f06101008261080f565b519020610b09565b016004553691610844565b6108dc565b80f35b909b6020806001928f610323858060a01b03916107bf565b168152019d019101610264565b604487898563018af85d60e51b8352600452602452fd5b8480fd5b5080fd5b50346100ca57806003193601126100ca57546040516001600160a01b039091168152602090f35b503461053d57608036600319011261053d576004356024356044356001600160401b03811680910361053d576064356001600160401b03811161053d576103c1903690600401610779565b6040516315f1206b60e31b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290602081602481875afa8015610532575f90610557575b6001600160401b0391501684810361054157509061048491604051602081019046825230604082015260c06060820152600960e082015268736574436f6e66696760b81b6101008201528860808201528760a08201528660c082015261010081526102f06101208261080f565b803b1561053d575f809160446040518094819363d1fd27b360e01b83528960048401528860248401525af180156105325761051c575b506001016001600160401b038111610508577fc71b358da013b9c5fb3a85ec8abed4f2e9d97ed717fda612859e6f552a8fd3fd916001600160401b036040928351928352166020820152a280f35b634e487b7160e01b84526011600452602484fd5b6105299194505f9061080f565b5f9260016104ba565b6040513d5f823e3d90fd5b5f80fd5b84633e481fd360e01b5f5260045260245260445ffd5b506020813d602011610598575b816105716020938361080f565b8101031261053d57516001600160401b038116810361053d576001600160401b0390610417565b3d9150610564565b3461053d575f36600319011261053d57600154336001600160a01b039091160361061257600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b3461053d575f36600319011261053d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461053d575f36600319011261053d576106816108a1565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461053d57602036600319011261053d576001600160a01b036106ed6107a9565b165f526002602052602060ff60405f2054166040519015158152f35b3461053d57604036600319011261053d576004356001600160401b03811161053d5761030361073f61075d923690600401610779565b91906107496108a1565b600160045401600455602435923691610844565b005b3461053d575f36600319011261053d576020906003548152f35b9181601f8401121561053d578235916001600160401b03831161053d576020808501948460051b01011161053d57565b600435906001600160a01b038216820361053d57565b35906001600160a01b038216820361053d57565b90602080835192838152019201905f5b8181106107f05750505090565b82516001600160a01b03168452602093840193909201916001016107e3565b90601f801991011681019081106001600160401b0382111761083057604052565b634e487b7160e01b5f52604160045260245ffd5b929190926001600160401b038411610830578360051b90602060405161086c8285018261080f565b809681520191810192831161053d57905b82821061088957505050565b60208091610896846107bf565b81520191019061087d565b5f546001600160a01b0316330361061257565b80518210156108c85760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b91908015610afa5780835110610aeb576003835110610aeb575f5b600554811015610938575f516020610d4e5f395f51905f528101546001600160a01b03165f908152600260205260409020805460ff191690556001016108f7565b50905f5b8351811015610a01576001600160a01b0361095782866108b4565b5116156109f25780610996575b6001906001600160a01b0361097982876108b4565b51165f52600260205260405f208260ff198254161790550161093c565b6001600160a01b036109a882866108b4565b51165f1982018281116109de576001600160a01b03906109c890876108b4565b51161061096457638f244e9560e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b6389961e9160e01b5f5260045ffd5b50919081516001600160401b03811161083057680100000000000000008111610830578060055481600555808210610abd575b50506020830160055f525f5b828110610a93575050507ffbfe9d8242d8f40f67fc06928a0be4790057ee8f0e228f9d84789828124be0c79181610a88926003556040519283926040845260408401906107d3565b9060208301520390a1565b81516001600160a01b03165f516020610d4e5f395f51905f52820155602090910190600101610a40565b035f5b818110610acf57829150610a34565b5f8382015f516020610d4e5f395f51905f520155600101610ac0565b633c3db75760e01b5f5260045ffd5b63aabd5a0960e01b5f5260045ffd5b9060035490818410610c0f575f948592835b86881015610c00578760051b840135601e198536030181121561053d578401908135916001600160401b03831161053d576020810190833603821361053d5760405190610b72601f8601601f19166020018361080f565b848252602085369201011161053d575f602085610ba496610b9b95838601378301015288610c1d565b90939193610c57565b6001600160a01b038281169116811115610bf1575f52600260205260ff60405f20541615610be257935f1981146109de576001978801970193610b1b565b63d857ba2b60e01b5f5260045ffd5b6303941dd360e21b5f5260045ffd5b509450945050905010610c0f57565b625713a160e91b5f5260045ffd5b8151919060418303610c4d57610c469250602082015190606060408401519301515f1a90610ccb565b9192909190565b50505f9160029190565b6004811015610cb75780610c69575050565b60018103610c805763f645eedf60e01b5f5260045ffd5b60028103610c9b575063fce698f760e01b5f5260045260245ffd5b600314610ca55750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610d42579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610532575f516001600160a01b03811615610d3857905f905f90565b505f906001905f90565b5050505f916003919056fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0",
}

ConfigGovernorMetaData contains all meta data concerning the ConfigGovernor contract.

View Source
var ConfigMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"owner_\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"configChecksumAt\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"index\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"configChecksums\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32[]\",\"internalType\":\"bytes32[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"configEpoch\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"configWriter\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"latestConfigChecksum\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setConfig\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"checksum\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setConfigWriter\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"writer\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"ConfigSet\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"writer\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"checksum\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"epoch\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ConfigWriterSet\",\"inputs\":[{\"name\":\"key\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"previousWriter\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newWriter\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"EmptyConfigKey\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"EpochOutOfRange\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotConfigWriter\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OwnableInvalidOwner\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"OwnableUnauthorizedAccount\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}]}]",
	Bin: "0x60803460c157601f61070838819003918201601f19168301916001600160401b0383118484101760c55780849260209460405283398101031260c157516001600160a01b0381169081900360c157801560ae57600180546001600160a01b03199081169091555f80549182168317815560405192916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361062e90816100da8239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80632676450c146105925780633632ad79146105605780633cb37e57146104e6578063715018a61461048357806379ba5097146103fe5780638da5cb5b146103d7578063af890358146103a3578063d1fd27b3146102d2578063e30c3978146102aa578063f2fde38b14610237578063fec5bedb146101675763fee579951461009d575f80fd5b34610163576040366003190112610163576024356001600160a01b0381169060043590829003610163578015610154575f8181526003602052604081205490546001600160a01b039182169291163314801561014b575b1561013c575f81815260036020526040812080546001600160a01b031916851790557f46f01f011115ff538e9d22228830993d46f2ed2657987b0840069c92f3ae163e9080a4005b637187556f60e11b5f5260045ffd5b508133146100f4565b6355a9397560e11b5f5260045ffd5b5f80fd5b34610163576020366003190112610163576004355f52600260205260405f2060405190816020825491828152019081925f5260205f20905f5b81811061022157505050829003601f01601f191682019167ffffffffffffffff83118184101761020d5790829182604052602083019060208452518091526040830191905f5b8181106101f4575050500390f35b82518452859450602093840193909201916001016101e6565b634e487b7160e01b5f52604160045260245ffd5b82548452602090930192600192830192016101a0565b34610163576020366003190112610163576004356001600160a01b038116908190036101635761026561061b565b600180546001600160a01b031916821790555f80546001600160a01b0316907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b34610163575f366003190112610163576001546040516001600160a01b039091168152602090f35b34610163576040366003190112610163576004355f818152600360205260409020546001600160a01b0316906024353315158061039a575b1561013c57815f52600260205260405f20908154906801000000000000000082101561020d57610363827f952e9f054f8f14436d21495120b5658808398d89e8240fca0e0b5669e4dbb0139460016040950181556105f2565b81549060031b9083821b915f19901b1916179055835f52600260205267ffffffffffffffff825f20541682519182526020820152a3005b5082331461030a565b34610163576020366003190112610163576004355f526002602052602067ffffffffffffffff60405f205416604051908152f35b34610163575f366003190112610163575f546040516001600160a01b039091168152602090f35b34610163575f36600319011261016357600154336001600160a01b039091160361047057600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b34610163575f3660031901126101635761049b61061b565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461016357602036600319011261016357600435805f52600260205260405f20549081155f1461051e57505060205f5b604051908152f35b5f52600260205260405f205f19820191821161054c57602091610540916105f2565b90549060031b1c610516565b634e487b7160e01b5f52601160045260245ffd5b34610163576020366003190112610163576004355f526003602052602060018060a01b0360405f205416604051908152f35b346101635760403660031901126101635760043560243590805f52600260205260405f20548210156105e3576020916105d4915f526002835260405f206105f2565b90549060031b1c604051908152f35b6316f4c85360e01b5f5260045ffd5b8054821015610607575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b5f546001600160a01b031633036104705756",
}

ConfigMetaData contains all meta data concerning the Config contract.

View Source
var CustodyABI = CustodyMetaData.ABI

CustodyABI is the input ABI used to generate the binding from. Deprecated: Use CustodyMetaData.ABI instead.

View Source
var CustodyBin = CustodyMetaData.Bin

CustodyBin is the compiled bytecode used for deploying new contracts. Deprecated: Use CustodyMetaData.Bin instead.

View Source
var CustodyMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"initialSigners\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"initialThreshold\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"receive\",\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"deposit\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"asset\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"depositReference\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"execute\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"asset\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"withdrawalId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"deadline\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"signatures\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"executed\",\"inputs\":[{\"name\":\"withdrawalId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isSigner\",\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"signerNonce\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"signers\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"threshold\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"updateSigners\",\"inputs\":[{\"name\":\"newSigners\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"signatures\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"Deposited\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"depositReference\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"depositor\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Executed\",\"inputs\":[{\"name\":\"withdrawalId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SignersUpdated\",\"inputs\":[{\"name\":\"newSigners\",\"type\":\"address[]\",\"indexed\":false,\"internalType\":\"address[]\"},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignature\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignatureLength\",\"inputs\":[{\"name\":\"length\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignatureS\",\"inputs\":[{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"ReentrancyGuardReentrantCall\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"SafeERC20FailedOperation\",\"inputs\":[{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"}]}]",
	Bin: "0x60806040523461039c5761139d80380380610019816103a0565b928339810160408282031261039c5781516001600160401b03811161039c5782019181601f8401121561039c578251926001600160401b03841161029a578360051b9260206100698186016103a0565b8096815201916020839582010191821161039c57602001915b81831061037c575050506020015160017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055801561033757808351106102f35760038351106102ae575f5b83518110156101fc576001600160a01b036100e882866103c5565b5116156101b75780610126575b6001906001600160a01b0361010a82876103c5565b51165f528160205260405f208260ff19825416179055016100cd565b6001600160a01b0361013882866103c5565b51165f1982018281116101a3576001600160a01b039061015890876103c5565b5116106100f557606460405162461bcd60e51b815260206004820152602060248201527f5369676e657273206d75737420626520736f7274656420617363656e64696e676044820152fd5b634e487b7160e01b5f52601160045260245ffd5b60405162461bcd60e51b815260206004820152601360248201527f5a65726f2061646472657373207369676e6572000000000000000000000000006044820152606490fd5b509151906001600160401b03821161029a5768010000000000000000821161029a576004548260045580831061026f575b5060045f5260205f205f5b8381106102525784600255604051610faf90816103ee8239f35b82516001600160a01b031681830155602090920191600101610238565b60045f52828060205f20019103905f5b82811061028d57505061022d565b5f8282015560010161027f565b634e487b7160e01b5f52604160045260245ffd5b60405162461bcd60e51b815260206004820152601760248201527f4e656564206174206c656173742033207369676e6572730000000000000000006044820152606490fd5b606460405162461bcd60e51b815260206004820152602060248201527f4e6f7420656e6f756768207369676e65727320666f72207468726573686f6c646044820152fd5b60405162461bcd60e51b815260206004820152601a60248201527f5468726573686f6c64206d75737420626520706f7369746976650000000000006044820152606490fd5b82516001600160a01b038116810361039c57815260209283019201610082565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761029a57604052565b80518210156103d95760209160051b010190565b634e487b7160e01b5f52603260045260245ffdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c9081630ce8d62214610a99575080630e2411ac146106725780631be51b831461038f57806342cde4e81461037257806346f0975a146102bd5780637df73e2714610280578063a9fcfb33146102525763c98444f714610080575f61000f565b608036600319011261024e57610094610ae4565b61009c610afa565b604435916100a8610dfb565b6001600160a01b031690811561021a576100c3831515610bbc565b6001600160a01b0316918261016057803403610126575b60405192338452602084015260408301527f29856f6638b9b9b8d4e50e7b837b6bfad87b2ce76577304d1b178e02d6d9eb02606060643593a360015f516020610f8f5f395f51905f5255005b60405162461bcd60e51b815260206004820152601260248201527108aa89040ecc2d8eaca40dad2e6dac2e8c6d60731b6044820152606490fd5b346101d5576040516323b872dd60e01b5f5233600452306024528160445260205f60648180885af19060015f51148216156101b4575b6040525f6060526100da5782635274afe760e01b5f5260045260245ffd5b9060018115166101cc57843b15153d15161690610196565b503d5f823e3d90fd5b60405162461bcd60e51b815260206004820152601b60248201527f4554482073656e742077697468204552433230206465706f73697400000000006044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b16995c9bc81858d8dbdd5b9d60a21b6044820152606490fd5b5f80fd5b3461024e57602036600319011261024e576004355f525f602052602060ff60405f2054166040519015158152f35b3461024e57602036600319011261024e576001600160a01b036102a1610ae4565b165f526001602052602060ff60405f2054166040519015158152f35b3461024e575f36600319011261024e576040518060206004549283815201809260045f525f516020610f6f5f395f51905f52905f5b8181106103535750505081610308910382610b62565b604051918291602083019060208452518091526040830191905f5b818110610331575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610323565b82546001600160a01b03168452602090930192600192830192016102f2565b3461024e575f36600319011261024e576020600254604051908152f35b3461024e5760c036600319011261024e576103a8610ae4565b6103b0610afa565b60443590606435916084359160a43567ffffffffffffffff811161024e576103dc903690600401610ab3565b9590916103e7610dfb565b855f525f60205260ff60405f20541661063a576001600160a01b03821696871561060457610416851515610bbc565b8542116105d55784936104729260405160208101914683523060408301528b606083015260018060a01b0316988960808301528760a08301528a60c083015260e082015260e0815261046a61010082610b62565b519020610c12565b845f525f60205260405f20600160ff1982541617905583155f14610549575f80809381935af13d15610544573d6104a881610bf6565b906104b66040519283610b62565b81525f60203d92013e5b15610509577fe57dd573634102b6cae74aab341f709f6fc3ae2bdc0a35f9a47a85f45b677a21916040915b82519182526020820152a360015f516020610f8f5f395f51905f5255005b60405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606490fd5b6104c0565b505060405163a9059cbb60e01b5f52846004528160245260205f60448180875af19060015f51148216156105bd575b604052156105aa577fe57dd573634102b6cae74aab341f709f6fc3ae2bdc0a35f9a47a85f45b677a21916040916104eb565b50635274afe760e01b5f5260045260245ffd5b9060018115166101cc57833b15153d15161690610578565b60405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d16995c9bc81c9958da5c1a595b9d60921b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e48195e1958dd5d195960821b6044820152606490fd5b3461024e57606036600319011261024e5760043567ffffffffffffffff811161024e576106a3903690600401610ab3565b906024359160443567ffffffffffffffff811161024e576106c8903690600401610ab3565b908415610a5457848310610a1057600383106109cb57610762600192604051602081019061070a816106fc8b8a8c87610b10565b03601f198101835282610b62565b5190209260035493604051602081019146835230604083015260a06060830152600d60c08301526c7570646174655369676e65727360981b60e083015260808201528560a082015260e0815261046a61010082610b62565b016003555f5b6004548110156107aa575f516020610f6f5f395f51905f528101546001600160a01b03165f908152600160208190526040909120805460ff1916905501610768565b50905f5b82811061089b575067ffffffffffffffff821161088757680100000000000000008211610887578160045481600455808210610859575b50508060045f525f5b83811061083157505061082c837feb4dc7fab86d67670d7a4d7443a38860da1aa053f26529c8f41cc68e5d6a93369460025560405193849384610b10565b0390a1005b600190602061083f84610ba8565b930192815f516020610f6f5f395f51905f520155016107ee565b035f5b81811061086b578391506107e5565b5f8482015f516020610f6f5f395f51905f52015560010161085c565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b036108b66108b1838686610b84565b610ba8565b161561099057806108f6575b6001906001600160a01b036108db6108b1838787610b84565b165f528160205260405f208260ff19825416179055016107ae565b6109046108b1828585610b84565b5f19820182811161097c576001600160a01b0390610927906108b1908787610b84565b166001600160a01b03909116116108c257606460405162461bcd60e51b815260206004820152602060248201527f5369676e657273206d75737420626520736f7274656420617363656e64696e676044820152fd5b634e487b7160e01b5f52601160045260245ffd5b60405162461bcd60e51b81526020600482015260136024820152722d32b9379030b2323932b9b99039b4b3b732b960691b6044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f4e656564206174206c656173742033207369676e6572730000000000000000006044820152606490fd5b606460405162461bcd60e51b815260206004820152602060248201527f4e6f7420656e6f756768207369676e65727320666f72207468726573686f6c646044820152fd5b60405162461bcd60e51b815260206004820152601a60248201527f5468726573686f6c64206d75737420626520706f7369746976650000000000006044820152606490fd5b3461024e575f36600319011261024e576020906003548152f35b9181601f8401121561024e5782359167ffffffffffffffff831161024e576020808501948460051b01011161024e57565b600435906001600160a01b038216820361024e57565b602435906001600160a01b038216820361024e57565b6040808252810183905293929160608501905f905b808210610b3757505060209150930152565b909183356001600160a01b038116919082900361024e57908152602093840193019160010190610b25565b90601f8019910116810190811067ffffffffffffffff82111761088757604052565b9190811015610b945760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361024e5790565b15610bc357565b60405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606490fd5b67ffffffffffffffff811161088757601f01601f191660200190565b9060025490818410610dc4575f948592835b86881015610d70578760051b840135601e198536030181121561024e5784019081359167ffffffffffffffff831161024e576020810190833603821361024e57610c6d84610bf6565b90610c7b6040519283610b62565b848252602085369201011161024e575f602085610cad96610ca495838601378301015288610e33565b90939193610e6d565b6001600160a01b038281169116811115610d1f575f52600160205260ff60405f20541615610ceb57935f19811461097c576001978801970193610c24565b60405162461bcd60e51b815260206004820152600c60248201526b2737ba10309039b4b3b732b960a11b6044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f5369676e617475726573206e6f74206f726465726564206f72206475706c696360448201526261746560e81b6064820152608490fd5b509450945050905010610d7f57565b60405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e742076616c6964207369676e6174757265730000006044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e10995b1bddc81d1a1c995cda1bdb19608a1b6044820152606490fd5b60025f516020610f8f5f395f51905f525414610e245760025f516020610f8f5f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b8151919060418303610e6357610e5c9250602082015190606060408401519301515f1a90610ee1565b9192909190565b50505f9160029190565b6004811015610ecd5780610e7f575050565b60018103610e965763f645eedf60e01b5f5260045ffd5b60028103610eb1575063fce698f760e01b5f5260045260245ffd5b600314610ebb5750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f63579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f58575f516001600160a01b03811615610f4e57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f916003919056fe8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00",
}

CustodyMetaData contains all meta data concerning the Custody contract.

View Source
var FaucetABI = FaucetMetaData.ABI

FaucetABI is the input ABI used to generate the binding from. Deprecated: Use FaucetMetaData.ABI instead.

View Source
var FaucetBin = FaucetMetaData.Bin

FaucetBin is the compiled bytecode used for deploying new contracts. Deprecated: Use FaucetMetaData.Bin instead.

View Source
var FaucetMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_token\",\"type\":\"address\",\"internalType\":\"contractIERC20\"},{\"name\":\"_dripAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_cooldown\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"TOKEN\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIERC20\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"cooldown\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"drip\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"dripAmount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"dripTo\",\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"lastDrip\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"setCooldown\",\"inputs\":[{\"name\":\"_cooldown\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setDripAmount\",\"inputs\":[{\"name\":\"_dripAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setOwner\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"withdraw\",\"inputs\":[{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"CooldownUpdated\",\"inputs\":[{\"name\":\"newCooldown\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"DripAmountUpdated\",\"inputs\":[{\"name\":\"newAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Dripped\",\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnerUpdated\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false}]",
	Bin: "0x60a03461009a57601f6107bb38819003918201601f19168301916001600160401b0383118484101761009e5780849260609460405283398101031261009a578051906001600160a01b038216820361009a5760406020820151910151916080523360018060a01b03195f5416175f5560015560025560405161070890816100b3823960805181818161011d0152818161026d01526104e30152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081630935f004146103d35750806313af40351461032c5780632e1a7d4d1461021e57806335a1529b146102015780634fc3f41a146101b5578063543f8c5814610169578063787a08a61461014c57806382bfefc8146101085780638da5cb5b146100e15780639f678cca146100c85763cabee26e14610095575f80fd5b346100c45760203660031901126100c4576004356001600160a01b03811681036100c4576100c2906104a6565b005b5f80fd5b346100c4575f3660031901126100c4576100c2336104a6565b346100c4575f3660031901126100c4575f546040516001600160a01b039091168152602090f35b346100c4575f3660031901126100c4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100c4575f3660031901126100c4576020600254604051908152f35b346100c45760203660031901126100c4577f33f3faee0788ab897d8f674abe1dde6d93ba901e4a1502161294734ba178e3c760206004356101a861045a565b80600155604051908152a1005b346100c45760203660031901126100c4577f583d8b24c5439ab7d810e51e37e8db41ba66f1168fd7b752ceae0c7681c5272c60206004356101f461045a565b80600255604051908152a1005b346100c4575f3660031901126100c4576020600154604051908152f35b346100c45760203660031901126100c45761023761045a565b5f5460405163a9059cbb60e01b81526001600160a01b03909116600480830191909152356024820152602081806044810103815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610321575f916102f2575b50156102ad57005b60405162461bcd60e51b815260206004820152601760248201527f4661756365743a207769746864726177206661696c65640000000000000000006044820152606490fd5b610314915060203d60201161031a575b61030c818361040c565b810190610442565b816102a5565b503d610302565b6040513d5f823e3d90fd5b346100c45760203660031901126100c4576004356001600160a01b038116908190036100c45761035a61045a565b8015610397575f80546001600160a01b031916821781557f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b9080a2005b60405162461bcd60e51b81526020600482015260146024820152734661756365743a207a65726f206164647265737360601b6044820152606490fd5b346100c45760203660031901126100c4576004356001600160a01b03811691908290036100c4576020915f526003825260405f20548152f35b90601f8019910116810190811067ffffffffffffffff82111761042e57604052565b634e487b7160e01b5f52604160045260245ffd5b908160209103126100c4575180151581036100c45790565b5f546001600160a01b0316330361046d57565b60405162461bcd60e51b81526020600482015260116024820152702330bab1b2ba1d103737ba1037bbb732b960791b6044820152606490fd5b6001600160a01b0381165f818152600360205260409020549091901580156106d2575b1561068d576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081602481855afa908115610321575f9161065b575b5060015411610616575f838152600360209081526040808320429055600154905163a9059cbb60e01b81526001600160a01b0395909516600486015260248501529183916044918391905af1908115610321575f916105f7575b50156105b2577f0daf449977d5acafa35195e10b3eb92f97839892a6653afaba222379b58d8a9b6020600154604051908152a2565b60405162461bcd60e51b815260206004820152601760248201527f4661756365743a207472616e73666572206661696c65640000000000000000006044820152606490fd5b610610915060203d60201161031a5761030c818361040c565b5f61057d565b60405162461bcd60e51b815260206004820152601c60248201527f4661756365743a20696e73756666696369656e742062616c616e6365000000006044820152606490fd5b90506020813d602011610685575b816106766020938361040c565b810103126100c457515f610523565b3d9150610669565b60405162461bcd60e51b815260206004820152601760248201527f4661756365743a20636f6f6c646f776e206163746976650000000000000000006044820152606490fd5b50815f52600360205260405f205460025481018091116106f4574210156104c9565b634e487b7160e01b5f52601160045260245ffd",
}

FaucetMetaData contains all meta data concerning the Faucet contract.

View Source
var MockERC20ABI = MockERC20MetaData.ABI

MockERC20ABI is the input ABI used to generate the binding from. Deprecated: Use MockERC20MetaData.ABI instead.

View Source
var MockERC20Bin = MockERC20MetaData.Bin

MockERC20Bin is the compiled bytecode used for deploying new contracts. Deprecated: Use MockERC20MetaData.Bin instead.

View Source
var MockERC20MetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_name\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"_symbol\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"allowance\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"approve\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"balanceOf\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"decimals\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"mint\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"name\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"symbol\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"totalSupply\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transfer\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferFrom\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"Approval\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Transfer\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false}]",
	Bin: "0x60806040523461032e576109b48038038061001981610332565b92833981019060408183031261032e5780516001600160401b03811161032e5782610045918301610357565b60208201519092906001600160401b03811161032e576100659201610357565b6002805460ff1916601217905581516001600160401b038111610239575f54600181811c91168015610324575b602082101461021b57601f81116102b7575b50602092601f821160011461025857928192935f9261024d575b50508160011b915f199060031b1c1916175f555b80516001600160401b03811161023957600154600181811c9116801561022f575b602082101461021b57601f81116101ad575b50602091601f821160011461014d579181925f92610142575b50508160011b915f199060031b1c1916176001555b60405161060b90816103a98239f35b015190505f8061011e565b601f1982169260015f52805f20915f5b8581106101955750836001951061017d575b505050811b01600155610133565b01515f1960f88460031b161c191690555f808061016f565b9192602060018192868501518155019401920161015d565b818111156101055760015f52601f820160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf660208410610213575b81601f9101920160051c03905f5b828110610206575050610105565b5f828201556001016101f8565b5f91506101ea565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100f3565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100be565b601f198216935f8052805f20915f5b86811061029f5750836001959610610287575b505050811b015f556100d2565b01515f1960f88460031b161c191690555f808061027a565b91926020600181928685015181550194019201610267565b818111156100a4575f8052601f820160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636020841061031c575b81601f9101920160051c03905f5b82811061030f5750506100a4565b5f82820155600101610301565b5f91506102f3565b90607f1690610092565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761023957604052565b81601f8201121561032e578051906001600160401b03821161023957610386601f8301601f1916602001610332565b928284526020838301011161032e57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146104b5578063095ea7b31461043c57806318160ddd1461041f57806323b872dd1461035a578063313ce5671461033a57806340c10f19146102c057806370a082311461028857806395d89b411461016a578063a9059cbb146100db5763dd62ed3e14610087575f80fd5b346100d75760403660031901126100d7576100a06105b1565b6100a86105c7565b6001600160a01b039182165f908152600560209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100d75760403660031901126100d7576100f46105b1565b60243590335f52600460205260405f2061010f8382546105dd565b905560018060a01b031690815f52600460205260405f206101318282546105fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b346100d7575f3660031901126100d7576040515f6001548060011c9060018116801561027e575b60208310811461026a5782855290811561024e57506001146101f8575b50819003601f01601f191681019067ffffffffffffffff8211818310176101e457604082905281906101e09082610587565b0390f35b634e487b7160e01b5f52604160045260245ffd5b60015f9081529091507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828210610238575060209150820101826101ae565b6001816020925483858801015201910190610223565b90506020925060ff191682840152151560051b820101826101ae565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610191565b346100d75760203660031901126100d7576001600160a01b036102a96105b1565b165f526004602052602060405f2054604051908152f35b346100d75760403660031901126100d7576102d96105b1565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206024359360018060a01b03169384845260048252604084206103208282546105fe565b905561032e816003546105fe565b600355604051908152a3005b346100d7575f3660031901126100d757602060ff60025416604051908152f35b346100d75760603660031901126100d7576103736105b1565b61037b6105c7565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206044359360018060a01b031692835f526005825260405f2060018060a01b0333165f52825260405f206103d28682546105dd565b9055835f526004825260405f206103ea8682546105dd565b905560018060a01b031693845f526004825260405f2061040b8282546105fe565b9055604051908152a3602060405160018152f35b346100d7575f3660031901126100d7576020600354604051908152f35b346100d75760403660031901126100d7576104556105b1565b335f8181526005602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b346100d7575f3660031901126100d7576040515f5f548060011c9060018116801561057d575b60208310811461026a5782855290811561024e57506001146105295750819003601f01601f191681019067ffffffffffffffff8211818310176101e457604082905281906101e09082610587565b5f8080529091507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828210610567575060209150820101826101ae565b6001816020925483858801015201910190610552565b91607f16916104db565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100d757565b602435906001600160a01b03821682036100d757565b919082039182116105ea57565b634e487b7160e01b5f52601160045260245ffd5b919082018092116105ea5756",
}

MockERC20MetaData contains all meta data concerning the MockERC20 contract.

View Source
var NodeIDABI = NodeIDMetaData.ABI

NodeIDABI is the input ABI used to generate the binding from. Deprecated: Use NodeIDMetaData.ABI instead.

View Source
var NodeIDBin = NodeIDMetaData.Bin

NodeIDBin is the compiled bytecode used for deploying new contracts. Deprecated: Use NodeIDMetaData.Bin instead.

View Source
var NodeIDMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"MAX_NODES\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"approve\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"availableSlots\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"balanceOf\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"baseTokenURI\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getApproved\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isApprovedForAll\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"mint\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"minActivationAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"vestingPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"mintBatch\",\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"minActivationAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"vestingPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[{\"name\":\"firstTokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"lastTokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"mintToRegistry\",\"inputs\":[{\"name\":\"minActivationAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"vestingPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"name\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"ownerOf\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"registry\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"safeTransferFrom\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"safeTransferFrom\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setApprovalForAll\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setBaseTokenURI\",\"inputs\":[{\"name\":\"baseURI\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setRegistry\",\"inputs\":[{\"name\":\"newRegistry\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"supportsInterface\",\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"symbol\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"termsOf\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structNodeID.Terms\",\"components\":[{\"name\":\"mintedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"vestingPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"minActivationAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"tokenURI\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferFrom\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"Approval\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"approved\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ApprovalForAll\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"operator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\",\"indexed\":false,\"internalType\":\"bool\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"oldOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RegistryUpdated\",\"inputs\":[{\"name\":\"oldRegistry\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newRegistry\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SlotsMinted\",\"inputs\":[{\"name\":\"by\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"firstTokenId\",\"type\":\"uint32\",\"indexed\":true,\"internalType\":\"uint32\"},{\"name\":\"lastTokenId\",\"type\":\"uint32\",\"indexed\":true,\"internalType\":\"uint32\"},{\"name\":\"minActivationAmount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"vestingPeriod\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Transfer\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\",\"indexed\":true,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"AllSlotsMinted\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"DirectRegistryTransfer\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ERC721IncorrectOwner\",\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC721InsufficientApproval\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ERC721InvalidApprover\",\"inputs\":[{\"name\":\"approver\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC721InvalidOperator\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC721InvalidOwner\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC721InvalidReceiver\",\"inputs\":[{\"name\":\"receiver\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC721InvalidSender\",\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC721NonexistentToken\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"NotOwner\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotRegistry\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ZeroAddress\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ZeroCount\",\"inputs\":[]}]",
	Bin: "0x60806040523461037a57611b496020813803918261001c8161037e565b93849283398101031261037a57516001600160a01b0381169081900361037a57610046604061037e565b90600e82526d10db19585c939bd9194814db1bdd60921b602083015261006c604061037e565b600681526510d394d313d560d21b602082015282519091906001600160401b038111610283575f54600181811c91168015610370575b602082101461026557601f8111610303575b506020601f82116001146102a257819293945f92610297575b50508160011b915f199060031b1c1916175f555b81516001600160401b03811161028357600154600181811c91168015610279575b602082101461026557601f81116101f7575b50602092601f821160011461019657928192935f9261018b575b50508160011b915f199060031b1c1916176001555b600163ffffffff196009541617600955801561017c57600680546001600160a01b0319169190911790556040516117a590816103a48239f35b63d92e233d60e01b5f5260045ffd5b015190505f8061012e565b601f1982169360015f52805f20915f5b8681106101df57508360019596106101c7575b505050811b01600155610143565b01515f1960f88460031b161c191690555f80806101b9565b919260206001819286850151815501940192016101a6565b818111156101145760015f52601f820160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66020841061025d575b81601f9101920160051c03905f5b828110610250575050610114565b5f82820155600101610242565b5f9150610234565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610102565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100cd565b601f198216905f8052805f20915f5b8181106102eb575095836001959697106102d3575b505050811b015f556100e1565b01515f1960f88460031b161c191690555f80806102c6565b9192602060018192868b0151815501940192016102b1565b818111156100b4575f8052601f820160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56360208410610368575b81601f9101920160051c03905f5b82811061035b5750506100b4565b5f8282015560010161034d565b5f915061033f565b90607f16906100a2565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176102835760405256fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610d3b5750806306fdde0314610c99578063081812fc14610c5d578063095ea7b314610b7357806323b872dd14610b5c57806330176e13146109f657806342842e0e146109cd5780636352211e1461099d57806370a082311461094c5780637b103999146109245780638b3d35ae1461088e5780638da5cb5b146108665780638eeda103146107cc5780638f16e1cd146107af57806395d89b411461070a578063a22cb4651461066f578063a91ee0dc146105fc578063b88d4fde14610573578063c87b56dd14610554578063d547cfb714610485578063e6fb38131461042a578063e8804a2b1461033f578063e985e9c5146102e8578063f2fde38b146102665763ff875f031461012f575f80fd5b3461024e57606036600319011261024e576004356001600160401b03811161024e573660238201121561024e578060040135906001600160401b038211610252578160051b9060208201926101876040519485610e61565b8352602460208401928201019036821161024e57602401915b81831061022e57604063ffffffff61021f60243582817f9902251bf2894876d6d1dc26c5e2005e75018334706538cb7bf283598aefc42b6101f38b6101e3610e30565b9586916101ee6114e5565b611515565b93169586931694859488519182913395839092916001600160401b036020916040840195845216910152565b0390a482519182526020820152f35b82356001600160a01b038116810361024e578152602092830192016101a0565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b3461024e57602036600319011261024e5761027f610dca565b6102876114e5565b6001600160a01b031680156102d957600680546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b63d92e233d60e01b5f5260045ffd5b3461024e57604036600319011261024e57610301610dca565b610309610de0565b9060018060a01b03165f52600560205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461024e57604036600319011261024e576004356024356001600160401b038116810361024e576007546001600160a01b031633811480610421575b15610412576104097f9902251bf2894876d6d1dc26c5e2005e75018334706538cb7bf283598aefc42b9260209463ffffffff6103df83836040978851906103c28a83610e61565b60018252601f198a01368d8401376103d9826110d6565b52611515565b5016948593849386519182913395839092916001600160401b036020916040840195845216910152565b0390a451908152f35b633217675b60e21b5f5260045ffd5b5080151561037b565b3461024e575f36600319011261024e575f1963ffffffff600954160163ffffffff81116104715763ffffffff16620100000362010000811161047157602090604051908152f35b634e487b7160e01b5f52601160045260245ffd5b3461024e575f36600319011261024e576040515f6008546104a581610e9d565b808452906001811690811561053057506001146104e5575b6104e1836104cd81850382610e61565b604051918291602083526020830190610da6565b0390f35b60085f9081525f5160206117855f395f51905f52939250905b808210610516575090915081016020016104cd6104bd565b9192600181602092548385880101520191019092916104fe565b60ff191660208086019190915291151560051b840190910191506104cd90506104bd565b3461024e57602036600319011261024e576104e16104cd60043561124b565b3461024e57608036600319011261024e5761058c610dca565b610594610de0565b606435916001600160401b03831161024e573660238401121561024e578260040135916105c083610e82565b926105ce6040519485610e61565b808452366024828701011161024e576020815f9260246105fa980183880137850101526044359161110b565b005b3461024e57602036600319011261024e57610615610dca565b61061d6114e5565b6001600160a01b031680156102d957600780546001600160a01b0319811683179091556001600160a01b03167f482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b825f80a3005b3461024e57604036600319011261024e57610688610dca565b6024359081151580920361024e576001600160a01b03169081156106f757335f52600560205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b5f5260045260245ffd5b3461024e575f36600319011261024e576040515f60015461072a81610e9d565b80845290600181169081156105305750600114610751576104e1836104cd81850382610e61565b60015f9081527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b808210610795575090915081016020016104cd6104bd565b91926001816020925483858801015201910190929161077d565b3461024e575f36600319011261024e576020604051620100008152f35b3461024e57602036600319011261024e5760043563ffffffff811680910361024e575f604080516107fc81610e46565b8281528260208201520152610810816114b1565b505f52600a602052606060405f2060405161082a81610e46565b6001600160401b0382546040600183831695868652846020870194841c1684520154930192835260405193845251166020830152516040820152f35b3461024e575f36600319011261024e576006546040516001600160a01b039091168152602090f35b3461024e57606036600319011261024e5760207f9902251bf2894876d6d1dc26c5e2005e75018334706538cb7bf283598aefc42b6108ca610dca565b6104096024356108d8610e30565b906108e16114e5565b63ffffffff6103df83836040978851906108fb8a83610e61565b60018252601f198a01368d840137610912826110d6565b6001600160a01b039091169052611515565b3461024e575f36600319011261024e576007546040516001600160a01b039091168152602090f35b3461024e57602036600319011261024e576001600160a01b0361096d610dca565b16801561098a575f526003602052602060405f2054604051908152f35b6322718ad960e21b5f525f60045260245ffd5b3461024e57602036600319011261024e5760206109bb6004356114b1565b6040516001600160a01b039091168152f35b3461024e576105fa6109de36610df6565b90604051926109ee602085610e61565b5f845261110b565b3461024e57602036600319011261024e576004356001600160401b03811161024e573660238201121561024e5780600401356001600160401b03811161024e57366024828401011161024e57610a4a6114e5565b610a55600854610e9d565b601f8111610b05575b505f601f8211600114610a9a5781925f92610a8c575b50505f19600383901b1c191660019190911b17600855005b602492500101358280610a74565b601f198216925f5160206117855f395f51905f52915f5b858110610aea57508360019510610ace575b505050811b01600855005b01602401355f19600384901b60f8161c19169055828080610ac3565b90926020600181926024878701013581550194019101610ab1565b81811115610a5e57601f820160051c9060208310610b54575b601f82910160051c03905f5b828110610b38575050610a5e565b5f8282015f5160206117855f395f51905f520155600101610b2a565b5f9150610b1e565b3461024e576105fa610b6d36610df6565b91610ed5565b3461024e57604036600319011261024e57610b8c610dca565b602435610b98816114b1565b33151580610c4a575b80610c1d575b610c0a5781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f90815260046020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b5f523360045260245ffd5b506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff1615610ba7565b506001600160a01b038116331415610ba1565b3461024e57602036600319011261024e57600435610c7a816114b1565b505f526004602052602060018060a01b0360405f205416604051908152f35b3461024e575f36600319011261024e576040515f5f54610cb881610e9d565b80845290600181169081156105305750600114610cdf576104e1836104cd81850382610e61565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b808210610d21575090915081016020016104cd6104bd565b919260018160209254838588010152019101909291610d09565b3461024e57602036600319011261024e576004359063ffffffff60e01b821680920361024e576020916380ac58cd60e01b8114908115610d95575b8115610d84575b5015158152f35b6301ffc9a760e01b14905083610d7d565b635b5e139f60e01b81149150610d76565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361024e57565b602435906001600160a01b038216820361024e57565b606090600319011261024e576004356001600160a01b038116810361024e57906024356001600160a01b038116810361024e579060443590565b604435906001600160401b038216820361024e57565b606081019081106001600160401b0382111761025257604052565b90601f801991011681019081106001600160401b0382111761025257604052565b6001600160401b03811161025257601f01601f191660200190565b90600182811c92168015610ecb575b6020831014610eb757565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610eac565b6001600160a01b03909116919082156110c3575f828152600260205260409020546001600160a01b03161515806110af575b8061109a575b61108b575f828152600260205260409020546001600160a01b031692829033151580610ff6575b5084610fc3575b805f52600360205260405f2060018154019055815f52600260205260405f20816bffffffffffffffffffffffff60a01b825416179055847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a46001600160a01b0316808303610fab57505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b5f82815260046020526040902080546001600160a01b0319169055845f52600360205260405f205f198154019055610f3b565b9091508061103a575b1561100c5782905f610f34565b828461102457637e27328960e01b5f5260045260245ffd5b63177e802f60e01b5f523360045260245260445ffd5b503384148015611069575b80610fff57505f838152600460205260409020546001600160a01b03163314610fff565b505f84815260056020908152604080832033845290915290205460ff16611045565b63588e7fef60e11b5f5260045ffd5b506007546001600160a01b0316331415610f0d565b506007546001600160a01b03168314610f07565b633250574960e11b5f525f60045260245ffd5b8051156110e35760200190565b634e487b7160e01b5f52603260045260245ffd5b80518210156110e35760209160051b010190565b9291611118818386610ed5565b813b611125575b50505050565b604051630a85bd0160e11b81523360048201526001600160a01b0394851660248201526044810191909152608060648201529216919060209082908190611170906084830190610da6565b03815f865af15f9181611206575b506111d357503d156111cc573d61119481610e82565b906111a26040519283610e61565b81523d5f602083013e5b805190816111c75782633250574960e11b5f5260045260245ffd5b602001fd5b60606111ac565b6001600160e01b03191663757a42ff60e11b016111f457505f80808061111f565b633250574960e11b5f5260045260245ffd5b9091506020813d602011611243575b8161122260209383610e61565b8101031261024e57516001600160e01b03198116810361024e57905f61117e565b3d9150611215565b611254816114b1565b506008549061126282610e9d565b1561149b5780815f9272184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b811015611475575b50806d04ee2d6d415b85acef8100000000600a92101561145a575b662386f26fc10000811015611446575b6305f5e100811015611435575b612710811015611426575b6064811015611418575b101561140e575b6001820190600a60216113096112f385610e82565b946113016040519687610e61565b808652610e82565b602085019590601f19013687378401015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304801561134857600a909161131a565b50506040519283915f9161135b81610e9d565b90600181169081156113ea575060011461139d575b50926005929161139a94518092825e0164173539b7b760d91b815203601a19810184520182610e61565b90565b90915060085f525f5160206117855f395f51905f525f905b8282106113cc57505082016020019061139a611370565b60209192939450806001915483858a010152019101859392916113b5565b60ff19166020808701919091528215159092028501909101925061139a9050611370565b90600101906112de565b6064600291049301926112d7565b612710600491049301926112cd565b6305f5e100600891049301926112c2565b662386f26fc10000601091049301926112b5565b6d04ee2d6d415b85acef8100000000602091049301926112a5565b6040935072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b90049050600a61128a565b50506040516114ab602082610e61565b5f815290565b5f818152600260205260409020546001600160a01b03169081156114d3575090565b637e27328960e01b5f5260045260245ffd5b6006546001600160a01b031633036114f957565b6330cd747160e01b5f5260045ffd5b9190820180921161047157565b9291928051156117755763ffffffff6009541691611534825184611508565b925f19840184811161047157620100008111611766579394426001600160401b031694905f5b8551811015611745576001600160a01b0361157582886110f7565b5116156102d95763ffffffff61158b8286611508565b16906001600160a01b0361159f82896110f7565b511680156110c3575f838152600260205260409020546001600160a01b0316151580611731575b8061171c575b61108b575f838152600260205260409020546001600160a01b0316801515918490836116e9575b5f818152600360209081526040808320805460010190558483526002909152812080546001600160a01b0319166001600160a01b03841617905583907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080a4506116d657600191826040519161166983610e46565b8a83528c6001600160401b03602085019116815260408401918a83525f52600a6020526001600160401b0360405f209451166fffffffffffffffff00000000000000008554925160401b16916fffffffffffffffffffffffffffffffff191617178355519101550161155a565b6339e3563760e11b5f525f60045260245ffd5b5f82815260046020526040902080546001600160a01b0319169055825f52600360205260405f205f1981540190556115f3565b506007546001600160a01b03163314156115cc565b506007546001600160a01b031681146115c6565b5095919350955063ffffffff93508391501682196009541617600955921690565b6304710b1360e11b5f5260045ffd5b63011ee73b60e21b5f5260045ffdfef3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3",
}

NodeIDMetaData contains all meta data concerning the NodeID contract.

View Source
var RegistryABI = RegistryMetaData.ABI

RegistryABI is the input ABI used to generate the binding from. Deprecated: Use RegistryMetaData.ABI instead.

View Source
var RegistryBin = RegistryMetaData.Bin

RegistryBin is the compiled bytecode used for deploying new contracts. Deprecated: Use RegistryMetaData.Bin instead.

View Source
var RegistryMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"nodeID\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"asset\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"networkId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"unbondingPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"basePrice\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"targetPrice\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"owner_\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"ASSET\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractIERC20\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"BASE_PRICE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"MAX_NODES\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"NETWORK_ID\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"NODE_ID\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"TARGET_PRICE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"UNBONDING_PERIOD\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"WARMUP_WINDOW\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"activate\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"blsPubkeyG1\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"blsPubkeyG2\",\"type\":\"uint256[4]\",\"internalType\":\"uint256[4]\"},{\"name\":\"operatorCollateral\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"nodeId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"activeCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"floorPrice\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"fund\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getNodeByBlsG2Hash\",\"inputs\":[{\"name\":\"blsG2Hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodeById\",\"inputs\":[{\"name\":\"nodeId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structNodeRecord\",\"components\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"activatedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"deactivatedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"vestedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"index\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"operatorCollateral\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"sponsorCollateral\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"blsPubkeyG1\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"blsPubkeyG2\",\"type\":\"uint256[4]\",\"internalType\":\"uint256[4]\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodeId\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodeIds\",\"inputs\":[{\"name\":\"offset\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"limit\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32[]\",\"internalType\":\"bytes32[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodes\",\"inputs\":[{\"name\":\"offset\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"limit\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structNodeRecord[]\",\"components\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"activatedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"deactivatedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"vestedAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"index\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"operatorCollateral\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"sponsorCollateral\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"blsPubkeyG1\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"blsPubkeyG2\",\"type\":\"uint256[4]\",\"internalType\":\"uint256[4]\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"liability\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"register\",\"inputs\":[{\"name\":\"blsPubkeyG1\",\"type\":\"uint256[2]\",\"internalType\":\"uint256[2]\"},{\"name\":\"blsPubkeyG2\",\"type\":\"uint256[4]\",\"internalType\":\"uint256[4]\"},{\"name\":\"operatorCollateral\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"nodeId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"release\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setSlasher\",\"inputs\":[{\"name\":\"newSlasher\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"slash\",\"inputs\":[{\"name\":\"nodeId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"recipient\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"slasher\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"totalNodes\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"unlock\",\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"NodeActivated\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"nodeId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"tokenId\",\"type\":\"uint32\",\"indexed\":true,\"internalType\":\"uint32\"},{\"name\":\"collateral\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"vestedAt\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"blsPubkeyG2\",\"type\":\"uint256[4]\",\"indexed\":false,\"internalType\":\"uint256[4]\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeFunded\",\"inputs\":[{\"name\":\"payer\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"nodeId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"tokenId\",\"type\":\"uint32\",\"indexed\":true,\"internalType\":\"uint32\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"totalCollateral\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeReleased\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"nodeId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"tokenId\",\"type\":\"uint32\",\"indexed\":true,\"internalType\":\"uint32\"},{\"name\":\"collateral\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NodeUnlocked\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"nodeId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"availableAt\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"oldOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Slashed\",\"inputs\":[{\"name\":\"nodeId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"recipient\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"fromOperator\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"fromSponsor\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SlasherUpdated\",\"inputs\":[{\"name\":\"oldSlasher\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newSlasher\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"ActivationBelowFloor\",\"inputs\":[{\"name\":\"floor\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"provided\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ActivationBelowMinimum\",\"inputs\":[{\"name\":\"minimum\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"provided\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"BlsKeyAlreadyRegistered\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"BlsKeyMismatch\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InsufficientCollateral\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidPriceRange\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NodeNotActive\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotNftOwner\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotOwner\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotSlasher\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ReentrancyGuardReentrantCall\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ReleaseNotAvailable\",\"inputs\":[{\"name\":\"availableAt\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"SafeERC20FailedOperation\",\"inputs\":[{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"SlotNotInactive\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ZeroAddress\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ZeroAmount\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ZeroBlsPubkey\",\"inputs\":[]}]",
	Bin: "0x6101403461025657601f612fc538819003918201601f19168301916001600160401b0383118484101761025a5780849260e094604052833981010312610256576100488161026e565b906100556020820161026e565b604082015160608301516001600160401b038116949091908583036102565760808501519361008b60c060a0880151970161026e565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055916001600160a01b0316908115610247576001600160a01b0316918215610247576001600160a01b031696871561024757156101f157841515806101e7575b156101d85760a05260c05260e05260805261010052610120525f80546001600160a01b031916919091179055604051612d42908161028382396080518181816108b501528181610f330152611013015260a051818181610a8001528181610d67015281816110e9015281816112430152818161211801526124bf015260c05181818161047b01528181610650015281816107ea015281816111c0015281816122d2015261236a015260e05181818161059f0152818161206f01526124470152610100518181816113100152611b070152610120518181816109ae01528181611b290152611b7e0152f35b6323f5f0b960e11b5f5260045ffd5b50848610156100ee565b60405162461bcd60e51b815260206004820152602860248201527f52656769737472793a20756e626f6e64696e67506572696f642063616e6e6f74604482015267206265207a65726f60c01b6064820152608490fd5b63d92e233d60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036102565756fe60806040526004361015610011575f80fd5b5f3560e01c8063038d67e8146101c45780630d420090146101bf578063158ece27146101ba57806318071936146101b557806328ce8b31146101b05780632db75d40146101ab5780634331ed1f146101a65780634800d97f146101a157806367d93c811461019c5780636ef67bae14610197578063705727b5146101925780637e99ce591461018d5780637fdd1867146101885780638899cf50146101835780638da5cb5b1461017e5780638f16e1cd146101795780639363c812146101745780639592d4241461016f578063aabc24961461016a578063ad12211114610165578063b134427114610160578063bdc43e921461015b578063d9a912ec14610156578063dda42b3714610151578063ef695be81461014c578063f2fde38b146101475763f86325ed14610142575f80fd5b6112f9565b611272565b61122e565b610f57565b610f14565b610eb1565b610e89565b610d07565b610c7f565b610c62565b610c23565b610c06565b610bdf565b610b9d565b610a05565b610997565b61097a565b610941565b610819565b6107d5565b6107af565b6105d0565b610588565b61055e565b610368565b61033b565b6102be565b905f905b600282106101da57505050565b60208060019285518152019301910190916101cd565b905f905b6004821061020157505050565b60208060019285518152019301910190916101f4565b80516001600160a01b031682526102bc919061014090610120906020818101516001600160401b0316908501526040818101516001600160401b0316908501526060818101516001600160401b03169085015260808181015163ffffffff169085015260a08181015163ffffffff169085015260c081015160c085015260e081015160e08501526102b26101008201516101008601906101c9565b01519101906101f0565b565b3461032d57604036600319011261032d576102dd60243560043561170d565b6040518091602082016020835281518091526020604084019201905f5b818110610308575050500390f35b9193509160206101c08261031f6001948851610217565b0194019101918493926102fa565b5f80fd5b5f91031261032d57565b3461032d575f36600319011261032d576020604051610e108152f35b6001600160a01b0381160361032d57565b3461032d57606036600319011261032d576024356004357f9a2bb3d9059142feaf2a6cbf5062a0047437076519c62ede693c2ec2240f13336044356103ac81610357565b6103b4611ac2565b6001546103cb906001600160a01b031633146117be565b6103d68415156117d4565b6103e8835f52600360205260405f2090565b60028101918254926003830192610413610403855487611544565b8015159081610553575b506117ea565b5f9185891161052c576104c59394955088956104308a8354611551565b82555b6104476104428b600254611551565b600255565b6001600160401b0361046360018501546001600160401b031690565b161591826104ef575b50506104e0575b5061049f87847f0000000000000000000000000000000000000000000000000000000000000000611bf6565b60405193849360018060a01b031697846040919493926060820195825260208201520152565b0390a36104de60015f516020612d225f395f51905f5255565b005b6104e990611ba0565b5f610473565b6104fd925054905490611544565b61052461051f61051660015463ffffffff9060a01c1690565b63ffffffff1690565b611afa565b115f8061046c565b6104c59394925061053d868a611551565b925f825561054c848254611551565b8155610433565b90508911155f61040d565b3461032d57602036600319011261032d576004355f526005602052602060405f2054604051908152f35b3461032d575f36600319011261032d5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b63ffffffff81160361032d57565b3461032d57604036600319011261032d576004356105ed816105c2565b6024356105f8611ac2565b6106038115156117d4565b61061b8263ffffffff165f52600660205260405f2090565b549061062f825f52600360205260405f2090565b805460a01c6001600160401b0316151580610780575b61064e90611800565b7f000000000000000000000000000000000000000000000000000000000000000061067b83303384611c73565b600282019061068b848354611544565b825561069c61044285600254611544565b6040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa92831561077b57600363ffffffff9361070f7f12341d30af78a74af3697daeaf7b1662bc9b723f6aa8a3402bf3d8b3f87a077296610719955f9161074c575b5060025411156117ea565b5491015490611544565b604080519485526020850191909152941693339290819081015b0390a46104de60015f516020612d225f395f51905f5255565b61076e915060203d602011610774575b6107668183611367565b810190611816565b5f610704565b503d61075c565b611825565b5061064e6107a761079b60018401546001600160401b031690565b6001600160401b031690565b159050610645565b3461032d575f36600319011261032d57602063ffffffff60015460a01c16604051908152f35b3461032d575f36600319011261032d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461032d57602036600319011261032d5763ffffffff60043561083b816105c2565b165f52600660205260405f20546108b061085d825f52600360205260405f2090565b80546001600160401b03906108999061088a6001600160a01b0382165b6001600160a01b03163314611830565b60a01c6001600160401b031690565b1615158061091e575b6108ab90611800565b611ba0565b6108e37f00000000000000000000000000000000000000000000000000000000000000006001600160401b034216611846565b6040516001600160401b0391909116815233907f0c833c7c9f5b9b8ed0085d7959eb025f59fa32a55b8d55223a819bc7c58db34590602090a3005b506108ab61093961079b60018401546001600160401b031690565b1590506108a2565b3461032d57602036600319011261032d5763ffffffff600435610963816105c2565b165f526006602052602060405f2054604051908152f35b3461032d575f36600319011261032d576020600254604051908152f35b3461032d575f36600319011261032d5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b9060049160441161032d57565b9060249160641161032d57565b9060449160c41161032d57565b9060649160e41161032d57565b3461032d5760e036600319011261032d57610a1f366109d1565b610a28366109eb565b60c435610a33611ac2565b610a5461051f610a4f61051660015463ffffffff9060a01c1690565b6114fe565b90610a63818380821015611866565b60405163e8804a2b60e01b8152600481018390525f6024820152937f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390602086806044810103815f895af195861561077b575f96610b6c575b50604051638eeda10360e01b815263ffffffff8716600482015294606090869060249082905afa801561077b57610b06955f91610b3d575b503387611feb565b90610b1d60015f516020612d225f395f51905f5255565b6040805163ffffffff9092168252602082019290925290819081015b0390f35b610b5f915060603d606011610b65575b610b578183611367565b8101906118ad565b5f610afe565b503d610b4d565b610b8f91965060203d602011610b96575b610b878183611367565b810190611884565b945f610ac6565b503d610b7d565b3461032d57602036600319011261032d57600435610bb96113e2565b505f5260036020526101c0610bd060405f20611628565b610bdd6040518092610217565bf35b3461032d575f36600319011261032d575f546040516001600160a01b039091168152602090f35b3461032d575f36600319011261032d576020604051620100008152f35b3461032d575f36600319011261032d5763ffffffff60015460a01c1660018101809111610c5d57610c55602091611afa565b604051908152f35b6114ea565b3461032d575f36600319011261032d576020600454604051908152f35b3461032d57602036600319011261032d57600435610c9c81610357565b610cb060018060a01b035f541633146118fe565b6001600160a01b0316610cc4811515611914565b600180546001600160a01b0319811683179091556001600160a01b03167fe0d49a54274423183dadecbdf239eaac6e06ba88320b26fe8cc5ec9d050a63955f80a3005b3461032d5761010036600319011261032d57600435610d25816105c2565b610d2e366109de565b90610d38366109f8565b9060e435610d44611ac2565b6040516331a9108f60e11b815263ffffffff831660048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169390602081602481885afa801561077b57610db4915f91610e5a575b506001600160a01b03163314611830565b604051638eeda10360e01b815263ffffffff8416600482015293606090859060249082905afa94851561077b57610b3995610e15955f91610e3b575b50610e0d61051f610a4f61051660015463ffffffff9060a01c1690565b9433906123ef565b610e2b60015f516020612d225f395f51905f5255565b6040519081529081906020820190565b610e54915060603d606011610b6557610b578183611367565b5f610df0565b610e7c915060203d602011610e82575b610e748183611367565b81019061192a565b5f610da3565b503d610e6a565b3461032d575f36600319011261032d576001546040516001600160a01b039091168152602090f35b3461032d57604036600319011261032d57610ed060243560043561198c565b6040518091602082016020835281518091526020604084019201905f5b818110610efb575050500390f35b8251845285945060209384019390920191600101610eed565b3461032d575f36600319011261032d5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461032d57602036600319011261032d57600435610f74816105c2565b610f7c611ac2565b610f948163ffffffff165f52600660205260405f2090565b54610faf610faa825f52600360205260405f2090565b611628565b8051909290610fc6906001600160a01b031661087a565b6001600160401b03610fe260208501516001600160401b031690565b1615158061120a575b610ff490611800565b61104161103861079b61101160408701516001600160401b031690565b7f000000000000000000000000000000000000000000000000000000000000000090611846565b80421015611a2e565b60c0830192611056845160e083015190611544565b9361106e61079b60608401516001600160401b031690565b42106112045750835b61108661044286600254611551565b6110a061109a608084015163ffffffff1690565b856125a2565b6110a9826126bb565b6110c36110be855f52600360205260405f2090565b611a74565b5f6110dc8463ffffffff165f52600660205260405f2090565b5581516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811693911692803b1561032d576040516323b872dd60e01b81523060048201526001600160a01b0394909416602485015263ffffffff851660448501525f908490606490829084905af191821561077b577f4f72a5ea49c0470a55beb3953816abf5c92fc73003b1049c241b133a0863208c9363ffffffff936111ea575b50806111ae575b50516040519586529216936001600160a01b03909216918060208101610733565b81516111e491906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000611bf6565b5f61118d565b806111f85f6111fe93611367565b80610331565b5f611186565b51611077565b50610ff461122561079b60408601516001600160401b031690565b15159050610feb565b3461032d575f36600319011261032d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461032d57602036600319011261032d5760043561128f81610357565b5f54906001600160a01b038216906112a83383146118fe565b6001600160a01b03169182906112bf821515611914565b6bffffffffffffffffffffffff60a01b16175f557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b3461032d575f36600319011261032d5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761136257604052565b611333565b90601f801991011681019081106001600160401b0382111761136257604052565b604051906102bc61014083611367565b604051906102bc604083611367565b906102bc6040519283611367565b6001600160401b0381116113625760051b60200190565b604051906113db602083611367565b6020368337565b6040519061014082018281106001600160401b0382111761136257604052815f81525f60208201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e082015260405161143c604082611367565b604036823761010082015261012060405191611459608084611367565b60803684370152565b60405190611471602083611367565b5f80835282815b82811061148457505050565b60209061148f6113e2565b82828501015201611478565b906114a5826113b5565b6114b26040519182611367565b82815280926114c3601f19916113b5565b01905f5b8281106114d357505050565b6020906114de6113e2565b828285010152016114c7565b634e487b7160e01b5f52601160045260245ffd5b9060018201809211610c5d57565b9060028201809211610c5d57565b9060038201809211610c5d57565b9060048201809211610c5d57565b9060058201809211610c5d57565b91908201809211610c5d57565b91908203918211610c5d57565b634e487b7160e01b5f52603260045260245ffd5b60045481101561158a5760045f5260205f2001905f90565b61155e565b80511561158a5760200190565b80516001101561158a5760400190565b805182101561158a5760209160051b010190565b60405191905f835b600282106115de575050506102bc604083611367565b60016020819285548152019301910190916115c8565b60405191905f835b60048210611612575050506102bc608083611367565b60016020819285548152019301910190916115fc565b906117056006611636611388565b84546001600160a01b0381168252909490611664906116549061088a565b6001600160401b03166020870152565b6116d96116cc6001830154611692611682826001600160401b031690565b6001600160401b031660408a0152565b6001600160401b03604082901c1660608901526116c0608082901c63ffffffff1663ffffffff1660808a0152565b60a01c63ffffffff1690565b63ffffffff1660a0870152565b600281015460c0860152600381015460e08601526116f9600482016115c0565b610100860152016115f4565b610120830152565b9060045490818310156117b057820190818311610c5d578082116117a8575b50818103818111610c5d576117409061149b565b91805b8281106117505750505090565b806117a161177d61176f611765600195611572565b90549060031b1c90565b5f52600360205260405f2090565b61179061178a8685611551565b91611628565b61179a82896115ac565b52866115ac565b5001611743565b90505f61172c565b5050506117bb611462565b90565b156117c557565b63dabc4ad960e01b5f5260045ffd5b156117db57565b631f2a200560e01b5f5260045ffd5b156117f157565b633a23d82560e01b5f5260045ffd5b1561180757565b6310e8397760e31b5f5260045ffd5b9081602091031261032d575190565b6040513d5f823e3d90fd5b1561183757565b634b64ae4760e01b5f5260045ffd5b906001600160401b03809116911601906001600160401b038211610c5d57565b1561186f575050565b630e9fc46d60e11b5f5260045260245260445ffd5b9081602091031261032d57516117bb816105c2565b51906001600160401b038216820361032d57565b9081606091031261032d576040519060608201908282106001600160401b038311176113625760409182526118e181611899565b83526118ef60208201611899565b60208401520151604082015290565b1561190557565b6330cd747160e01b5f5260045ffd5b1561191b57565b63d92e233d60e01b5f5260045ffd5b9081602091031261032d57516117bb81610357565b6040519061194e602083611367565b5f808352366020840137565b90611964826113b5565b6119716040519182611367565b8281528092611982601f19916113b5565b0190602036910137565b6004549182821015611a2357810190818111610c5d57828211611a1b575b808203828111610c5d576119bd9061195a565b92815b8381106119ce575050505090565b8181101561158a5760019060045f52807f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0154611a14611a0e8684611551565b886115ac565b52016119c0565b8291506119aa565b5050506117bb61193f565b15611a365750565b633bc882ad60e11b5f5260045260245ffd5b90600682029180830460061490151715610c5d57565b908160051b9180830460201490151715610c5d57565b5f81555f60018201555f60028201555f60038201555f5b60028110611ab257506006015f5b60048110611aa5575050565b5f82820155600101611a99565b5f82820160040155600101611a8b565b60025f516020612d225f395f51905f525414611aeb5760025f516020612d225f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b62010000811015611b7b577f0000000000000000000000000000000000000000000000000000000000000000907f000000000000000000000000000000000000000000000000000000000000000082810391818311610c5d57611b5d84916126d8565b8084029384041491141715610c5d5760081c8101809111610c5d5790565b507f000000000000000000000000000000000000000000000000000000000000000090565b600101805467ffffffffffffffff1916426001600160401b031617905563ffffffff60015460a01c168015610c5d576001805463ffffffff60a01b19165f1990920160a01b63ffffffff60a01b16919091179055565b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af160015f5114811615611c54575b604091909152155b611c395750565b635274afe760e01b5f526001600160a01b031660045260245ffd5b6001811516611c6a573d15833b15151616611c2a565b503d5f823e3d90fd5b6040516323b872dd60e01b5f9081526001600160a01b039384166004529290931660245260449390935260209060648180865af160015f5114811615611cc4575b6040919091525f60605215611c32565b6001811516611c6a573d15833b15151616611cb4565b15611ce157565b633b093fe160e21b5f5260045ffd5b15611cf9575050565b636af5d51b60e01b5f5260045260245260445ffd5b6001600160401b03166001600160401b038114610c5d5760010190565b919060405192611d3c604085611367565b83906040810192831161032d57905b828210611d5757505050565b8135815260209182019101611d4b565b919060405192611d78608085611367565b83906080810192831161032d57905b828210611d9357505050565b8135815260209182019101611d87565b905f5b60028110611db357505050565b600190602083519301928185015501611da6565b905f5b60048110611dd757505050565b600190602083519301928185015501611dca565b815181546001600160a01b0319166001600160a01b039091161781556102bc9160069061012090611e51611e2960208301516001600160401b031690565b855467ffffffffffffffff60a01b191660a09190911b67ffffffffffffffff60a01b16178555565b611f3460018501611e8c611e6f60408501516001600160401b031690565b825467ffffffffffffffff19166001600160401b03909116178255565b611ed5611ea360608501516001600160401b031690565b82546fffffffffffffffff0000000000000000191660409190911b6fffffffffffffffff000000000000000016178255565b611f09611ee9608085015163ffffffff1690565b825463ffffffff60801b191660809190911b63ffffffff60801b16178255565b60a083015163ffffffff16815463ffffffff60a01b191660a09190911b63ffffffff60a01b16179055565b60c0810151600285015560e08101516003850155611f5a61010082015160048601611da3565b01519101611dc7565b60045468010000000000000000811015611362576001810160045560045481101561158a5760045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0155565b63ffffffff1663ffffffff8114610c5d5760010190565b6040906001600160401b036080949695939660c083019783521660208201520137565b969591929694909461201561200e8263ffffffff165f52600660205260405f2090565b5415611cda565b61202782604086015180821015611cf0565b5f928083106123b2575b5060015460c01c61206961204482611d0e565b600180546001600160c01b031660c09290921b6001600160c01b031916919091179055565b604080517f00000000000000000000000000000000000000000000000000000000000000006020820190815263ffffffff8516928201929092526001600160401b0390921660608301524460808301526001600160a01b03881660a0830152906120e08160c081015b03601f198101835282611367565b519020976120ef86828b612775565b6040516331a9108f60e11b815263ffffffff831660048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa801561077b5761224b9261216561221e928b945f91612393575b506001600160a01b03163014611830565b85612362575b8b6121848663ffffffff165f52600660205260405f2090565b556121ff6121af6121a960206001600160401b0342169b01516001600160401b031690565b8a611846565b986121dd6121c260045463ffffffff1690565b916116546121ce611388565b6001600160a01b039098168852565b5f60408601526001600160401b038a16606086015263ffffffff166080850152565b63ffffffff851660a08401528560c08401528660e08401523690611d2b565b61010082015261222e3688611d67565b6101208201526122468a5f52600360205260405f2090565b611deb565b61225488611f63565b61229761227261226d60015463ffffffff9060a01c1690565b611fb1565b6001805463ffffffff60a01b191660a09290921b63ffffffff60a01b16919091179055565b6122af6104426122a78585611544565b600254611544565b6040516370a0823160e01b81523060048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa95861561077b576123457f58cee7261629c956b111bc684df727bd2e9b0f5d954e24b93908951c431cd13e9563ffffffff956123408d9a61235d965f9161074c575060025411156117ea565b611544565b95604051948594169860018060a01b03169684611fc8565b0390a4565b61238e8630857f0000000000000000000000000000000000000000000000000000000000000000611c73565b61216b565b6123ac915060203d602011610e8257610e748183611367565b5f612154565b6123e8919350806123e38480936001600160401b036123db60208b01516001600160401b031690565b161515611866565b611551565b915f612031565b969591929694909461241261200e8263ffffffff165f52600660205260405f2090565b61242482604086015180821015611cf0565b5f92808310612572575b5060015460c01c61244161204482611d0e565b604080517f00000000000000000000000000000000000000000000000000000000000000006020820190815263ffffffff8516928201929092526001600160401b0390921660608301524460808301526001600160a01b03881660a0830152906124ae8160c081016120d2565b519020976124bd86828b612775565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561032d576040516323b872dd60e01b81526001600160a01b038916600482015230602482015263ffffffff84166044820152905f908290606490829084905af1801561077b5761224b92899261221e9261255e575b5085612362578b6121848663ffffffff165f52600660205260405f2090565b806111f85f61256c93611367565b5f61253f565b61259b919350806123e38480936001600160401b036123db60208b01516001600160401b031690565b915f61242e565b906004545f198101818111610c5d5781111561158a5760045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19a810154809303612648575b5050506004548015612634575f1981019060045482101561158a5760045f8181527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19a9092019190915555565b634e487b7160e01b5f52603160045260245ffd5b81101561158a57600161268f6126b39360045f5280847f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555f52600360205260405f2090565b01805463ffffffff60801b191660809290921b63ffffffff60801b16919091179055565b5f80806125e8565b6101206126c991015161284a565b5f5260056020525f6040812055565b90811561272e5760018201808311610c5d5760011c825b8382106126fa575050565b90925082801561271a57808204908101809111610c5d5760011c906126ef565b634e487b7160e01b5f52601260045260245ffd5b5f9150565b1561273a57565b632095a11360e21b5f5260045ffd5b1561275057565b634d82eddb60e01b5f5260045ffd5b1561276657565b637e4c066f60e01b5f5260045ffd5b9161280e6128139161280761280261283d956127b961279682359260200190565b3561279f611398565b928084528160208501521590811591612840575b50612733565b6127c360406113a7565b8435815290602085013560208301526127dc60406113a7565b60408601358152606086013560208201526127f5611398565b928352602083015261291e565b612749565b3690611d67565b61284a565b61282f612828825f52600560205260405f2090565b541561275f565b5f52600560205260405f2090565b55565b905015155f6127b3565b805190602081015190606060408201519101519060405192602084019485526040840152606083015260808201526080815261288760a082611367565b51902090565b6040519061289a82611347565b5f6020838281520152565b604051906128b282611347565b81602060409182516128c48482611367565b8336823781528251926128d78185611367565b3684370152565b604051606091906128ef8382611367565b6002815291601f1901825f5b82811061290757505050565b6020906129126128a5565b828285010152016128fb565b91909161294060405161293081611347565b60018152600260208201526129e3565b9260405190612950606083611367565b6002825260405f5b8181106129cc5750506117bb939461296e6128de565b936129788461158f565b526129828361158f565b5061298b612aa7565b6129948561158f565b5261299e8461158f565b506129a88361159c565b526129b28261159c565b506129bc8361159c565b526129c68261159c565b50612bec565b6020906129d761288d565b82828701015201612958565b6129eb61288d565b5080511580612a9b575b612a82577f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208251920151067f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478111610c5d5760405191612a7883611347565b8252602082015290565b50604051612a8f81611347565b5f81525f602082015290565b506020810151156129f5565b612aaf6128a5565b50604051612abc81611347565b7f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6020820152604051612b1181611347565b7f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b81527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa602082015260405191612a7883611347565b15612b6e57565b60405162461bcd60e51b815260206004820152601460248201527308498a67440d8cadccee8d040dad2e6dac2e8c6d60631b6044820152606490fd5b15612bb157565b60405162461bcd60e51b8152602060048201526013602482015272109314ce881c185a5c9a5b99c819985a5b1959606a1b6044820152606490fd5b612bf98151835114612b67565b8051612c0c612c0782611a48565b611a5e565b91612c1e612c1983611a48565b61195a565b935f5b838110612c505750505050612c4b60206001938193612c3e6113cc565b9485920160085afa612baa565b511490565b80612c5c600192611a48565b612c6682866115ac565b5151612c72828a6115ac565b526020612c7f83876115ac565b510151612c94612c8e836114fe565b8a6115ac565b52612c9f82856115ac565b515151612cae612c8e8361150c565b52612cc4612cbc83866115ac565b515160200190565b51612cd1612c8e8361151a565b526020612cde83866115ac565b51015151612cee612c8e83611528565b52612d1a612d14612d0d6020612d0486896115ac565b51015160200190565b5192611536565b896115ac565b5201612c2156fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00",
}

RegistryMetaData contains all meta data concerning the Registry contract.

View Source
var SlasherABI = SlasherMetaData.ABI

SlasherABI is the input ABI used to generate the binding from. Deprecated: Use SlasherMetaData.ABI instead.

View Source
var SlasherBin = SlasherMetaData.Bin

SlasherBin is the compiled bytecode used for deploying new contracts. Deprecated: Use SlasherMetaData.Bin instead.

View Source
var SlasherMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_registry\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"MIN_CLUSTER_SIZE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"REGISTRY\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"submitWithdrawalFraudEvidence\",\"inputs\":[{\"name\":\"challengedObject\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"anchorHeader\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"anchorSignature\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"entryIndex\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"smtProof\",\"type\":\"bytes32[]\",\"internalType\":\"bytes32[]\"},{\"name\":\"smtBitmask\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"balanceKey\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"provenBalance\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"FraudEvidenceSubmitted\",\"inputs\":[{\"name\":\"blockHash\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"prover\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"signersSlashed\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"ReentrancyGuardReentrantCall\",\"inputs\":[]}]",
	Bin: "0x60a0346100de57601f61312c38819003918201601f19168301916001600160401b038311848410176100e2578084926020946040528339810103126100de57516001600160a01b0381168082036100de5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055156100a95760805260405161303590816100f7823960805181818161010901528181610e7401528181611b1901526125aa0152f35b60405162461bcd60e51b815260206004820152600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806306433b1b146100f75780631cca16681461003f57638ec1daee1461003a575f80fd5b6101c2565b346100f3576101003660031901126100f3576004356001600160401b0381116100f357610070903690600401610145565b906024356001600160401b0381116100f357610090903690600401610145565b92906044356001600160401b0381116100f3576100b1903690600401610145565b946100ba610183565b608435966001600160401b0388116100f3576100dd6100f1983690600401610192565b94909360a4359660c4359860e4359a6101dd565b005b5f80fd5b346100f3575f3660031901126100f3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b5f9103126100f357565b9181601f840112156100f3578235916001600160401b0383116100f357602083818601950101116100f357565b6001600160401b038116036100f357565b6064359061019082610172565b565b9181601f840112156100f3578235916001600160401b0383116100f3576020808501948460051b0101116100f357565b346100f3575f3660031901126100f357602060405160058152f35b909a9695939899949a60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00541461039f5760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055369061023e9261044b565b91369061024a9261044b565b916001600160401b031661025d916106b3565b9161026782610825565b91805190602001208060a08501511461027f90610481565b83519960208b0151602086019b8c51805190602001209060800151604088015160808901519160608a0151936102b49561097e565b986020850151926080860151906102ca94610a97565b61032c976103259660c09561031d946103189489156103965760408051602081018381528183018d90529061030c81606081015b03601f1981018352826103e2565b519020925b0151610c01565b6104bf565b0151116104ff565b3390610e6e565b9051602081519101207f852c66b7cb153328335457559e23c7ae13dbd71edc4c8d92830c24702b7bf3566040518061036a3395829190602083019252565b0390a361019060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60405f92610311565b633ee5aeb560e01b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b038211176103dd57604052565b6103ae565b90601f801991011681019081106001600160401b038211176103dd57604052565b60405190610190610140836103e2565b604051906101906040836103e2565b9061019060405192836103e2565b6001600160401b0381116103dd57601f01601f191660200190565b92919261045782610430565b9161046560405193846103e2565b8294818452818301116100f3578281602093845f960137010152565b1561048857565b60405162461bcd60e51b815260206004820152600f60248201526e082dcc6d0dee440dad2e6dac2e8c6d608b1b6044820152606490fd5b156104c657565b60405162461bcd60e51b815260206004820152601160248201527024b73b30b634b21029a6aa10383937b7b360791b6044820152606490fd5b1561050657565b60405162461bcd60e51b815260206004820152601260248201527110985b185b98d9481cdd59999a58da595b9d60721b6044820152606490fd5b6040519060c082018281106001600160401b038211176103dd57604052606060a0835f81525f60208201525f60408201525f838201525f60808201520152565b6040519060e082018281106001600160401b038211176103dd576040525f60c0836105a9610540565b815260606020820152606060408201526060808201528260808201528260a08201520152565b156105d657565b60405162461bcd60e51b815260206004820152601960248201527f496e76616c6964206368616c6c656e676564206f626a656374000000000000006044820152606490fd5b1561062257565b60405162461bcd60e51b815260206004820152601760248201527f456e747269657320646967657374206d69736d617463680000000000000000006044820152606490fd5b1561066e57565b60405162461bcd60e51b815260206004820152601960248201527f547261696c696e67206368616c6c656e676564206279746573000000000000006044820152606490fd5b9190916106be610580565b926106c882610fcc565b600b146106d4906105cf565b6106de9083611068565b908551526106ec90836110f3565b91908551602001526106fe918361128c565b91929060c08701526107109084611068565b908651604001526107219084611068565b9190865160600152855160600151146107399061061b565b61074390836110f3565b908551608001526107549083611481565b9392919060608801526080870152604086015261077191836115aa565b9190855160a0019060a0870152526107899082611683565b6107939082611683565b61079d9082611683565b9051146107a990610667565b81516107b49061176c565b6020830152565b634e487b7160e01b5f52601160045260245ffd5b919082039182116107dc57565b6107bb565b156107e857565b60405162461bcd60e51b8152602060048201526015602482015274547261696c696e672068656164657220627974657360581b6044820152606490fd5b906006610830610540565b9261083a81610fcc565b929092036108ba5761088861087c61087061086461085b6101909686611068565b908952856110f3565b90602089015284611068565b90604088015283611068565b906060870152826110f3565b919060808601526108ae61089c8383611683565b926108a781856107cf565b9083611853565b60a086015251146107e1565b60405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b2103432b0b232b960911b6044820152606490fd5b9080601f830112156100f3576040519161090b6040846103e2565b8290604081019283116100f357905b8282106109275750505090565b815181526020918201910161091a565b9080601f830112156100f357604051916109526080846103e2565b8290608081019283116100f357905b82821061096e5750505090565b8151815260209182019101610961565b929091959493958151820160e083602083019203126100f3578060806109aa6109b193604087016108f0565b9401610937565b925f945f5b61010081106109ce57506109cb979850611aa7565b90565b8060031c6020811015610a03578a901a6001600783161b1660ff166109f6575b6001016109b6565b6001811b909617956109ee565b610b9a565b919060405192610a196040856103e2565b8390604081019283116100f357905b828210610a3457505050565b8135815260209182019101610a28565b919060405192610a556080856103e2565b8390608081019283116100f357905b828210610a7057505050565b8135815260209182019101610a64565b6001600160401b0381116103dd5760051b60200190565b949383019290610100828503126100f35781359284603f840112156100f357610ac38560208501610a08565b9185607f850112156100f357610adc8660608601610a44565b9360e0810135906001600160401b0382116100f357019786601f8a0112156100f357883598610b0a8a610a80565b97610b18604051998a6103e2565b8a89526020808a019b60051b830101918183116100f357602081019b5b838d10610b4e5750505050610b4b979850611aa7565b50565b8c356001600160401b0381116100f357820183603f820112156100f357602091610b81858360408680960135910161044b565b8152019c019b610b35565b5f1981146107dc5760010190565b634e487b7160e01b5f52603260045260245ffd5b9190811015610a035760051b0190565b15610bc557565b60405162461bcd60e51b8152602060048201526014602482015273534d543a20756e75736564207369626c696e677360601b6044820152606490fd5b9391959495925f905f925f905b6101008210610c2d5750505050610c29929394955014610bbe565b1490565b9091929560019081808c861c16145f14610cda57610c55610c4d87610b8c565b968887610bae565b355b83851c8316610cb157604080516020810193845290810191909152610c7f81606081016102fe565b519020965b604051610ca5816102fe602082019480869091604092825260208201520190565b51902093920190610c0e565b60408051602081019283529081019290925290610cd181606081016102fe565b51902096610c84565b87610c57565b805115610a035760200190565b805160011015610a035760400190565b8051821015610a035760209160051b010190565b51906001600160a01b03821682036100f357565b519061019082610172565b519063ffffffff821682036100f357565b906101c0828203126100f357610deb90610140610d5c610403565b93610d6681610d11565b8552610d7460208201610d25565b6020860152610d8560408201610d25565b6040860152610d9660608201610d25565b6060860152610da760808201610d30565b6080860152610db860a08201610d30565b60a086015260c081015160c086015260e081015160e0860152610ddf8361010083016108f0565b61010086015201610937565b61012082015290565b6040513d5f823e3d90fd5b90602082018092116107dc57565b90600182018092116107dc57565b90600282018092116107dc57565b90600482018092116107dc57565b90600382018092116107dc57565b90600882018092116107dc57565b90600582018092116107dc57565b919082018092116107dc57565b91905f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690825b8551811015610fc557610ed86101c0610eb88389610cfd565b51604051809381926308899cf560e41b8352600483019190602083019252565b0381875afa8015610f9157610eff915f91610f96575b5060e060c082015191015190610e61565b80610f0e575b50600101610e9f565b9093610f1a8588610cfd565b51843b156100f35760405163158ece2760e01b8152600481019190915260248101929092526001600160a01b03831660448301525f8260648183885af1908115610f9157600192610f7092610f77575b50610b8c565b9390610f05565b80610f855f610f8b936103e2565b8061013b565b5f610f6a565b610df4565b610fb891506101c03d8111610fbe575b610fb081836103e2565b810190610d41565b5f610eee565b503d610fa6565b5050509150565b600491610fdb5f60ff93611d9e565b94919390931603610fe857565b60405162461bcd60e51b815260206004820152600e60248201526d457870656374656420617272617960901b6044820152606490fd5b91610fdb60ff92600494611d9e565b1561103457565b60405162461bcd60e51b815260206004820152600c60248201526b21a127a91037bb32b9393ab760a11b6044820152606490fd5b60ff6110776002949383611d9e565b9591929092161490816110e8575b50156110b0576020836109cb926110a761109e83610dff565b8251101561102d565b01015192610dff565b60405162461bcd60e51b815260206004820152601060248201526f22bc3832b1ba32b210313cba32b9999960811b6044820152606490fd5b60209150145f611085565b60ff916110ff91611d9e565b9391939290931661110c57565b60405162461bcd60e51b815260206004820152600d60248201526c115e1c1958dd1959081d5a5b9d609a1b6044820152606490fd5b1561114857565b60405162461bcd60e51b815260206004820152601960248201527f456e74727920696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561119457565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420656e74727960981b6044820152606490fd5b156111d057565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd081dda5d1a191c985dd85b60921b6044820152606490fd5b805191908290602001825e015f815290565b602061019091611232949360405195869284840190611206565b9081520380855201836103e2565b1561124757565b60405162461bcd60e51b815260206004820152601960248201527f496e76616c6964207769746864726177616c20616d6f756e74000000000000006044820152606490fd5b9091925f9361129c5f948461101e565b90936112a9828410611141565b6060925f915b8383106112df575050506112c4851515611240565b6112d257505f915b93929190565b60208151910120916112cc565b9294978691949296978588145f1461139157505091600161138861134c97959361137b611368611352611343600361135b9f9c9a611336600461133061132861133d948e61101e565b90921461118d565b8b6110f3565b92146111c9565b88611fda565b889d919d611683565b87612054565b9d909d9b612075565b602081519101209c612139565b9a5b611374818c6107cf565b9086611853565b6020815191012090611218565b940191906112af565b979694926113889061137b6113ac87956001959d9a98611683565b9961136a565b156113b957565b60405162461bcd60e51b8152602060048201526013602482015272546f6f206d616e792076616c696461746f727360681b6044820152606490fd5b906113fe82610a80565b61140b60405191826103e2565b828152809261141c601f1991610a80565b01905f5b82811061142c57505050565b806060602080938501015201611420565b1561144457565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c69642076616c696461746f72206b657960581b6044820152606490fd5b9061148e6003918361101e565b9190910361152357906114ba926114a86114b19383612054565b83949194611068565b8395919561101e565b9390926114cb6101008611156113b2565b6114d4856113f4565b945f915b8183106114e85750505093929190565b9091946114f760019183612054565b9690611503828a610cfd565b5261151b6080611513838b610cfd565b51511461143d565b0191906114d8565b60405162461bcd60e51b815260206004820152601360248201527224b73b30b634b21030ba3a32b9ba30ba34b7b760691b6044820152606490fd5b1561156557565b60405162461bcd60e51b815260206004820152601a60248201527f4163636f756e7420736e617073686f74206e6f7420666f756e640000000000006044820152606490fd5b5f93916115b7818361101e565b9490945f915f5b8281106115eb57505050906115d66115e6939261155e565b6115e081866107cf565b91611853565b929190565b6115f76003988761101e565b9890980361163e57611622826116106116199a89611068565b899b919b611068565b89939193611683565b9914611632575b506001016115be565b98506001935083611629565b60405162461bcd60e51b815260206004820152601860248201527f496e76616c6964206163636f756e7420736e617073686f7400000000000000006044820152606490fd5b9061168e9082611d9e565b9160ff16908282158015611762575b61175a5750600282148015611750575b61172e576004821461170257506006146116f95760405162461bcd60e51b815260206004820152601060248201526f2ab739bab83837b93a32b21021a127a960811b6044820152606490fd5b6109cb91611683565b91925f9291505b8183106117165750505090565b9091926117239082611683565b926001019190611709565b91905061174b6109cb936117428484610e61565b9051101561102d565b610e61565b50600382146116ad565b935050505090565b506001831461169d565b6109cb6117e5916102fe6117808251612295565b916117e56117916020830151612300565b916117e56117a26040830151612295565b6117e56117b26060850151612295565b916117e560a06117c56080880151612300565b960151604051604360f91b60208201529c8d9b91999160218d0190611206565b90611206565b604080519091906117fc83826103e2565b60208152918290601f190190369060200137565b9061181a82610430565b61182760405191826103e2565b8281528092611838601f1991610430565b0190602036910137565b908151811015610a03570160200190565b929190928184018085116107dc578151106118bb5761187182611810565b935f5b8381106118815750505050565b806118a861189a61189460019486610e61565b86611842565b516001600160f81b03191690565b5f1a6118b48289611842565b5301611874565b60405162461bcd60e51b815260206004820152600d60248201526c29b634b1b29037bb32b9393ab760991b6044820152606490fd5b156118f757565b60405162461bcd60e51b8152602060048201526014602482015273496e76616c696420636c75737465722073697a6560601b6044820152606490fd5b1561193a57565b60405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a59081d985b1a59185d1bdc881cd95d605a1b6044820152606490fd5b600181901b91906001600160ff1b038116036107dc57565b906006820291808304600614901517156107dc57565b908160051b91808304602014901517156107dc57565b634e487b7160e01b5f52601260045260245ffd5b156119d657565b60405162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f756768207369676e65727360701b6044820152606490fd5b60405190611a1d826103c2565b5f6020838281520152565b15611a2f57565b60405162461bcd60e51b815260206004820152600c60248201526b082a09640dad2e6dac2e8c6d60a31b6044820152606490fd5b15611a6a57565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420424c53207369676e617475726560581b6044820152606490fd5b94611b0d9297939496611ae8929660058a101580611c8b575b611ac9906118f0565b611ae382518b8110159081611c7e575b5099989799611933565b612541565b95611b06611b01611afa895193611977565b6003900490565b610e0d565b11156119cf565b611b15611a10565b5f937f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031693915b8751861015611bf157611b7e906101c0611b5e888b610cfd565b51604051809481926308899cf560e41b8352600483019190602083019252565b0381895afa918215610f9157600192610100915f91611bd2575b5001518051919060200151611bab610413565b928352602083015287611bc25750955b0194611b44565b90611bcc916127fb565b95611bbb565b611beb91506101c03d8111610fbe57610fb081836103e2565b5f611b98565b6101909550611c799450611c58611c5d919792939497611c116040610422565b855181529060208601516020830152611c3b611c2d6040610422565b966040810151885260600190565b516020870152611c49610413565b95869283526020830152612927565b611a28565b80519060200151611c6c610413565b91825260208201526129b9565b611a63565b610100915011155f611ad9565b506101008a1115611ac0565b15611c9e57565b60405162461bcd60e51b815260206004820152601260248201527109cdedcc6c2dcdedcd2c6c2d840ead2dce8760731b6044820152606490fd5b15611cdf57565b60405162461bcd60e51b81526020600482015260136024820152722737b731b0b737b734b1b0b6103ab4b73a189b60691b6044820152606490fd5b15611d2157565b60405162461bcd60e51b81526020600482015260136024820152722737b731b0b737b734b1b0b6103ab4b73a199960691b6044820152606490fd5b15611d6357565b60405162461bcd60e51b8152602060048201526013602482015272139bdb98d85b9bdb9a58d85b081d5a5b9d0d8d606a1b6044820152606490fd5b90915f92611dae8351821061102d565b611dc4611dbe61189a8386611842565b60f81c90565b92611dda601f600586901c600716951692610e0d565b9160188110611fd15760188114611f9d5760198114611f4b57601a8114611ea357601b14611e395760405162461bcd60e51b815260206004820152600f60248201526e24b73232b334b734ba329021a127a960891b6044820152606490fd5b611e4561109e83610e45565b5f905b60088210611e70575050611e6a90611e6563ffffffff8611611d5c565b610e45565b91929190565b909460019060081b611e9a611e94611dbe61189a611e8e8b89610e61565b87611842565b60ff1690565b17950190611e48565b50819450611f37611e94611dbe61189a85611f2c611f26611e94611dbe61189a611f2086611f19611f13611e6a9f8f61189a611dbe91611ee861109e611e9495610e29565b611f0d611f07611f01611e94611dbe61189a8c87611842565b60181b90565b97610e0d565b90611842565b60101b90565b1796610e1b565b8b611842565b60081b90565b1794611f0d8a610e37565b1793611f4661ffff8611611d1a565b610e29565b50819450611f5e61109e611e6a93610e1b565b611f8a611e94611dbe61189a611f80611f26611e94611dbe61189a8d8a611842565b94611f0d8a610e0d565b1793611f9860ff8611611cd8565b610e1b565b50819450611e94611dbe61189a84611fc394611fbe61109e611e6a98610e0d565b611842565b93611b016018861015611c97565b94505091929190565b60ff611fe96003949383611d9e565b9591929092160361201957808401938481116107dc5782612010612015945187111561102d565b611853565b9190565b60405162461bcd60e51b815260206004820152601360248201527245787065637465642062797465732d6c696b6560681b6044820152606490fd5b60ff611fe96002949383611d9e565b60ff60209116019060ff82116107dc57565b906120808251611810565b915f5b81518110156120e9578061209960019284611842565b5160f81c604181101581816120dd575b50156120d8576120b890612063565b60f81b6001600160f81b0319165f1a6120d18287611842565b5301612083565b6120b8565b605a915011155f6120a9565b5050565b156120f457565b60405162461bcd60e51b815260206004820152601a60248201527f496e76616c6964207769746864726177616c207061796c6f61640000000000006044820152606490fd5b600661214482610fcc565b91909103612258576121569082611683565b6121609082611683565b5f9061216c9083611d9e565b9160ff1660061460ff6121cd816121c76121b560026121af6121a76121e79a6121a18a60069c6121e19c61224d575b506129cc565b8d61101e565b909214612a0b565b8a611d9e565b93909116159081612244575b50612a49565b87611d9e565b949192909216149081612239575b50612a95565b83612054565b9290936121f8602086511115612ae1565b5f925b85518410156122265760019060081b61221d611e94611dbe61189a888b611842565b179301926121fb565b90939194506101909250935110156120ed565b60029150145f6121db565b9050155f6121c1565b60049150145f61219b565b60405162461bcd60e51b81526020600482015260156024820152740496e76616c6964207769746864726177616c206f7605c1b6044820152606490fd5b604051600b60fb1b6020820152600160fd1b60218201526022808201929092529081526109cb6042826103e2565b156122ca57565b60405162461bcd60e51b815260206004820152600e60248201526d75696e7420746f6f206c6172676560901b6044820152606490fd5b601881106123f75760ff8111156123c85761ffff8111156123995763ffffffff81111561236a576109cb8161233f6001600160401b03809411156122c3565b604051601b60f81b6020820152921660c01b6001600160c01b031916602183015281602981016102fe565b604051600d60f91b602082015260e09190911b6001600160e01b03191660218201526109cb81602581016102fe565b604051601960f81b602082015260f09190911b6001600160f01b03191660218201526109cb81602381016102fe565b604051600360fb1b602082015260f89190911b6001600160f81b03191660218201526109cb81602281016102fe565b60405160f89190911b6001600160f81b03191660208201526109cb81602181016102fe565b9061242682610a80565b61243360405191826103e2565b8281528092611838601f1991610a80565b908160209103126100f3575190565b1561245a57565b60405162461bcd60e51b815260206004820152600e60248201526d2ab735b737bbb71039b4b3b732b960911b6044820152606490fd5b908160209103126100f357516109cb81610172565b906001600160401b03809116911601906001600160401b0382116107dc57565b156124cc57565b60405162461bcd60e51b815260206004820152600e60248201526d04e6f646520696e207761726d75760941b6044820152606490fd5b1561250957565b60405162461bcd60e51b815260206004820152601060248201526f223ab83634b1b0ba329039b4b3b732b960811b6044820152606490fd5b919290925f915f5b8551811015612579576001811b8316612565575b600101612549565b92612571600191610b8c565b93905061255d565b5092916125859061241c565b5f915f5b865181101561279d576001811b82166125a5575b600101612589565b6126067f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660206125e76125e1858c610cfd565b51612b20565b60405180948192630c038c9b60e11b8352600483019190602083019252565b0381845afa918215610f91575f9261276d575b50612625821515612453565b6040516308899cf560e41b815260048101839052906101c082602481845afa918215610f915761268f602060049481935f9161274e575b50016126826001600160401b0361267a83516001600160401b031690565b161515612453565b516001600160401b031690565b916040519384809262d4200960e41b82525afa918215610f91576126d6926126ce926126c2925f9261271e575b506124a5565b6001600160401b031690565b8710156124c5565b5f5b8581106126ff5750906001916126f76126f087610b8c565b9686610cfd565b52905061259d565b806127188361271060019489610cfd565b511415612502565b016126d8565b61274091925060203d8111612747575b61273881836103e2565b810190612490565b905f6126bc565b503d61272e565b61276791506101c03d8111610fbe57610fb081836103e2565b5f61265c565b61278f91925060203d8111612796575b61278781836103e2565b810190612444565b905f612619565b503d61277d565b505093505050565b604051906127b46020836103e2565b6020368337565b156127c257565b60405162461bcd60e51b8152602060048201526011602482015270109314ce881958d059190819985a5b1959607a1b6044820152606490fd5b608061285c612866929493946020612811611a10565b96816040519361282187866103e2565b86368637805185520151828401528051604084015201516060820152604090815193849161284f84846103e2565b8336843760065afa6127bb565b8051845260200190565b516020830152565b6040516060919061287f83826103e2565b6002815291601f1901825f5b82811061289757505050565b6020906128a2611a10565b8282850101520161288b565b604051906128bb826103c2565b81602060409182516128cd84826103e2565b8336823781528251926128e081856103e2565b3684370152565b604051606091906128f883826103e2565b6002815291601f1901825f5b82811061291057505050565b60209061291b6128ae565b82828501015201612904565b612946604051612936816103c2565b6001815260026020820152612b73565b9161294f61286e565b906129586128e7565b92825115610a03576020830152815115610a03576109cb93612978612bfe565b61298185610ce0565b5261298b84610ce0565b5061299583610ced565b5261299f82610ced565b506129a983610ced565b526129b382610ced565b50612d43565b90916129c761294691612e78565b612b73565b156129d357565b60405162461bcd60e51b815260206004820152601060248201526f115e1c1958dd195908191958da5b585b60821b6044820152606490fd5b15612a1257565b60405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a5908191958da5b585b608a1b6044820152606490fd5b15612a5057565b60405162461bcd60e51b815260206004820152601c60248201527f446563696d616c206578706f6e656e7420756e737570706f72746564000000006044820152606490fd5b15612a9c57565b60405162461bcd60e51b815260206004820152601860248201527f457870656374656420756e7369676e6564206269676e756d00000000000000006044820152606490fd5b15612ae857565b60405162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b6044820152606490fd5b612b2d608082511461143d565b6020810151906040810151906080606082015191015190604051926020840194855260408401526060830152608082015260808152612b6d60a0826103e2565b51902090565b612b7b611a10565b5080511580612bf2575b612bd9575f5160206130155f395f51905f5260208251920151065f5160206130155f395f51905f52035f5160206130155f395f51905f5281116107dc5760405191612bcf836103c2565b8252602082015290565b50604051612be6816103c2565b5f81525f602082015290565b50602081015115612b85565b612c066128ae565b50604051612c13816103c2565b7f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6020820152604051612c68816103c2565b7f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b81527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa602082015260405191612bcf836103c2565b15612cc557565b60405162461bcd60e51b815260206004820152601460248201527308498a67440d8cadccee8d040dad2e6dac2e8c6d60631b6044820152606490fd5b15612d0857565b60405162461bcd60e51b8152602060048201526013602482015272109314ce881c185a5c9a5b99c819985a5b1959606a1b6044820152606490fd5b612d508151835114612cbe565b8051612d63612d5e8261198f565b6119a5565b91612d75612d708361198f565b61241c565b935f5b838110612da75750505050612da260206001938193612d956127a5565b9485920160085afa612d01565b511490565b80612db360019261198f565b612dbd8286610cfd565b5151612dc9828a610cfd565b526020612dd68387610cfd565b510151612deb612de583610e0d565b8a610cfd565b52612df68285610cfd565b515151612e05612de583610e1b565b52612e1b612e138386610cfd565b515160200190565b51612e28612de583610e37565b526020612e358386610cfd565b51015151612e45612de583610e29565b52612e71612e6b612e646020612e5b8689610cfd565b51015160200190565b5192610e53565b89610cfd565b5201612d78565b612e9890612e84611a10565b505f5160206130155f395f51905f52900690565b5f905f5b6101008310612ee15760405162461bcd60e51b8152602060048201526014602482015273109314ce881a185cda151bd1cc4819985a5b195960621b6044820152606490fd5b612f54575f5160206130155f395f51905f52828208915f5160206130155f395f51905f526003818581818009090892612f1984612f59565b5f945f5160206130155f395f51905f5282800914612f3c57505060010191612e9c565b9250925050612f49610413565b918252602082015290565b6119bb565b60206040518181019282845282604083015282606083015260808201527f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260a08201525f5160206130155f395f51905f5260c082015260c08152612fbe60e0826103e2565b81612fc76117eb565b01928391519060055afa15612fda575190565b60405162461bcd60e51b8152602060048201526012602482015271109314ce881b5bd9115e1c0819985a5b195960721b6044820152606490fdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47",
}

SlasherMetaData contains all meta data concerning the Slasher contract.

View Source
var YellowTokenABI = YellowTokenMetaData.ABI

YellowTokenABI is the input ABI used to generate the binding from. Deprecated: Use YellowTokenMetaData.ABI instead.

View Source
var YellowTokenBin = YellowTokenMetaData.Bin

YellowTokenBin is the compiled bytecode used for deploying new contracts. Deprecated: Use YellowTokenMetaData.Bin instead.

View Source
var YellowTokenMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"treasury\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"DOMAIN_SEPARATOR\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"SUPPLY_CAP\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"allowance\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"approve\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"balanceOf\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"decimals\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"eip712Domain\",\"inputs\":[],\"outputs\":[{\"name\":\"fields\",\"type\":\"bytes1\",\"internalType\":\"bytes1\"},{\"name\":\"name\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"chainId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"verifyingContract\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"extensions\",\"type\":\"uint256[]\",\"internalType\":\"uint256[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"name\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"nonces\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"permit\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"v\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"r\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"symbol\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"totalSupply\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transfer\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferFrom\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"Approval\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EIP712DomainChanged\",\"inputs\":[],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Transfer\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignature\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignatureLength\",\"inputs\":[{\"name\":\"length\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignatureS\",\"inputs\":[{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"ERC20InsufficientAllowance\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"allowance\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"needed\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ERC20InsufficientBalance\",\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"balance\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"needed\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ERC20InvalidApprover\",\"inputs\":[{\"name\":\"approver\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC20InvalidReceiver\",\"inputs\":[{\"name\":\"receiver\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC20InvalidSender\",\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC20InvalidSpender\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ERC2612ExpiredSignature\",\"inputs\":[{\"name\":\"deadline\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ERC2612InvalidSigner\",\"inputs\":[{\"name\":\"signer\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"InvalidAccountNonce\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"currentNonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"InvalidAddress\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidShortString\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"StringTooLong\",\"inputs\":[{\"name\":\"str\",\"type\":\"string\",\"internalType\":\"string\"}]}]",
	Bin: "0x61016080604052346105045760208161140980380380916100208285610508565b83398101031261050457516001600160a01b038116908190036105045760405161004b604082610508565b60068152602081016559656c6c6f7760d01b81526040519061006e604083610508565b600682526559656c6c6f7760d01b602083015260405192610090604085610508565b600684526559454c4c4f5760d01b6020850152604051936100b2604086610508565b60018552603160f81b60208601908152845190946001600160401b0382116103ff5760035490600182811c921680156104fa575b60208310146103e15781601f849311610484575b50602090601f831160011461041e575f92610413575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103ff5760045490600182811c921680156103f5575b60208310146103e15781601f84931161036b575b50602090601f8311600114610305575f926102fa575b50508160011b915f199060031b1c1916176004555b6101908161052b565b6101205261019d846106be565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261020660c082610508565b5190206080523060c05280156102eb576002546b204fce5e3e2502611000000081018091116102d757600255805f525f60205260405f206b204fce5e3e2502611000000081540190555f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206040516b204fce5e3e250261100000008152a3604051610c069081610803823960805181610925015260a051816109e2015260c051816108ef015260e051816109740152610100518161099a0152610120518161037a015261014051816103a30152f35b634e487b7160e01b5f52601160045260245ffd5b63e6c4247b60e01b5f5260045ffd5b015190505f80610172565b60045f9081528281209350601f198516905b818110610353575090846001959493921061033b575b505050811b01600455610187565b01515f1960f88460031b161c191690555f808061032d565b92936020600181928786015181550195019301610317565b8281111561015c5760045f52909150601f830160051c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b602085106103d9575b849392601f0160051c82900391015f5b8281106103c957505061015c565b5f818301558594506001016103bb565b5f91506103ab565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610148565b634e487b7160e01b5f52604160045260245ffd5b015190505f80610110565b60035f9081528281209350601f198516905b81811061046c5750908460019594939210610454575b505050811b01600355610125565b01515f1960f88460031b161c191690555f8080610446565b92936020600181928786015181550195019301610430565b828111156100fa5760035f52909150601f830160051c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b602085106104f2575b849392601f0160051c82900391015f5b8281106104e25750506100fa565b5f818301558594506001016104d4565b5f91506104c4565b91607f16916100e6565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103ff57604052565b908151602081105f146105a5575090601f815111610565576020815191015160208210610556571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103ff57600554600181811c911680156106b4575b60208210146103e157601f8111610675575b50602092601f821160011461061457928192935f92610609575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806105f0565b601f1982169360055f52805f20915f5b86811061065d5750836001959610610645575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f8080610637565b91926020600181928685015181550194019201610624565b818111156105d65760055f5260205f20601f80840160051c809201920160051c03905f5b8281106106a75750506105d6565b5f82820155600101610699565b90607f16906105c4565b908151602081105f146106e9575090601f815111610565576020815191015160208210610556571790565b6001600160401b0381116103ff57600654600181811c911680156107f8575b60208210146103e157601f81116107b9575b50602092601f821160011461075857928192935f9261074d575b50508160011b915f199060031b1c19161760065560ff90565b015190505f80610734565b601f1982169360065f52805f20915f5b8681106107a15750836001959610610789575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f808061077b565b91926020600181928685015181550194019201610768565b8181111561071a5760065f5260205f20601f80840160051c809201920160051c03905f5b8281106107eb57505061071a565b5f828201556001016107dd565b90607f169061070856fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461064e57508063095ea7b3146106285780630cfccc831461060257806318160ddd146105e557806323b872dd14610506578063313ce567146104eb5780633644e515146104c957806370a08231146104925780637ecebe001461045a57806384b0196e1461036257806395d89b4114610280578063a9059cbb1461024f578063d505accf1461010a5763dd62ed3e146100b6575f80fd5b34610106576040366003190112610106576100cf610714565b6100d761072a565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b346101065760e036600319011261010657610123610714565b61012b61072a565b604435906064359260843560ff811681036101065784421161023c576101ff6102089160018060a01b03841696875f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b038916606084015289608084015260a083015260c082015260c081526101cd60e0826107f9565b5190206101d86108ec565b906040519161190160f01b83526002830152602282015260c43591604260a4359220610b05565b90929192610b92565b6001600160a01b031684810361022557506102239350610a08565b005b84906325c0072360e11b5f5260045260245260445ffd5b8463313c898160e11b5f5260045260245ffd5b346101065760403660031901126101065761027561026b610714565b602435903361082f565b602060405160018152f35b34610106575f366003190112610106576040515f6004546102a081610740565b808452906001811690811561033e57506001146102e0575b6102dc836102c8818503826107f9565b6040519182916020835260208301906106f0565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b808210610324575090915081016020016102c86102b8565b91926001816020925483858801015201910190929161030c565b60ff191660208086019190915291151560051b840190910191506102c890506102b8565b34610106575f366003190112610106576103fe61039e7f0000000000000000000000000000000000000000000000000000000000000000610a6b565b6103c77f0000000000000000000000000000000000000000000000000000000000000000610ace565b602061040c604051926103da83856107f9565b5f84525f368137604051958695600f60f81b875260e08588015260e08701906106f0565b9085820360408701526106f0565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061044357505050500390f35b835185528695509381019392810192600101610434565b34610106576020366003190112610106576001600160a01b0361047b610714565b165f526007602052602060405f2054604051908152f35b34610106576020366003190112610106576001600160a01b036104b3610714565b165f525f602052602060405f2054604051908152f35b34610106575f3660031901126101065760206104e36108ec565b604051908152f35b34610106575f36600319011261010657602060405160128152f35b346101065760603660031901126101065761051f610714565b61052761072a565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f198110610565575b50610275935061082f565b8381106105ca5784156105b75733156105a457610275945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461055a565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b34610106575f366003190112610106576020600254604051908152f35b34610106575f3660031901126101065760206040516b204fce5e3e250261100000008152f35b3461010657604036600319011261010657610275610644610714565b6024359033610a08565b34610106575f366003190112610106575f60035461066b81610740565b808452906001811690811561033e5750600114610692576102dc836102c8818503826107f9565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b8082106106d6575090915081016020016102c86102b8565b9192600181602092548385880101520191019092916106be565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361010657565b602435906001600160a01b038216820361010657565b90600182811c9216801561076e575b602083101461075a57565b634e487b7160e01b5f52602260045260245ffd5b91607f169161074f565b5f929181549161078783610740565b80835292600181169081156107dc57506001146107a357505050565b5f9081526020812093945091925b8383106107c2575060209250010190565b6001816020929493945483858701015201910191906107b1565b915050602093945060ff929192191683830152151560051b010190565b90601f8019910116810190811067ffffffffffffffff82111761081b57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b03169081156108d9576001600160a01b03169182156108c657815f525f60205260405f20548181106108ad57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614806109df575b15610947577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526109d960c0826107f9565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461091e565b6001600160a01b03169081156105b7576001600160a01b03169182156105a45760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610ab15760ff811690601f8211610aa25760405191610a8f6040846107f9565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b50604051610acb81610ac4816005610778565b03826107f9565b90565b60ff8114610af25760ff811690601f8211610aa25760405191610a8f6040846107f9565b50604051610acb81610ac4816006610778565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610b87579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b7c575f516001600160a01b03811615610b7257905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004811015610bf25780610ba4575050565b60018103610bbb5763f645eedf60e01b5f5260045ffd5b60028103610bd6575063fce698f760e01b5f5260045260245ffd5b600314610be05750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd",
}

YellowTokenMetaData contains all meta data concerning the YellowToken contract.

Functions

func ComputeConfigCommitDigest added in v0.3.0

func ComputeConfigCommitDigest(chainID uint64, governor common.Address, key [32]byte, checksum [32]byte, expectedEpoch uint64) [32]byte

ComputeConfigCommitDigest mirrors ConfigGovernor.setConfig's digest:

keccak256(abi.encode(
    block.chainid, address(this), "setConfig", key, checksum, expectedEpoch))

expectedEpoch is the registry's current configEpoch(key) — the only replay token for a config commit, since Config.sol has no nonce. It is bound into the signed digest, never into the hashed payload, so content-addressing and free rollback (re-committing a checksum already held) keep working.

func ComputeOperatorRotationDigest added in v0.3.0

func ComputeOperatorRotationDigest(chainID uint64, governor common.Address, newOperators []common.Address, newThreshold, operatorNonce *big.Int) [32]byte

ComputeOperatorRotationDigest mirrors ConfigGovernor.updateOperators's digest:

keccak256(abi.encode(
    block.chainid, address(this), "updateOperators",
    keccak256(abi.encode(newOperators, newThreshold)),
    operatorNonce))

newOperators must be ascending (the order the contract stores and verifies); operatorNonce is the on-chain ConfigGovernor.operatorNonce() — consumed on a successful rotation, so the signature set authorises exactly one rotation.

func ComputeRotationDigest

func ComputeRotationDigest(chainID uint64, vault common.Address, newSigners []common.Address, newThreshold, signerNonce *big.Int) [32]byte

ComputeRotationDigest mirrors Custody.sol's updateSigners digest:

keccak256(abi.encode(
    block.chainid, address(this), "updateSigners",
    keccak256(abi.encode(newSigners, newThreshold)),
    signerNonce))

newSigners must be in the same (ascending) order the contract stores them; signerNonce is the on-chain Custody.signerNonce() — the rotation replay token.

Types

type AssetResolver added in v0.5.0

type AssetResolver struct {
	// contains filtered or unexported fields
}

func NewAssetResolver added in v0.5.0

func NewAssetResolver(client bind.ContractBackend, cfg AssetResolverConfig) *AssetResolver

func (*AssetResolver) AssetDecimals added in v0.5.0

func (r *AssetResolver) AssetDecimals(ctx context.Context, assetAddress string) (uint8, error)

func (*AssetResolver) ValidateAssetAddress added in v0.5.0

func (r *AssetResolver) ValidateAssetAddress(_ context.Context, assetAddress string) error

type AssetResolverConfig added in v0.5.0

type AssetResolverConfig struct {
	NativeDecimals *uint8
}

type BLSPubkeyCache

type BLSPubkeyCache struct {
	// contains filtered or unexported fields
}

BLSPubkeyCache maintains an in-memory map of nodeId → 128-byte G2 pubkey populated from the on-chain Registry (ADR-008 / 2026-05-16 amendment: BLS keys live on NodeRecord directly).

Lifecycle:

  1. Backfill(ctx) — startup full-sync via paginated `GetNodeIds` + `GetNodes`. Records the block height (watermark) so follow-up subscription starts exactly at the next block — no gap, no duplicate processing.
  2. Watch(ctx) — poll for NodeActivated + NodeReleased events and update the map. Held until N confirmations deep to absorb reorgs.

Lookup is lock-free in the common case (sync.RWMutex read path) and never issues an RPC — missing entries return nil and the caller hard-fails per ADR-008 "drop the NodeID fallback" step.

func NewBLSPubkeyCache

func NewBLSPubkeyCache(client *ethclient.Client, registryAddr common.Address, reg BLSPubkeyCacheRegistry, confirmations uint64) *BLSPubkeyCache

NewBLSPubkeyCache constructs an empty cache. Call Backfill(ctx) before Watch(ctx). The client may be nil for unit-test wiring that only exercises the lookup path; production callers supply the live ethclient.

func (*BLSPubkeyCache) Backfill

func (c *BLSPubkeyCache) Backfill(ctx context.Context) error

Backfill seeds the cache from the Registry by paginating GetNodeIds + GetNodes (both iterate `_nodeIds` in identical order, so positions match by index). Records the block height at which the snapshot was taken as the watermark so subsequent Watch starts exactly at watermark+1.

Returns the set of (active + unbonding) nodes whose BLS keys we will need during the unbonding window — slashing evidence against an unbonding node must still verify, so the cache holds keys until `NodeReleased`.

func (*BLSPubkeyCache) Delete

func (c *BLSPubkeyCache) Delete(id core.NodeID)

Delete removes an entry. Invoked by Watch on a confirmed NodeReleased event.

func (*BLSPubkeyCache) Lookup

func (c *BLSPubkeyCache) Lookup(id core.NodeID) []byte

Lookup returns the cached 128-byte G2 pubkey for a Slot, or nil if unknown. Wired into `cluster.SigningCoordinator.BLSPubKeyLookup` in production so SealBlock populates block.Validators with Registry-authoritative pubkeys.

func (*BLSPubkeyCache) LookupWithRefresh

func (c *BLSPubkeyCache) LookupWithRefresh(ctx context.Context, id core.NodeID) ([]byte, bool)

LookupWithRefresh returns the pubkey for id, issuing a single cold-miss `GetNodeById` RPC if the cache does not yet carry an entry. Intended as a narrow escape hatch: a freshly-activated node whose NodeActivated event has not yet cleared the confirmation window but whose partial signature the sealer wants to include. Returns nil + false when both the cache and the on-chain lookup return zero.

func (*BLSPubkeyCache) NodeIDForPubkey

func (c *BLSPubkeyCache) NodeIDForPubkey(pubkey []byte) (core.NodeID, bool)

NodeIDForPubkey returns the NodeID that registered the given 128-byte G2 pubkey on chain, or (zero, false) if no active node carries that pubkey. Off-chain verifiers (custody) use this to authorize signers carried in a block's Attestation.Validators against the live Registry — without it, the pairing check alone would accept any well-formed signature, including those produced by self-elected attacker keys.

func (*BLSPubkeyCache) Put

func (c *BLSPubkeyCache) Put(id core.NodeID, pubkey []byte)

Put records a (nodeId → G2 pubkey) entry. Exposed so tests can seed the cache without a chain adapter; production code always goes through Backfill / Watch. pubkey must be exactly 128 bytes (BLSPubkeyCacheSize).

func (*BLSPubkeyCache) SetLogger

func (c *BLSPubkeyCache) SetLogger(l log.Logger)

SetLogger sets the cache's logger (defaults to a no-op). Call before Backfill or Watch; not safe to call concurrently with them.

func (*BLSPubkeyCache) Size

func (c *BLSPubkeyCache) Size() int

Size returns the current cache size. Intended for diagnostics / tests.

func (*BLSPubkeyCache) Watch

func (c *BLSPubkeyCache) Watch(ctx context.Context) error

Watch polls the chain for NodeActivated / NodeReleased events and updates the cache once they reach c.confirmations depth. Returns when ctx is cancelled.

Design: HTTP-poll (vs WatchLogs subscription) — subscriptions require a websocket client which is not always available (QA deploys use plain HTTP); polling is the common denominator. The poll interval is small enough (2s) that the fallback to PeerAnnouncement's fast-path covers any in-flight gap.

func (*BLSPubkeyCache) Watermark

func (c *BLSPubkeyCache) Watermark() uint64

Watermark returns the highest confirmed L1 block whose events have been committed into the cache. Advances on Backfill + on each confirmed event batch. Intended for diagnostics.

type BLSPubkeyCacheRegistry

type BLSPubkeyCacheRegistry interface {
	TotalNodes(opts *bind.CallOpts) (*big.Int, error)
	GetNodeIds(opts *bind.CallOpts, offset *big.Int, limit *big.Int) ([][32]byte, error)
	GetNodes(opts *bind.CallOpts, offset *big.Int, limit *big.Int) ([]NodeRecord, error)
	GetNodeById(opts *bind.CallOpts, nodeId [32]byte) (NodeRecord, error)
}

BLSPubkeyCacheRegistry is the subset of the Registry binding used by the cache. Decouples from *Registry so tests can inject a stub.

TODO: refactor the cache off this binding-shaped interface. Backfill can use core.RegistryReader directly — GetNodes returns []*core.Slot, where each Slot already carries .ID (nodeId) and .BLSPubKey (the serialized G2), so the GetNodeIds call and the local g2Zero/serializeG2 helpers become unnecessary. Watch cannot: it needs ethclient.FilterLogs over NodeActivated/NodeReleased, which is event-subscription, not a contract read. Doing this properly means introducing a log-subscription seam (so the cache depends on RegistryReader for sync + a log source for updates) rather than the raw *ethclient.Client.

type Config added in v0.3.0

type Config struct {
	ConfigCaller     // Read-only binding to the contract
	ConfigTransactor // Write-only binding to the contract
	ConfigFilterer   // Log filterer for contract events
}

Config is an auto generated Go binding around an Ethereum contract.

func DeployConfig added in v0.3.0

func DeployConfig(auth *bind.TransactOpts, backend bind.ContractBackend, owner_ common.Address) (common.Address, *types.Transaction, *Config, error)

DeployConfig deploys a new Ethereum contract, binding an instance of Config to it.

func NewConfig added in v0.3.0

func NewConfig(address common.Address, backend bind.ContractBackend) (*Config, error)

NewConfig creates a new instance of Config, bound to a specific deployed contract.

type ConfigCaller added in v0.3.0

type ConfigCaller struct {
	// contains filtered or unexported fields
}

ConfigCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewConfigCaller added in v0.3.0

func NewConfigCaller(address common.Address, caller bind.ContractCaller) (*ConfigCaller, error)

NewConfigCaller creates a new read-only instance of Config, bound to a specific deployed contract.

func (*ConfigCaller) ConfigChecksumAt added in v0.3.0

func (_Config *ConfigCaller) ConfigChecksumAt(opts *bind.CallOpts, key [32]byte, index *big.Int) ([32]byte, error)

ConfigChecksumAt is a free data retrieval call binding the contract method 0x2676450c.

Solidity: function configChecksumAt(bytes32 key, uint256 index) view returns(bytes32)

func (*ConfigCaller) ConfigChecksums added in v0.3.0

func (_Config *ConfigCaller) ConfigChecksums(opts *bind.CallOpts, key [32]byte) ([][32]byte, error)

ConfigChecksums is a free data retrieval call binding the contract method 0xfec5bedb.

Solidity: function configChecksums(bytes32 key) view returns(bytes32[])

func (*ConfigCaller) ConfigEpoch added in v0.3.0

func (_Config *ConfigCaller) ConfigEpoch(opts *bind.CallOpts, key [32]byte) (uint64, error)

ConfigEpoch is a free data retrieval call binding the contract method 0xaf890358.

Solidity: function configEpoch(bytes32 key) view returns(uint64)

func (*ConfigCaller) ConfigWriter added in v0.3.0

func (_Config *ConfigCaller) ConfigWriter(opts *bind.CallOpts, key [32]byte) (common.Address, error)

ConfigWriter is a free data retrieval call binding the contract method 0x3632ad79.

Solidity: function configWriter(bytes32 key) view returns(address)

func (*ConfigCaller) LatestConfigChecksum added in v0.3.0

func (_Config *ConfigCaller) LatestConfigChecksum(opts *bind.CallOpts, key [32]byte) ([32]byte, error)

LatestConfigChecksum is a free data retrieval call binding the contract method 0x3cb37e57.

Solidity: function latestConfigChecksum(bytes32 key) view returns(bytes32)

func (*ConfigCaller) Owner added in v0.3.0

func (_Config *ConfigCaller) Owner(opts *bind.CallOpts) (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*ConfigCaller) PendingOwner added in v0.3.0

func (_Config *ConfigCaller) PendingOwner(opts *bind.CallOpts) (common.Address, error)

PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.

Solidity: function pendingOwner() view returns(address)

type ConfigCallerRaw added in v0.3.0

type ConfigCallerRaw struct {
	Contract *ConfigCaller // Generic read-only contract binding to access the raw methods on
}

ConfigCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*ConfigCallerRaw) Call added in v0.3.0

func (_Config *ConfigCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type ConfigCallerSession added in v0.3.0

type ConfigCallerSession struct {
	Contract *ConfigCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts // Call options to use throughout this session
}

ConfigCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*ConfigCallerSession) ConfigChecksumAt added in v0.3.0

func (_Config *ConfigCallerSession) ConfigChecksumAt(key [32]byte, index *big.Int) ([32]byte, error)

ConfigChecksumAt is a free data retrieval call binding the contract method 0x2676450c.

Solidity: function configChecksumAt(bytes32 key, uint256 index) view returns(bytes32)

func (*ConfigCallerSession) ConfigChecksums added in v0.3.0

func (_Config *ConfigCallerSession) ConfigChecksums(key [32]byte) ([][32]byte, error)

ConfigChecksums is a free data retrieval call binding the contract method 0xfec5bedb.

Solidity: function configChecksums(bytes32 key) view returns(bytes32[])

func (*ConfigCallerSession) ConfigEpoch added in v0.3.0

func (_Config *ConfigCallerSession) ConfigEpoch(key [32]byte) (uint64, error)

ConfigEpoch is a free data retrieval call binding the contract method 0xaf890358.

Solidity: function configEpoch(bytes32 key) view returns(uint64)

func (*ConfigCallerSession) ConfigWriter added in v0.3.0

func (_Config *ConfigCallerSession) ConfigWriter(key [32]byte) (common.Address, error)

ConfigWriter is a free data retrieval call binding the contract method 0x3632ad79.

Solidity: function configWriter(bytes32 key) view returns(address)

func (*ConfigCallerSession) LatestConfigChecksum added in v0.3.0

func (_Config *ConfigCallerSession) LatestConfigChecksum(key [32]byte) ([32]byte, error)

LatestConfigChecksum is a free data retrieval call binding the contract method 0x3cb37e57.

Solidity: function latestConfigChecksum(bytes32 key) view returns(bytes32)

func (*ConfigCallerSession) Owner added in v0.3.0

func (_Config *ConfigCallerSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*ConfigCallerSession) PendingOwner added in v0.3.0

func (_Config *ConfigCallerSession) PendingOwner() (common.Address, error)

PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.

Solidity: function pendingOwner() view returns(address)

type ConfigCommitFinalizer added in v0.3.0

type ConfigCommitFinalizer struct {
	// contains filtered or unexported fields
}

ConfigCommitFinalizer commits a content-addressed config checksum to the Config registry via ConfigGovernor.setConfig, authorised by the operator quorum. It is the config-commit analogue of RotationFinalizer: the off-chain ceremony collects operator-key signatures over the commit digest, and the HRW-elected submitter calls Submit. It owns the node's operator signer and the governor address + chain id supplied at construction.

func NewConfigCommitFinalizer added in v0.3.0

func NewConfigCommitFinalizer(ctx context.Context, client *ethclient.Client, govAddr common.Address, signer sign.Signer, fees FeeConfig) (*ConfigCommitFinalizer, error)

NewConfigCommitFinalizer binds the ConfigGovernor at govAddr, resolves the Config registry it writes through, and reads the chain id from client. signer is this node's operator-key identity.

func (*ConfigCommitFinalizer) Pack added in v0.3.0

func (f *ConfigCommitFinalizer) Pack(ctx context.Context, key [32]byte, checksum [32]byte) ([]byte, error)

Pack reads the live registry epoch for key and returns the canonical JSON for committing checksum at that epoch. The epoch is the commit's only replay token (Config.sol has no nonce), bound into the signed digest.

func (*ConfigCommitFinalizer) SetLogger added in v0.3.0

func (f *ConfigCommitFinalizer) SetLogger(l log.Logger)

SetLogger sets the finalizer's logger (defaults to a no-op). Used to surface best-effort txID lookups that resolve to an empty txID.

func (*ConfigCommitFinalizer) SetLookupWindow added in v0.3.0

func (f *ConfigCommitFinalizer) SetLookupWindow(blocks uint64)

SetLookupWindow overrides the eth_getLogs lookback (in blocks) used to resolve the txID of an already-applied commit. A zero value keeps the default (defaultConfigLookupWindow). Widen it on chains with short block times so a slow ceremony doesn't push the event out of range.

func (*ConfigCommitFinalizer) Sign added in v0.3.0

func (f *ConfigCommitFinalizer) Sign(ctx context.Context, packed []byte) ([]byte, error)

Sign produces this node's 65-byte ECDSA signature (V ∈ {0,1}) over the commit digest derived from the packed bytes.

func (*ConfigCommitFinalizer) SignerAddress added in v0.3.0

func (f *ConfigCommitFinalizer) SignerAddress() common.Address

SignerAddress is the operator address this finalizer signs as.

func (*ConfigCommitFinalizer) Submit added in v0.3.0

func (f *ConfigCommitFinalizer) Submit(ctx context.Context, packed []byte, signatures [][]byte) (string, error)

Submit merges the collected operator signatures against the live operator set and broadcasts setConfig. Idempotent: if this exact commit already landed it returns the prior txID without re-submitting.

func (*ConfigCommitFinalizer) Validate added in v0.3.0

func (f *ConfigCommitFinalizer) Validate(ctx context.Context, packed []byte, key [32]byte, checksum [32]byte) error

Validate re-derives the commit target and asserts the packed payload matches, including a re-read of the live epoch to reject a packer that bound a stale expectedEpoch (the commit would revert on-chain otherwise).

func (*ConfigCommitFinalizer) VerifyCommit added in v0.3.0

func (f *ConfigCommitFinalizer) VerifyCommit(ctx context.Context, key [32]byte, checksum [32]byte, expectedEpoch uint64) (string, bool, error)

VerifyCommit reports whether checksum was committed at expectedEpoch (i.e. the registry has advanced past expectedEpoch and the slot our commit would have pushed holds checksum). When set, it resolves the ConfigCommitted txID.

type ConfigConfigSet added in v0.3.0

type ConfigConfigSet struct {
	Key      [32]byte
	Writer   common.Address
	Checksum [32]byte
	Epoch    uint64
	Raw      types.Log // Blockchain specific contextual infos
}

ConfigConfigSet represents a ConfigSet event raised by the Config contract.

type ConfigConfigSetIterator added in v0.3.0

type ConfigConfigSetIterator struct {
	Event *ConfigConfigSet // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ConfigConfigSetIterator is returned from FilterConfigSet and is used to iterate over the raw logs and unpacked data for ConfigSet events raised by the Config contract.

func (*ConfigConfigSetIterator) Close added in v0.3.0

func (it *ConfigConfigSetIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*ConfigConfigSetIterator) Error added in v0.3.0

func (it *ConfigConfigSetIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*ConfigConfigSetIterator) Next added in v0.3.0

func (it *ConfigConfigSetIterator) Next() bool

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.

type ConfigConfigWriterSet added in v0.3.0

type ConfigConfigWriterSet struct {
	Key            [32]byte
	PreviousWriter common.Address
	NewWriter      common.Address
	Raw            types.Log // Blockchain specific contextual infos
}

ConfigConfigWriterSet represents a ConfigWriterSet event raised by the Config contract.

type ConfigConfigWriterSetIterator added in v0.3.0

type ConfigConfigWriterSetIterator struct {
	Event *ConfigConfigWriterSet // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ConfigConfigWriterSetIterator is returned from FilterConfigWriterSet and is used to iterate over the raw logs and unpacked data for ConfigWriterSet events raised by the Config contract.

func (*ConfigConfigWriterSetIterator) Close added in v0.3.0

Close terminates the iteration process, releasing any pending underlying resources.

func (*ConfigConfigWriterSetIterator) Error added in v0.3.0

Error returns any retrieval or parsing error occurred during filtering.

func (*ConfigConfigWriterSetIterator) Next added in v0.3.0

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.

type ConfigFilterer added in v0.3.0

type ConfigFilterer struct {
	// contains filtered or unexported fields
}

ConfigFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewConfigFilterer added in v0.3.0

func NewConfigFilterer(address common.Address, filterer bind.ContractFilterer) (*ConfigFilterer, error)

NewConfigFilterer creates a new log filterer instance of Config, bound to a specific deployed contract.

func (*ConfigFilterer) FilterConfigSet added in v0.3.0

func (_Config *ConfigFilterer) FilterConfigSet(opts *bind.FilterOpts, key [][32]byte, writer []common.Address) (*ConfigConfigSetIterator, error)

FilterConfigSet is a free log retrieval operation binding the contract event 0x952e9f054f8f14436d21495120b5658808398d89e8240fca0e0b5669e4dbb013.

Solidity: event ConfigSet(bytes32 indexed key, address indexed writer, bytes32 checksum, uint64 epoch)

func (*ConfigFilterer) FilterConfigWriterSet added in v0.3.0

func (_Config *ConfigFilterer) FilterConfigWriterSet(opts *bind.FilterOpts, key [][32]byte, previousWriter []common.Address, newWriter []common.Address) (*ConfigConfigWriterSetIterator, error)

FilterConfigWriterSet is a free log retrieval operation binding the contract event 0x46f01f011115ff538e9d22228830993d46f2ed2657987b0840069c92f3ae163e.

Solidity: event ConfigWriterSet(bytes32 indexed key, address indexed previousWriter, address indexed newWriter)

func (*ConfigFilterer) FilterOwnershipTransferStarted added in v0.3.0

func (_Config *ConfigFilterer) FilterOwnershipTransferStarted(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ConfigOwnershipTransferStartedIterator, error)

FilterOwnershipTransferStarted is a free log retrieval operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700.

Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)

func (*ConfigFilterer) FilterOwnershipTransferred added in v0.3.0

func (_Config *ConfigFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ConfigOwnershipTransferredIterator, error)

FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

func (*ConfigFilterer) ParseConfigSet added in v0.3.0

func (_Config *ConfigFilterer) ParseConfigSet(log types.Log) (*ConfigConfigSet, error)

ParseConfigSet is a log parse operation binding the contract event 0x952e9f054f8f14436d21495120b5658808398d89e8240fca0e0b5669e4dbb013.

Solidity: event ConfigSet(bytes32 indexed key, address indexed writer, bytes32 checksum, uint64 epoch)

func (*ConfigFilterer) ParseConfigWriterSet added in v0.3.0

func (_Config *ConfigFilterer) ParseConfigWriterSet(log types.Log) (*ConfigConfigWriterSet, error)

ParseConfigWriterSet is a log parse operation binding the contract event 0x46f01f011115ff538e9d22228830993d46f2ed2657987b0840069c92f3ae163e.

Solidity: event ConfigWriterSet(bytes32 indexed key, address indexed previousWriter, address indexed newWriter)

func (*ConfigFilterer) ParseOwnershipTransferStarted added in v0.3.0

func (_Config *ConfigFilterer) ParseOwnershipTransferStarted(log types.Log) (*ConfigOwnershipTransferStarted, error)

ParseOwnershipTransferStarted is a log parse operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700.

Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)

func (*ConfigFilterer) ParseOwnershipTransferred added in v0.3.0

func (_Config *ConfigFilterer) ParseOwnershipTransferred(log types.Log) (*ConfigOwnershipTransferred, error)

ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

func (*ConfigFilterer) WatchConfigSet added in v0.3.0

func (_Config *ConfigFilterer) WatchConfigSet(opts *bind.WatchOpts, sink chan<- *ConfigConfigSet, key [][32]byte, writer []common.Address) (event.Subscription, error)

WatchConfigSet is a free log subscription operation binding the contract event 0x952e9f054f8f14436d21495120b5658808398d89e8240fca0e0b5669e4dbb013.

Solidity: event ConfigSet(bytes32 indexed key, address indexed writer, bytes32 checksum, uint64 epoch)

func (*ConfigFilterer) WatchConfigWriterSet added in v0.3.0

func (_Config *ConfigFilterer) WatchConfigWriterSet(opts *bind.WatchOpts, sink chan<- *ConfigConfigWriterSet, key [][32]byte, previousWriter []common.Address, newWriter []common.Address) (event.Subscription, error)

WatchConfigWriterSet is a free log subscription operation binding the contract event 0x46f01f011115ff538e9d22228830993d46f2ed2657987b0840069c92f3ae163e.

Solidity: event ConfigWriterSet(bytes32 indexed key, address indexed previousWriter, address indexed newWriter)

func (*ConfigFilterer) WatchOwnershipTransferStarted added in v0.3.0

func (_Config *ConfigFilterer) WatchOwnershipTransferStarted(opts *bind.WatchOpts, sink chan<- *ConfigOwnershipTransferStarted, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error)

WatchOwnershipTransferStarted is a free log subscription operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700.

Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)

func (*ConfigFilterer) WatchOwnershipTransferred added in v0.3.0

func (_Config *ConfigFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ConfigOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error)

WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

type ConfigGovernor added in v0.3.0

type ConfigGovernor struct {
	ConfigGovernorCaller     // Read-only binding to the contract
	ConfigGovernorTransactor // Write-only binding to the contract
	ConfigGovernorFilterer   // Log filterer for contract events
}

ConfigGovernor is an auto generated Go binding around an Ethereum contract.

func DeployConfigGovernor added in v0.3.0

func DeployConfigGovernor(auth *bind.TransactOpts, backend bind.ContractBackend, config_ common.Address, initialOperators []common.Address, initialThreshold *big.Int, owner_ common.Address) (common.Address, *types.Transaction, *ConfigGovernor, error)

DeployConfigGovernor deploys a new Ethereum contract, binding an instance of ConfigGovernor to it.

func NewConfigGovernor added in v0.3.0

func NewConfigGovernor(address common.Address, backend bind.ContractBackend) (*ConfigGovernor, error)

NewConfigGovernor creates a new instance of ConfigGovernor, bound to a specific deployed contract.

type ConfigGovernorCaller added in v0.3.0

type ConfigGovernorCaller struct {
	// contains filtered or unexported fields
}

ConfigGovernorCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewConfigGovernorCaller added in v0.3.0

func NewConfigGovernorCaller(address common.Address, caller bind.ContractCaller) (*ConfigGovernorCaller, error)

NewConfigGovernorCaller creates a new read-only instance of ConfigGovernor, bound to a specific deployed contract.

func (*ConfigGovernorCaller) Config added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCaller) Config(opts *bind.CallOpts) (common.Address, error)

Config is a free data retrieval call binding the contract method 0x79502c55.

Solidity: function config() view returns(address)

func (*ConfigGovernorCaller) IsOperator added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCaller) IsOperator(opts *bind.CallOpts, addr common.Address) (bool, error)

IsOperator is a free data retrieval call binding the contract method 0x6d70f7ae.

Solidity: function isOperator(address addr) view returns(bool)

func (*ConfigGovernorCaller) OperatorNonce added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCaller) OperatorNonce(opts *bind.CallOpts) (*big.Int, error)

OperatorNonce is a free data retrieval call binding the contract method 0xfc4f74f5.

Solidity: function operatorNonce() view returns(uint256)

func (*ConfigGovernorCaller) Operators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCaller) Operators(opts *bind.CallOpts) ([]common.Address, error)

Operators is a free data retrieval call binding the contract method 0xe673df8a.

Solidity: function operators() view returns(address[])

func (*ConfigGovernorCaller) Owner added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCaller) Owner(opts *bind.CallOpts) (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*ConfigGovernorCaller) PendingOwner added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCaller) PendingOwner(opts *bind.CallOpts) (common.Address, error)

PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.

Solidity: function pendingOwner() view returns(address)

func (*ConfigGovernorCaller) Threshold added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCaller) Threshold(opts *bind.CallOpts) (*big.Int, error)

Threshold is a free data retrieval call binding the contract method 0x42cde4e8.

Solidity: function threshold() view returns(uint256)

type ConfigGovernorCallerRaw added in v0.3.0

type ConfigGovernorCallerRaw struct {
	Contract *ConfigGovernorCaller // Generic read-only contract binding to access the raw methods on
}

ConfigGovernorCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*ConfigGovernorCallerRaw) Call added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type ConfigGovernorCallerSession added in v0.3.0

type ConfigGovernorCallerSession struct {
	Contract *ConfigGovernorCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts         // Call options to use throughout this session
}

ConfigGovernorCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*ConfigGovernorCallerSession) Config added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCallerSession) Config() (common.Address, error)

Config is a free data retrieval call binding the contract method 0x79502c55.

Solidity: function config() view returns(address)

func (*ConfigGovernorCallerSession) IsOperator added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCallerSession) IsOperator(addr common.Address) (bool, error)

IsOperator is a free data retrieval call binding the contract method 0x6d70f7ae.

Solidity: function isOperator(address addr) view returns(bool)

func (*ConfigGovernorCallerSession) OperatorNonce added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCallerSession) OperatorNonce() (*big.Int, error)

OperatorNonce is a free data retrieval call binding the contract method 0xfc4f74f5.

Solidity: function operatorNonce() view returns(uint256)

func (*ConfigGovernorCallerSession) Operators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCallerSession) Operators() ([]common.Address, error)

Operators is a free data retrieval call binding the contract method 0xe673df8a.

Solidity: function operators() view returns(address[])

func (*ConfigGovernorCallerSession) Owner added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCallerSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*ConfigGovernorCallerSession) PendingOwner added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCallerSession) PendingOwner() (common.Address, error)

PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.

Solidity: function pendingOwner() view returns(address)

func (*ConfigGovernorCallerSession) Threshold added in v0.3.0

func (_ConfigGovernor *ConfigGovernorCallerSession) Threshold() (*big.Int, error)

Threshold is a free data retrieval call binding the contract method 0x42cde4e8.

Solidity: function threshold() view returns(uint256)

type ConfigGovernorConfigCommitted added in v0.3.0

type ConfigGovernorConfigCommitted struct {
	Key      [32]byte
	Checksum [32]byte
	NewEpoch uint64
	Raw      types.Log // Blockchain specific contextual infos
}

ConfigGovernorConfigCommitted represents a ConfigCommitted event raised by the ConfigGovernor contract.

type ConfigGovernorConfigCommittedIterator added in v0.3.0

type ConfigGovernorConfigCommittedIterator struct {
	Event *ConfigGovernorConfigCommitted // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ConfigGovernorConfigCommittedIterator is returned from FilterConfigCommitted and is used to iterate over the raw logs and unpacked data for ConfigCommitted events raised by the ConfigGovernor contract.

func (*ConfigGovernorConfigCommittedIterator) Close added in v0.3.0

Close terminates the iteration process, releasing any pending underlying resources.

func (*ConfigGovernorConfigCommittedIterator) Error added in v0.3.0

Error returns any retrieval or parsing error occurred during filtering.

func (*ConfigGovernorConfigCommittedIterator) Next added in v0.3.0

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.

type ConfigGovernorFilterer added in v0.3.0

type ConfigGovernorFilterer struct {
	// contains filtered or unexported fields
}

ConfigGovernorFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewConfigGovernorFilterer added in v0.3.0

func NewConfigGovernorFilterer(address common.Address, filterer bind.ContractFilterer) (*ConfigGovernorFilterer, error)

NewConfigGovernorFilterer creates a new log filterer instance of ConfigGovernor, bound to a specific deployed contract.

func (*ConfigGovernorFilterer) FilterConfigCommitted added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) FilterConfigCommitted(opts *bind.FilterOpts, key [][32]byte) (*ConfigGovernorConfigCommittedIterator, error)

FilterConfigCommitted is a free log retrieval operation binding the contract event 0xc71b358da013b9c5fb3a85ec8abed4f2e9d97ed717fda612859e6f552a8fd3fd.

Solidity: event ConfigCommitted(bytes32 indexed key, bytes32 checksum, uint64 newEpoch)

func (*ConfigGovernorFilterer) FilterOperatorsUpdated added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) FilterOperatorsUpdated(opts *bind.FilterOpts) (*ConfigGovernorOperatorsUpdatedIterator, error)

FilterOperatorsUpdated is a free log retrieval operation binding the contract event 0xfbfe9d8242d8f40f67fc06928a0be4790057ee8f0e228f9d84789828124be0c7.

Solidity: event OperatorsUpdated(address[] newOperators, uint256 newThreshold)

func (*ConfigGovernorFilterer) FilterOwnershipTransferStarted added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) FilterOwnershipTransferStarted(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ConfigGovernorOwnershipTransferStartedIterator, error)

FilterOwnershipTransferStarted is a free log retrieval operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700.

Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)

func (*ConfigGovernorFilterer) FilterOwnershipTransferred added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ConfigGovernorOwnershipTransferredIterator, error)

FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

func (*ConfigGovernorFilterer) ParseConfigCommitted added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) ParseConfigCommitted(log types.Log) (*ConfigGovernorConfigCommitted, error)

ParseConfigCommitted is a log parse operation binding the contract event 0xc71b358da013b9c5fb3a85ec8abed4f2e9d97ed717fda612859e6f552a8fd3fd.

Solidity: event ConfigCommitted(bytes32 indexed key, bytes32 checksum, uint64 newEpoch)

func (*ConfigGovernorFilterer) ParseOperatorsUpdated added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) ParseOperatorsUpdated(log types.Log) (*ConfigGovernorOperatorsUpdated, error)

ParseOperatorsUpdated is a log parse operation binding the contract event 0xfbfe9d8242d8f40f67fc06928a0be4790057ee8f0e228f9d84789828124be0c7.

Solidity: event OperatorsUpdated(address[] newOperators, uint256 newThreshold)

func (*ConfigGovernorFilterer) ParseOwnershipTransferStarted added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) ParseOwnershipTransferStarted(log types.Log) (*ConfigGovernorOwnershipTransferStarted, error)

ParseOwnershipTransferStarted is a log parse operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700.

Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)

func (*ConfigGovernorFilterer) ParseOwnershipTransferred added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) ParseOwnershipTransferred(log types.Log) (*ConfigGovernorOwnershipTransferred, error)

ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

func (*ConfigGovernorFilterer) WatchConfigCommitted added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) WatchConfigCommitted(opts *bind.WatchOpts, sink chan<- *ConfigGovernorConfigCommitted, key [][32]byte) (event.Subscription, error)

WatchConfigCommitted is a free log subscription operation binding the contract event 0xc71b358da013b9c5fb3a85ec8abed4f2e9d97ed717fda612859e6f552a8fd3fd.

Solidity: event ConfigCommitted(bytes32 indexed key, bytes32 checksum, uint64 newEpoch)

func (*ConfigGovernorFilterer) WatchOperatorsUpdated added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) WatchOperatorsUpdated(opts *bind.WatchOpts, sink chan<- *ConfigGovernorOperatorsUpdated) (event.Subscription, error)

WatchOperatorsUpdated is a free log subscription operation binding the contract event 0xfbfe9d8242d8f40f67fc06928a0be4790057ee8f0e228f9d84789828124be0c7.

Solidity: event OperatorsUpdated(address[] newOperators, uint256 newThreshold)

func (*ConfigGovernorFilterer) WatchOwnershipTransferStarted added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) WatchOwnershipTransferStarted(opts *bind.WatchOpts, sink chan<- *ConfigGovernorOwnershipTransferStarted, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error)

WatchOwnershipTransferStarted is a free log subscription operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700.

Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)

func (*ConfigGovernorFilterer) WatchOwnershipTransferred added in v0.3.0

func (_ConfigGovernor *ConfigGovernorFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ConfigGovernorOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error)

WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

type ConfigGovernorOperatorsUpdated added in v0.3.0

type ConfigGovernorOperatorsUpdated struct {
	NewOperators []common.Address
	NewThreshold *big.Int
	Raw          types.Log // Blockchain specific contextual infos
}

ConfigGovernorOperatorsUpdated represents a OperatorsUpdated event raised by the ConfigGovernor contract.

type ConfigGovernorOperatorsUpdatedIterator added in v0.3.0

type ConfigGovernorOperatorsUpdatedIterator struct {
	Event *ConfigGovernorOperatorsUpdated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ConfigGovernorOperatorsUpdatedIterator is returned from FilterOperatorsUpdated and is used to iterate over the raw logs and unpacked data for OperatorsUpdated events raised by the ConfigGovernor contract.

func (*ConfigGovernorOperatorsUpdatedIterator) Close added in v0.3.0

Close terminates the iteration process, releasing any pending underlying resources.

func (*ConfigGovernorOperatorsUpdatedIterator) Error added in v0.3.0

Error returns any retrieval or parsing error occurred during filtering.

func (*ConfigGovernorOperatorsUpdatedIterator) Next added in v0.3.0

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.

type ConfigGovernorOwnershipTransferStarted added in v0.3.0

type ConfigGovernorOwnershipTransferStarted struct {
	PreviousOwner common.Address
	NewOwner      common.Address
	Raw           types.Log // Blockchain specific contextual infos
}

ConfigGovernorOwnershipTransferStarted represents a OwnershipTransferStarted event raised by the ConfigGovernor contract.

type ConfigGovernorOwnershipTransferStartedIterator added in v0.3.0

type ConfigGovernorOwnershipTransferStartedIterator struct {
	Event *ConfigGovernorOwnershipTransferStarted // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ConfigGovernorOwnershipTransferStartedIterator is returned from FilterOwnershipTransferStarted and is used to iterate over the raw logs and unpacked data for OwnershipTransferStarted events raised by the ConfigGovernor contract.

func (*ConfigGovernorOwnershipTransferStartedIterator) Close added in v0.3.0

Close terminates the iteration process, releasing any pending underlying resources.

func (*ConfigGovernorOwnershipTransferStartedIterator) Error added in v0.3.0

Error returns any retrieval or parsing error occurred during filtering.

func (*ConfigGovernorOwnershipTransferStartedIterator) Next added in v0.3.0

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.

type ConfigGovernorOwnershipTransferred added in v0.3.0

type ConfigGovernorOwnershipTransferred struct {
	PreviousOwner common.Address
	NewOwner      common.Address
	Raw           types.Log // Blockchain specific contextual infos
}

ConfigGovernorOwnershipTransferred represents a OwnershipTransferred event raised by the ConfigGovernor contract.

type ConfigGovernorOwnershipTransferredIterator added in v0.3.0

type ConfigGovernorOwnershipTransferredIterator struct {
	Event *ConfigGovernorOwnershipTransferred // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ConfigGovernorOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the ConfigGovernor contract.

func (*ConfigGovernorOwnershipTransferredIterator) Close added in v0.3.0

Close terminates the iteration process, releasing any pending underlying resources.

func (*ConfigGovernorOwnershipTransferredIterator) Error added in v0.3.0

Error returns any retrieval or parsing error occurred during filtering.

func (*ConfigGovernorOwnershipTransferredIterator) Next added in v0.3.0

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.

type ConfigGovernorRaw added in v0.3.0

type ConfigGovernorRaw struct {
	Contract *ConfigGovernor // Generic contract binding to access the raw methods on
}

ConfigGovernorRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*ConfigGovernorRaw) Call added in v0.3.0

func (_ConfigGovernor *ConfigGovernorRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*ConfigGovernorRaw) Transact added in v0.3.0

func (_ConfigGovernor *ConfigGovernorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*ConfigGovernorRaw) Transfer added in v0.3.0

func (_ConfigGovernor *ConfigGovernorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type ConfigGovernorSession added in v0.3.0

type ConfigGovernorSession struct {
	Contract     *ConfigGovernor   // 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
}

ConfigGovernorSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*ConfigGovernorSession) AcceptOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) AcceptOwnership() (*types.Transaction, error)

AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.

Solidity: function acceptOwnership() returns()

func (*ConfigGovernorSession) Config added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) Config() (common.Address, error)

Config is a free data retrieval call binding the contract method 0x79502c55.

Solidity: function config() view returns(address)

func (*ConfigGovernorSession) IsOperator added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) IsOperator(addr common.Address) (bool, error)

IsOperator is a free data retrieval call binding the contract method 0x6d70f7ae.

Solidity: function isOperator(address addr) view returns(bool)

func (*ConfigGovernorSession) OperatorNonce added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) OperatorNonce() (*big.Int, error)

OperatorNonce is a free data retrieval call binding the contract method 0xfc4f74f5.

Solidity: function operatorNonce() view returns(uint256)

func (*ConfigGovernorSession) Operators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) Operators() ([]common.Address, error)

Operators is a free data retrieval call binding the contract method 0xe673df8a.

Solidity: function operators() view returns(address[])

func (*ConfigGovernorSession) Owner added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*ConfigGovernorSession) PendingOwner added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) PendingOwner() (common.Address, error)

PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.

Solidity: function pendingOwner() view returns(address)

func (*ConfigGovernorSession) RenounceOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) RenounceOwnership() (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*ConfigGovernorSession) ResetOperators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) ResetOperators(newOperators []common.Address, newThreshold *big.Int) (*types.Transaction, error)

ResetOperators is a paid mutator transaction binding the contract method 0x62b9510c.

Solidity: function resetOperators(address[] newOperators, uint256 newThreshold) returns()

func (*ConfigGovernorSession) SetConfig added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) SetConfig(key [32]byte, checksum [32]byte, expectedEpoch uint64, signatures [][]byte) (*types.Transaction, error)

SetConfig is a paid mutator transaction binding the contract method 0x82f36dbd.

Solidity: function setConfig(bytes32 key, bytes32 checksum, uint64 expectedEpoch, bytes[] signatures) returns()

func (*ConfigGovernorSession) Threshold added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) Threshold() (*big.Int, error)

Threshold is a free data retrieval call binding the contract method 0x42cde4e8.

Solidity: function threshold() view returns(uint256)

func (*ConfigGovernorSession) TransferOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*ConfigGovernorSession) UpdateOperators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorSession) UpdateOperators(newOperators []common.Address, newThreshold *big.Int, operatorNonce_ *big.Int, signatures [][]byte) (*types.Transaction, error)

UpdateOperators is a paid mutator transaction binding the contract method 0xc0d8d832.

Solidity: function updateOperators(address[] newOperators, uint256 newThreshold, uint256 operatorNonce_, bytes[] signatures) returns()

type ConfigGovernorTransactor added in v0.3.0

type ConfigGovernorTransactor struct {
	// contains filtered or unexported fields
}

ConfigGovernorTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewConfigGovernorTransactor added in v0.3.0

func NewConfigGovernorTransactor(address common.Address, transactor bind.ContractTransactor) (*ConfigGovernorTransactor, error)

NewConfigGovernorTransactor creates a new write-only instance of ConfigGovernor, bound to a specific deployed contract.

func (*ConfigGovernorTransactor) AcceptOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error)

AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.

Solidity: function acceptOwnership() returns()

func (*ConfigGovernorTransactor) RenounceOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*ConfigGovernorTransactor) ResetOperators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactor) ResetOperators(opts *bind.TransactOpts, newOperators []common.Address, newThreshold *big.Int) (*types.Transaction, error)

ResetOperators is a paid mutator transaction binding the contract method 0x62b9510c.

Solidity: function resetOperators(address[] newOperators, uint256 newThreshold) returns()

func (*ConfigGovernorTransactor) SetConfig added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactor) SetConfig(opts *bind.TransactOpts, key [32]byte, checksum [32]byte, expectedEpoch uint64, signatures [][]byte) (*types.Transaction, error)

SetConfig is a paid mutator transaction binding the contract method 0x82f36dbd.

Solidity: function setConfig(bytes32 key, bytes32 checksum, uint64 expectedEpoch, bytes[] signatures) returns()

func (*ConfigGovernorTransactor) TransferOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*ConfigGovernorTransactor) UpdateOperators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactor) UpdateOperators(opts *bind.TransactOpts, newOperators []common.Address, newThreshold *big.Int, operatorNonce_ *big.Int, signatures [][]byte) (*types.Transaction, error)

UpdateOperators is a paid mutator transaction binding the contract method 0xc0d8d832.

Solidity: function updateOperators(address[] newOperators, uint256 newThreshold, uint256 operatorNonce_, bytes[] signatures) returns()

type ConfigGovernorTransactorRaw added in v0.3.0

type ConfigGovernorTransactorRaw struct {
	Contract *ConfigGovernorTransactor // Generic write-only contract binding to access the raw methods on
}

ConfigGovernorTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*ConfigGovernorTransactorRaw) Transact added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*ConfigGovernorTransactorRaw) Transfer added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type ConfigGovernorTransactorSession added in v0.3.0

type ConfigGovernorTransactorSession struct {
	Contract     *ConfigGovernorTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts         // Transaction auth options to use throughout this session
}

ConfigGovernorTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*ConfigGovernorTransactorSession) AcceptOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactorSession) AcceptOwnership() (*types.Transaction, error)

AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.

Solidity: function acceptOwnership() returns()

func (*ConfigGovernorTransactorSession) RenounceOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactorSession) RenounceOwnership() (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*ConfigGovernorTransactorSession) ResetOperators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactorSession) ResetOperators(newOperators []common.Address, newThreshold *big.Int) (*types.Transaction, error)

ResetOperators is a paid mutator transaction binding the contract method 0x62b9510c.

Solidity: function resetOperators(address[] newOperators, uint256 newThreshold) returns()

func (*ConfigGovernorTransactorSession) SetConfig added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactorSession) SetConfig(key [32]byte, checksum [32]byte, expectedEpoch uint64, signatures [][]byte) (*types.Transaction, error)

SetConfig is a paid mutator transaction binding the contract method 0x82f36dbd.

Solidity: function setConfig(bytes32 key, bytes32 checksum, uint64 expectedEpoch, bytes[] signatures) returns()

func (*ConfigGovernorTransactorSession) TransferOwnership added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*ConfigGovernorTransactorSession) UpdateOperators added in v0.3.0

func (_ConfigGovernor *ConfigGovernorTransactorSession) UpdateOperators(newOperators []common.Address, newThreshold *big.Int, operatorNonce_ *big.Int, signatures [][]byte) (*types.Transaction, error)

UpdateOperators is a paid mutator transaction binding the contract method 0xc0d8d832.

Solidity: function updateOperators(address[] newOperators, uint256 newThreshold, uint256 operatorNonce_, bytes[] signatures) returns()

type ConfigOwnershipTransferStarted added in v0.3.0

type ConfigOwnershipTransferStarted struct {
	PreviousOwner common.Address
	NewOwner      common.Address
	Raw           types.Log // Blockchain specific contextual infos
}

ConfigOwnershipTransferStarted represents a OwnershipTransferStarted event raised by the Config contract.

type ConfigOwnershipTransferStartedIterator added in v0.3.0

type ConfigOwnershipTransferStartedIterator struct {
	Event *ConfigOwnershipTransferStarted // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ConfigOwnershipTransferStartedIterator is returned from FilterOwnershipTransferStarted and is used to iterate over the raw logs and unpacked data for OwnershipTransferStarted events raised by the Config contract.

func (*ConfigOwnershipTransferStartedIterator) Close added in v0.3.0

Close terminates the iteration process, releasing any pending underlying resources.

func (*ConfigOwnershipTransferStartedIterator) Error added in v0.3.0

Error returns any retrieval or parsing error occurred during filtering.

func (*ConfigOwnershipTransferStartedIterator) Next added in v0.3.0

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.

type ConfigOwnershipTransferred added in v0.3.0

type ConfigOwnershipTransferred struct {
	PreviousOwner common.Address
	NewOwner      common.Address
	Raw           types.Log // Blockchain specific contextual infos
}

ConfigOwnershipTransferred represents a OwnershipTransferred event raised by the Config contract.

type ConfigOwnershipTransferredIterator added in v0.3.0

type ConfigOwnershipTransferredIterator struct {
	Event *ConfigOwnershipTransferred // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ConfigOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Config contract.

func (*ConfigOwnershipTransferredIterator) Close added in v0.3.0

Close terminates the iteration process, releasing any pending underlying resources.

func (*ConfigOwnershipTransferredIterator) Error added in v0.3.0

Error returns any retrieval or parsing error occurred during filtering.

func (*ConfigOwnershipTransferredIterator) Next added in v0.3.0

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.

type ConfigRaw added in v0.3.0

type ConfigRaw struct {
	Contract *Config // Generic contract binding to access the raw methods on
}

ConfigRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*ConfigRaw) Call added in v0.3.0

func (_Config *ConfigRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*ConfigRaw) Transact added in v0.3.0

func (_Config *ConfigRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*ConfigRaw) Transfer added in v0.3.0

func (_Config *ConfigRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type ConfigSession added in v0.3.0

type ConfigSession struct {
	Contract     *Config           // 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
}

ConfigSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*ConfigSession) AcceptOwnership added in v0.3.0

func (_Config *ConfigSession) AcceptOwnership() (*types.Transaction, error)

AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.

Solidity: function acceptOwnership() returns()

func (*ConfigSession) ConfigChecksumAt added in v0.3.0

func (_Config *ConfigSession) ConfigChecksumAt(key [32]byte, index *big.Int) ([32]byte, error)

ConfigChecksumAt is a free data retrieval call binding the contract method 0x2676450c.

Solidity: function configChecksumAt(bytes32 key, uint256 index) view returns(bytes32)

func (*ConfigSession) ConfigChecksums added in v0.3.0

func (_Config *ConfigSession) ConfigChecksums(key [32]byte) ([][32]byte, error)

ConfigChecksums is a free data retrieval call binding the contract method 0xfec5bedb.

Solidity: function configChecksums(bytes32 key) view returns(bytes32[])

func (*ConfigSession) ConfigEpoch added in v0.3.0

func (_Config *ConfigSession) ConfigEpoch(key [32]byte) (uint64, error)

ConfigEpoch is a free data retrieval call binding the contract method 0xaf890358.

Solidity: function configEpoch(bytes32 key) view returns(uint64)

func (*ConfigSession) ConfigWriter added in v0.3.0

func (_Config *ConfigSession) ConfigWriter(key [32]byte) (common.Address, error)

ConfigWriter is a free data retrieval call binding the contract method 0x3632ad79.

Solidity: function configWriter(bytes32 key) view returns(address)

func (*ConfigSession) LatestConfigChecksum added in v0.3.0

func (_Config *ConfigSession) LatestConfigChecksum(key [32]byte) ([32]byte, error)

LatestConfigChecksum is a free data retrieval call binding the contract method 0x3cb37e57.

Solidity: function latestConfigChecksum(bytes32 key) view returns(bytes32)

func (*ConfigSession) Owner added in v0.3.0

func (_Config *ConfigSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*ConfigSession) PendingOwner added in v0.3.0

func (_Config *ConfigSession) PendingOwner() (common.Address, error)

PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.

Solidity: function pendingOwner() view returns(address)

func (*ConfigSession) RenounceOwnership added in v0.3.0

func (_Config *ConfigSession) RenounceOwnership() (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*ConfigSession) SetConfig added in v0.3.0

func (_Config *ConfigSession) SetConfig(key [32]byte, checksum [32]byte) (*types.Transaction, error)

SetConfig is a paid mutator transaction binding the contract method 0xd1fd27b3.

Solidity: function setConfig(bytes32 key, bytes32 checksum) returns()

func (*ConfigSession) SetConfigWriter added in v0.3.0

func (_Config *ConfigSession) SetConfigWriter(key [32]byte, writer common.Address) (*types.Transaction, error)

SetConfigWriter is a paid mutator transaction binding the contract method 0xfee57995.

Solidity: function setConfigWriter(bytes32 key, address writer) returns()

func (*ConfigSession) TransferOwnership added in v0.3.0

func (_Config *ConfigSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

type ConfigState added in v0.3.0

type ConfigState struct {
	Checksum [32]byte
	Epoch    uint64
}

ConfigState is the cached view of one registry key: the latest content checksum and the epoch (write count) it was committed at.

type ConfigTransactor added in v0.3.0

type ConfigTransactor struct {
	// contains filtered or unexported fields
}

ConfigTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewConfigTransactor added in v0.3.0

func NewConfigTransactor(address common.Address, transactor bind.ContractTransactor) (*ConfigTransactor, error)

NewConfigTransactor creates a new write-only instance of Config, bound to a specific deployed contract.

func (*ConfigTransactor) AcceptOwnership added in v0.3.0

func (_Config *ConfigTransactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error)

AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.

Solidity: function acceptOwnership() returns()

func (*ConfigTransactor) RenounceOwnership added in v0.3.0

func (_Config *ConfigTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*ConfigTransactor) SetConfig added in v0.3.0

func (_Config *ConfigTransactor) SetConfig(opts *bind.TransactOpts, key [32]byte, checksum [32]byte) (*types.Transaction, error)

SetConfig is a paid mutator transaction binding the contract method 0xd1fd27b3.

Solidity: function setConfig(bytes32 key, bytes32 checksum) returns()

func (*ConfigTransactor) SetConfigWriter added in v0.3.0

func (_Config *ConfigTransactor) SetConfigWriter(opts *bind.TransactOpts, key [32]byte, writer common.Address) (*types.Transaction, error)

SetConfigWriter is a paid mutator transaction binding the contract method 0xfee57995.

Solidity: function setConfigWriter(bytes32 key, address writer) returns()

func (*ConfigTransactor) TransferOwnership added in v0.3.0

func (_Config *ConfigTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

type ConfigTransactorRaw added in v0.3.0

type ConfigTransactorRaw struct {
	Contract *ConfigTransactor // Generic write-only contract binding to access the raw methods on
}

ConfigTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*ConfigTransactorRaw) Transact added in v0.3.0

func (_Config *ConfigTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*ConfigTransactorRaw) Transfer added in v0.3.0

func (_Config *ConfigTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type ConfigTransactorSession added in v0.3.0

type ConfigTransactorSession struct {
	Contract     *ConfigTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

ConfigTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*ConfigTransactorSession) AcceptOwnership added in v0.3.0

func (_Config *ConfigTransactorSession) AcceptOwnership() (*types.Transaction, error)

AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097.

Solidity: function acceptOwnership() returns()

func (*ConfigTransactorSession) RenounceOwnership added in v0.3.0

func (_Config *ConfigTransactorSession) RenounceOwnership() (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*ConfigTransactorSession) SetConfig added in v0.3.0

func (_Config *ConfigTransactorSession) SetConfig(key [32]byte, checksum [32]byte) (*types.Transaction, error)

SetConfig is a paid mutator transaction binding the contract method 0xd1fd27b3.

Solidity: function setConfig(bytes32 key, bytes32 checksum) returns()

func (*ConfigTransactorSession) SetConfigWriter added in v0.3.0

func (_Config *ConfigTransactorSession) SetConfigWriter(key [32]byte, writer common.Address) (*types.Transaction, error)

SetConfigWriter is a paid mutator transaction binding the contract method 0xfee57995.

Solidity: function setConfigWriter(bytes32 key, address writer) returns()

func (*ConfigTransactorSession) TransferOwnership added in v0.3.0

func (_Config *ConfigTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

type ConfigWatcher added in v0.3.0

type ConfigWatcher struct {
	// contains filtered or unexported fields
}

ConfigWatcher maintains an in-memory, confirmation-gated view of one or more Config registry keys (ADR-017), modelled on BLSPubkeyCache: a startup Backfill of latestConfigChecksum(key)/configEpoch(key), then a Watch loop that applies ConfigSet events once they reach `confirmations` depth. It is the shared read primitive behind both the daemon's ACTIVATE loop and clearnet's RegistrySignerSource.

A confirmed epoch advance fires OnChange (if set) so the consumer can react — the daemon resolves the checksum to a held config_versions payload and either hot-swaps or restarts; the receipt verifier reloads the signer set. Lookup is lock-free in the common case and never issues an RPC.

func NewConfigWatcher added in v0.3.0

func NewConfigWatcher(client *ethclient.Client, reg ConfigWatcherReader, keys [][32]byte, confirmations uint64) (*ConfigWatcher, error)

NewConfigWatcher constructs an empty watcher over the given keys. Call Backfill(ctx) before Watch(ctx). client may be nil for unit-test wiring that only exercises Lookup; production callers supply the live ethclient.

keys must be non-empty: an empty indexed-key filter is a wildcard in eth_getLogs, which would match every ConfigSet event on the contract.

func (*ConfigWatcher) Backfill added in v0.3.0

func (w *ConfigWatcher) Backfill(ctx context.Context) error

Backfill seeds the watcher from the registry: for each watched key it reads latestConfigChecksum + configEpoch, recording the block height snapshot as the watermark so Watch starts exactly at watermark+1.

func (*ConfigWatcher) LatestChecksum added in v0.3.0

func (w *ConfigWatcher) LatestChecksum(key [32]byte) ([32]byte, bool)

LatestChecksum returns the latest confirmed checksum for key and whether it is known and non-zero. It is the flattened accessor consumed by receipt.RegistrySignerSource (which stays decoupled from this package by depending only on this method's shape).

func (*ConfigWatcher) Lookup added in v0.3.0

func (w *ConfigWatcher) Lookup(key [32]byte) (ConfigState, bool)

Lookup returns the cached state for key and whether it is known.

func (*ConfigWatcher) SetLogger added in v0.3.0

func (w *ConfigWatcher) SetLogger(l log.Logger)

SetLogger sets the watcher's logger (defaults to a no-op). Call before Backfill or Watch; not safe to call concurrently with them.

func (*ConfigWatcher) SetOnChange added in v0.3.0

func (w *ConfigWatcher) SetOnChange(fn func(key [32]byte, st ConfigState))

SetOnChange registers a callback fired whenever a confirmed ConfigSet advances a watched key's epoch. Call before Watch; the callback runs on the Watch goroutine and must not block.

func (*ConfigWatcher) Watch added in v0.3.0

func (w *ConfigWatcher) Watch(ctx context.Context) error

Watch polls the chain for ConfigSet events on the watched keys and applies them once they reach `confirmations` depth. Returns when ctx is cancelled.

func (*ConfigWatcher) Watermark added in v0.3.0

func (w *ConfigWatcher) Watermark() uint64

Watermark returns the highest confirmed L1 block whose events are committed.

type ConfigWatcherReader added in v0.3.0

type ConfigWatcherReader interface {
	LatestConfigChecksum(opts *bind.CallOpts, key [32]byte) ([32]byte, error)
	ConfigEpoch(opts *bind.CallOpts, key [32]byte) (uint64, error)
	FilterConfigSet(opts *bind.FilterOpts, key [][32]byte, writer []common.Address) (*ConfigConfigSetIterator, error)
}

ConfigWatcherReader is the subset of the Config binding the watcher needs. The generated *Config satisfies it; tests inject a fake.

type Custody

type Custody struct {
	CustodyCaller     // Read-only binding to the contract
	CustodyTransactor // Write-only binding to the contract
	CustodyFilterer   // Log filterer for contract events
}

Custody is an auto generated Go binding around an Ethereum contract.

func DeployCustody

func DeployCustody(auth *bind.TransactOpts, backend bind.ContractBackend, initialSigners []common.Address, initialThreshold *big.Int) (common.Address, *types.Transaction, *Custody, error)

DeployCustody deploys a new Ethereum contract, binding an instance of Custody to it.

func NewCustody

func NewCustody(address common.Address, backend bind.ContractBackend) (*Custody, error)

NewCustody creates a new instance of Custody, bound to a specific deployed contract.

type CustodyCaller

type CustodyCaller struct {
	// contains filtered or unexported fields
}

CustodyCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewCustodyCaller

func NewCustodyCaller(address common.Address, caller bind.ContractCaller) (*CustodyCaller, error)

NewCustodyCaller creates a new read-only instance of Custody, bound to a specific deployed contract.

func (*CustodyCaller) Executed

func (_Custody *CustodyCaller) Executed(opts *bind.CallOpts, withdrawalId [32]byte) (bool, error)

Executed is a free data retrieval call binding the contract method 0xa9fcfb33.

Solidity: function executed(bytes32 withdrawalId) view returns(bool)

func (*CustodyCaller) IsSigner

func (_Custody *CustodyCaller) IsSigner(opts *bind.CallOpts, addr common.Address) (bool, error)

IsSigner is a free data retrieval call binding the contract method 0x7df73e27.

Solidity: function isSigner(address addr) view returns(bool)

func (*CustodyCaller) SignerNonce

func (_Custody *CustodyCaller) SignerNonce(opts *bind.CallOpts) (*big.Int, error)

SignerNonce is a free data retrieval call binding the contract method 0x0ce8d622.

Solidity: function signerNonce() view returns(uint256)

func (*CustodyCaller) Signers

func (_Custody *CustodyCaller) Signers(opts *bind.CallOpts) ([]common.Address, error)

Signers is a free data retrieval call binding the contract method 0x46f0975a.

Solidity: function signers() view returns(address[])

func (*CustodyCaller) Threshold

func (_Custody *CustodyCaller) Threshold(opts *bind.CallOpts) (*big.Int, error)

Threshold is a free data retrieval call binding the contract method 0x42cde4e8.

Solidity: function threshold() view returns(uint256)

type CustodyCallerRaw

type CustodyCallerRaw struct {
	Contract *CustodyCaller // Generic read-only contract binding to access the raw methods on
}

CustodyCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*CustodyCallerRaw) Call

func (_Custody *CustodyCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type CustodyCallerSession

type CustodyCallerSession struct {
	Contract *CustodyCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts  // Call options to use throughout this session
}

CustodyCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*CustodyCallerSession) Executed

func (_Custody *CustodyCallerSession) Executed(withdrawalId [32]byte) (bool, error)

Executed is a free data retrieval call binding the contract method 0xa9fcfb33.

Solidity: function executed(bytes32 withdrawalId) view returns(bool)

func (*CustodyCallerSession) IsSigner

func (_Custody *CustodyCallerSession) IsSigner(addr common.Address) (bool, error)

IsSigner is a free data retrieval call binding the contract method 0x7df73e27.

Solidity: function isSigner(address addr) view returns(bool)

func (*CustodyCallerSession) SignerNonce

func (_Custody *CustodyCallerSession) SignerNonce() (*big.Int, error)

SignerNonce is a free data retrieval call binding the contract method 0x0ce8d622.

Solidity: function signerNonce() view returns(uint256)

func (*CustodyCallerSession) Signers

func (_Custody *CustodyCallerSession) Signers() ([]common.Address, error)

Signers is a free data retrieval call binding the contract method 0x46f0975a.

Solidity: function signers() view returns(address[])

func (*CustodyCallerSession) Threshold

func (_Custody *CustodyCallerSession) Threshold() (*big.Int, error)

Threshold is a free data retrieval call binding the contract method 0x42cde4e8.

Solidity: function threshold() view returns(uint256)

type CustodyDeposited

type CustodyDeposited struct {
	Account          common.Address
	DepositReference [32]byte
	Depositor        common.Address
	Asset            common.Address
	Amount           *big.Int
	Raw              types.Log // Blockchain specific contextual infos
}

CustodyDeposited represents a Deposited event raised by the Custody contract.

type CustodyDepositedIterator

type CustodyDepositedIterator struct {
	Event *CustodyDeposited // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

CustodyDepositedIterator is returned from FilterDeposited and is used to iterate over the raw logs and unpacked data for Deposited events raised by the Custody contract.

func (*CustodyDepositedIterator) Close

func (it *CustodyDepositedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*CustodyDepositedIterator) Error

func (it *CustodyDepositedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*CustodyDepositedIterator) Next

func (it *CustodyDepositedIterator) Next() bool

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.

type CustodyExecuted

type CustodyExecuted struct {
	WithdrawalId [32]byte
	To           common.Address
	Asset        common.Address
	Amount       *big.Int
	Raw          types.Log // Blockchain specific contextual infos
}

CustodyExecuted represents a Executed event raised by the Custody contract.

type CustodyExecutedIterator

type CustodyExecutedIterator struct {
	Event *CustodyExecuted // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

CustodyExecutedIterator is returned from FilterExecuted and is used to iterate over the raw logs and unpacked data for Executed events raised by the Custody contract.

func (*CustodyExecutedIterator) Close

func (it *CustodyExecutedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*CustodyExecutedIterator) Error

func (it *CustodyExecutedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*CustodyExecutedIterator) Next

func (it *CustodyExecutedIterator) Next() bool

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.

type CustodyFilterer

type CustodyFilterer struct {
	// contains filtered or unexported fields
}

CustodyFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewCustodyFilterer

func NewCustodyFilterer(address common.Address, filterer bind.ContractFilterer) (*CustodyFilterer, error)

NewCustodyFilterer creates a new log filterer instance of Custody, bound to a specific deployed contract.

func (*CustodyFilterer) FilterDeposited

func (_Custody *CustodyFilterer) FilterDeposited(opts *bind.FilterOpts, account []common.Address, depositReference [][32]byte) (*CustodyDepositedIterator, error)

FilterDeposited is a free log retrieval operation binding the contract event 0x29856f6638b9b9b8d4e50e7b837b6bfad87b2ce76577304d1b178e02d6d9eb02.

Solidity: event Deposited(address indexed account, bytes32 indexed depositReference, address depositor, address asset, uint256 amount)

func (*CustodyFilterer) FilterExecuted

func (_Custody *CustodyFilterer) FilterExecuted(opts *bind.FilterOpts, withdrawalId [][32]byte, to []common.Address) (*CustodyExecutedIterator, error)

FilterExecuted is a free log retrieval operation binding the contract event 0xe57dd573634102b6cae74aab341f709f6fc3ae2bdc0a35f9a47a85f45b677a21.

Solidity: event Executed(bytes32 indexed withdrawalId, address indexed to, address asset, uint256 amount)

func (*CustodyFilterer) FilterSignersUpdated

func (_Custody *CustodyFilterer) FilterSignersUpdated(opts *bind.FilterOpts) (*CustodySignersUpdatedIterator, error)

FilterSignersUpdated is a free log retrieval operation binding the contract event 0xeb4dc7fab86d67670d7a4d7443a38860da1aa053f26529c8f41cc68e5d6a9336.

Solidity: event SignersUpdated(address[] newSigners, uint256 newThreshold)

func (*CustodyFilterer) ParseDeposited

func (_Custody *CustodyFilterer) ParseDeposited(log types.Log) (*CustodyDeposited, error)

ParseDeposited is a log parse operation binding the contract event 0x29856f6638b9b9b8d4e50e7b837b6bfad87b2ce76577304d1b178e02d6d9eb02.

Solidity: event Deposited(address indexed account, bytes32 indexed depositReference, address depositor, address asset, uint256 amount)

func (*CustodyFilterer) ParseExecuted

func (_Custody *CustodyFilterer) ParseExecuted(log types.Log) (*CustodyExecuted, error)

ParseExecuted is a log parse operation binding the contract event 0xe57dd573634102b6cae74aab341f709f6fc3ae2bdc0a35f9a47a85f45b677a21.

Solidity: event Executed(bytes32 indexed withdrawalId, address indexed to, address asset, uint256 amount)

func (*CustodyFilterer) ParseSignersUpdated

func (_Custody *CustodyFilterer) ParseSignersUpdated(log types.Log) (*CustodySignersUpdated, error)

ParseSignersUpdated is a log parse operation binding the contract event 0xeb4dc7fab86d67670d7a4d7443a38860da1aa053f26529c8f41cc68e5d6a9336.

Solidity: event SignersUpdated(address[] newSigners, uint256 newThreshold)

func (*CustodyFilterer) WatchDeposited

func (_Custody *CustodyFilterer) WatchDeposited(opts *bind.WatchOpts, sink chan<- *CustodyDeposited, account []common.Address, depositReference [][32]byte) (event.Subscription, error)

WatchDeposited is a free log subscription operation binding the contract event 0x29856f6638b9b9b8d4e50e7b837b6bfad87b2ce76577304d1b178e02d6d9eb02.

Solidity: event Deposited(address indexed account, bytes32 indexed depositReference, address depositor, address asset, uint256 amount)

func (*CustodyFilterer) WatchExecuted

func (_Custody *CustodyFilterer) WatchExecuted(opts *bind.WatchOpts, sink chan<- *CustodyExecuted, withdrawalId [][32]byte, to []common.Address) (event.Subscription, error)

WatchExecuted is a free log subscription operation binding the contract event 0xe57dd573634102b6cae74aab341f709f6fc3ae2bdc0a35f9a47a85f45b677a21.

Solidity: event Executed(bytes32 indexed withdrawalId, address indexed to, address asset, uint256 amount)

func (*CustodyFilterer) WatchSignersUpdated

func (_Custody *CustodyFilterer) WatchSignersUpdated(opts *bind.WatchOpts, sink chan<- *CustodySignersUpdated) (event.Subscription, error)

WatchSignersUpdated is a free log subscription operation binding the contract event 0xeb4dc7fab86d67670d7a4d7443a38860da1aa053f26529c8f41cc68e5d6a9336.

Solidity: event SignersUpdated(address[] newSigners, uint256 newThreshold)

type CustodyRaw

type CustodyRaw struct {
	Contract *Custody // Generic contract binding to access the raw methods on
}

CustodyRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*CustodyRaw) Call

func (_Custody *CustodyRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*CustodyRaw) Transact

func (_Custody *CustodyRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*CustodyRaw) Transfer

func (_Custody *CustodyRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type CustodySession

type CustodySession struct {
	Contract     *Custody          // 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
}

CustodySession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*CustodySession) Deposit

func (_Custody *CustodySession) Deposit(account common.Address, asset common.Address, amount *big.Int, depositReference [32]byte) (*types.Transaction, error)

Deposit is a paid mutator transaction binding the contract method 0xc98444f7.

Solidity: function deposit(address account, address asset, uint256 amount, bytes32 depositReference) payable returns()

func (*CustodySession) Execute

func (_Custody *CustodySession) Execute(to common.Address, asset common.Address, amount *big.Int, withdrawalId [32]byte, deadline *big.Int, signatures [][]byte) (*types.Transaction, error)

Execute is a paid mutator transaction binding the contract method 0x1be51b83.

Solidity: function execute(address to, address asset, uint256 amount, bytes32 withdrawalId, uint256 deadline, bytes[] signatures) returns()

func (*CustodySession) Executed

func (_Custody *CustodySession) Executed(withdrawalId [32]byte) (bool, error)

Executed is a free data retrieval call binding the contract method 0xa9fcfb33.

Solidity: function executed(bytes32 withdrawalId) view returns(bool)

func (*CustodySession) IsSigner

func (_Custody *CustodySession) IsSigner(addr common.Address) (bool, error)

IsSigner is a free data retrieval call binding the contract method 0x7df73e27.

Solidity: function isSigner(address addr) view returns(bool)

func (*CustodySession) Receive

func (_Custody *CustodySession) Receive() (*types.Transaction, error)

Receive is a paid mutator transaction binding the contract receive function.

Solidity: receive() payable returns()

func (*CustodySession) SignerNonce

func (_Custody *CustodySession) SignerNonce() (*big.Int, error)

SignerNonce is a free data retrieval call binding the contract method 0x0ce8d622.

Solidity: function signerNonce() view returns(uint256)

func (*CustodySession) Signers

func (_Custody *CustodySession) Signers() ([]common.Address, error)

Signers is a free data retrieval call binding the contract method 0x46f0975a.

Solidity: function signers() view returns(address[])

func (*CustodySession) Threshold

func (_Custody *CustodySession) Threshold() (*big.Int, error)

Threshold is a free data retrieval call binding the contract method 0x42cde4e8.

Solidity: function threshold() view returns(uint256)

func (*CustodySession) UpdateSigners

func (_Custody *CustodySession) UpdateSigners(newSigners []common.Address, newThreshold *big.Int, signatures [][]byte) (*types.Transaction, error)

UpdateSigners is a paid mutator transaction binding the contract method 0x0e2411ac.

Solidity: function updateSigners(address[] newSigners, uint256 newThreshold, bytes[] signatures) returns()

type CustodySignersUpdated

type CustodySignersUpdated struct {
	NewSigners   []common.Address
	NewThreshold *big.Int
	Raw          types.Log // Blockchain specific contextual infos
}

CustodySignersUpdated represents a SignersUpdated event raised by the Custody contract.

type CustodySignersUpdatedIterator

type CustodySignersUpdatedIterator struct {
	Event *CustodySignersUpdated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

CustodySignersUpdatedIterator is returned from FilterSignersUpdated and is used to iterate over the raw logs and unpacked data for SignersUpdated events raised by the Custody contract.

func (*CustodySignersUpdatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*CustodySignersUpdatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*CustodySignersUpdatedIterator) Next

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.

type CustodyTransactor

type CustodyTransactor struct {
	// contains filtered or unexported fields
}

CustodyTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewCustodyTransactor

func NewCustodyTransactor(address common.Address, transactor bind.ContractTransactor) (*CustodyTransactor, error)

NewCustodyTransactor creates a new write-only instance of Custody, bound to a specific deployed contract.

func (*CustodyTransactor) Deposit

func (_Custody *CustodyTransactor) Deposit(opts *bind.TransactOpts, account common.Address, asset common.Address, amount *big.Int, depositReference [32]byte) (*types.Transaction, error)

Deposit is a paid mutator transaction binding the contract method 0xc98444f7.

Solidity: function deposit(address account, address asset, uint256 amount, bytes32 depositReference) payable returns()

func (*CustodyTransactor) Execute

func (_Custody *CustodyTransactor) Execute(opts *bind.TransactOpts, to common.Address, asset common.Address, amount *big.Int, withdrawalId [32]byte, deadline *big.Int, signatures [][]byte) (*types.Transaction, error)

Execute is a paid mutator transaction binding the contract method 0x1be51b83.

Solidity: function execute(address to, address asset, uint256 amount, bytes32 withdrawalId, uint256 deadline, bytes[] signatures) returns()

func (*CustodyTransactor) Receive

func (_Custody *CustodyTransactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error)

Receive is a paid mutator transaction binding the contract receive function.

Solidity: receive() payable returns()

func (*CustodyTransactor) UpdateSigners

func (_Custody *CustodyTransactor) UpdateSigners(opts *bind.TransactOpts, newSigners []common.Address, newThreshold *big.Int, signatures [][]byte) (*types.Transaction, error)

UpdateSigners is a paid mutator transaction binding the contract method 0x0e2411ac.

Solidity: function updateSigners(address[] newSigners, uint256 newThreshold, bytes[] signatures) returns()

type CustodyTransactorRaw

type CustodyTransactorRaw struct {
	Contract *CustodyTransactor // Generic write-only contract binding to access the raw methods on
}

CustodyTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*CustodyTransactorRaw) Transact

func (_Custody *CustodyTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*CustodyTransactorRaw) Transfer

func (_Custody *CustodyTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type CustodyTransactorSession

type CustodyTransactorSession struct {
	Contract     *CustodyTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
}

CustodyTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*CustodyTransactorSession) Deposit

func (_Custody *CustodyTransactorSession) Deposit(account common.Address, asset common.Address, amount *big.Int, depositReference [32]byte) (*types.Transaction, error)

Deposit is a paid mutator transaction binding the contract method 0xc98444f7.

Solidity: function deposit(address account, address asset, uint256 amount, bytes32 depositReference) payable returns()

func (*CustodyTransactorSession) Execute

func (_Custody *CustodyTransactorSession) Execute(to common.Address, asset common.Address, amount *big.Int, withdrawalId [32]byte, deadline *big.Int, signatures [][]byte) (*types.Transaction, error)

Execute is a paid mutator transaction binding the contract method 0x1be51b83.

Solidity: function execute(address to, address asset, uint256 amount, bytes32 withdrawalId, uint256 deadline, bytes[] signatures) returns()

func (*CustodyTransactorSession) Receive

func (_Custody *CustodyTransactorSession) Receive() (*types.Transaction, error)

Receive is a paid mutator transaction binding the contract receive function.

Solidity: receive() payable returns()

func (*CustodyTransactorSession) UpdateSigners

func (_Custody *CustodyTransactorSession) UpdateSigners(newSigners []common.Address, newThreshold *big.Int, signatures [][]byte) (*types.Transaction, error)

UpdateSigners is a paid mutator transaction binding the contract method 0x0e2411ac.

Solidity: function updateSigners(address[] newSigners, uint256 newThreshold, bytes[] signatures) returns()

type Depositor

type Depositor struct {
	// contains filtered or unexported fields
}

Depositor moves funds into the EVM Custody vault on behalf of the depositor whose key the supplied sign.Signer holds. It implements core.VaultDepositor.

func NewDepositor

func NewDepositor(client *ethclient.Client, custodyAddr common.Address, signer sign.Signer, assets blockchain.AssetResolver) (*Depositor, error)

NewDepositor binds the Custody vault at custodyAddr over client; signer is the depositor's secp256k1 identity (it pays and, for ERC-20, approves).

func (*Depositor) SubmitDeposit

func (d *Depositor) SubmitDeposit(ctx context.Context, assetAddress string, amount decimal.Decimal, dest core.DepositDestination) (string, error)

SubmitDeposit credits dest.Account with amount of assetAddress. For an ERC-20 (assetAddress is a non-zero hex address) it approves the vault then calls Custody.deposit; for the native marker it sends ETH with msg.value == amount. Blocks until the deposit tx mines.

func (*Depositor) VerifyDeposit

func (d *Depositor) VerifyDeposit(ctx context.Context, txID string, minConf uint64) (core.DepositStatus, error)

VerifyDeposit reports the on-chain status of the deposit txID. EVM deposit txIDs are event-level IDs of the form txHash/logIndex. A raw txHash is accepted for transaction-level status checks.

type Faucet

type Faucet struct {
	FaucetCaller     // Read-only binding to the contract
	FaucetTransactor // Write-only binding to the contract
	FaucetFilterer   // Log filterer for contract events
}

Faucet is an auto generated Go binding around an Ethereum contract.

func DeployFaucet

func DeployFaucet(auth *bind.TransactOpts, backend bind.ContractBackend, _token common.Address, _dripAmount *big.Int, _cooldown *big.Int) (common.Address, *types.Transaction, *Faucet, error)

DeployFaucet deploys a new Ethereum contract, binding an instance of Faucet to it.

func NewFaucet

func NewFaucet(address common.Address, backend bind.ContractBackend) (*Faucet, error)

NewFaucet creates a new instance of Faucet, bound to a specific deployed contract.

type FaucetAdapter

type FaucetAdapter struct {
	// contains filtered or unexported fields
}

FaucetAdapter wraps the Faucet binding for testnet token drips and parameter reads. It implements core.FaucetWriter and core.FaucetReader.

func NewFaucetAdapter

func NewFaucetAdapter(ctx context.Context, client *ethclient.Client, faucetAddr common.Address, key *ecdsa.PrivateKey) (*FaucetAdapter, error)

NewFaucetAdapter binds the Faucet at faucetAddr over client with a transactor for the given key (needed for the drip writes).

func (*FaucetAdapter) Cooldown

func (a *FaucetAdapter) Cooldown(ctx context.Context) (*big.Int, error)

func (*FaucetAdapter) Drip

func (a *FaucetAdapter) Drip(ctx context.Context) error

Drip claims tokens to the transactor's own address.

func (*FaucetAdapter) DripAmount

func (a *FaucetAdapter) DripAmount(ctx context.Context) (*big.Int, error)

func (*FaucetAdapter) DripTo

func (a *FaucetAdapter) DripTo(ctx context.Context, recipient common.Address) error

DripTo claims tokens to recipient.

func (*FaucetAdapter) LastDrip

func (a *FaucetAdapter) LastDrip(ctx context.Context, addr common.Address) (*big.Int, error)

func (*FaucetAdapter) Owner

func (a *FaucetAdapter) Owner(ctx context.Context) (common.Address, error)

type FaucetCaller

type FaucetCaller struct {
	// contains filtered or unexported fields
}

FaucetCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewFaucetCaller

func NewFaucetCaller(address common.Address, caller bind.ContractCaller) (*FaucetCaller, error)

NewFaucetCaller creates a new read-only instance of Faucet, bound to a specific deployed contract.

func (*FaucetCaller) Cooldown

func (_Faucet *FaucetCaller) Cooldown(opts *bind.CallOpts) (*big.Int, error)

Cooldown is a free data retrieval call binding the contract method 0x787a08a6.

Solidity: function cooldown() view returns(uint256)

func (*FaucetCaller) DripAmount

func (_Faucet *FaucetCaller) DripAmount(opts *bind.CallOpts) (*big.Int, error)

DripAmount is a free data retrieval call binding the contract method 0x35a1529b.

Solidity: function dripAmount() view returns(uint256)

func (*FaucetCaller) LastDrip

func (_Faucet *FaucetCaller) LastDrip(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error)

LastDrip is a free data retrieval call binding the contract method 0x0935f004.

Solidity: function lastDrip(address ) view returns(uint256)

func (*FaucetCaller) Owner

func (_Faucet *FaucetCaller) Owner(opts *bind.CallOpts) (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*FaucetCaller) TOKEN

func (_Faucet *FaucetCaller) TOKEN(opts *bind.CallOpts) (common.Address, error)

TOKEN is a free data retrieval call binding the contract method 0x82bfefc8.

Solidity: function TOKEN() view returns(address)

type FaucetCallerRaw

type FaucetCallerRaw struct {
	Contract *FaucetCaller // Generic read-only contract binding to access the raw methods on
}

FaucetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*FaucetCallerRaw) Call

func (_Faucet *FaucetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type FaucetCallerSession

type FaucetCallerSession struct {
	Contract *FaucetCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts // Call options to use throughout this session
}

FaucetCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*FaucetCallerSession) Cooldown

func (_Faucet *FaucetCallerSession) Cooldown() (*big.Int, error)

Cooldown is a free data retrieval call binding the contract method 0x787a08a6.

Solidity: function cooldown() view returns(uint256)

func (*FaucetCallerSession) DripAmount

func (_Faucet *FaucetCallerSession) DripAmount() (*big.Int, error)

DripAmount is a free data retrieval call binding the contract method 0x35a1529b.

Solidity: function dripAmount() view returns(uint256)

func (*FaucetCallerSession) LastDrip

func (_Faucet *FaucetCallerSession) LastDrip(arg0 common.Address) (*big.Int, error)

LastDrip is a free data retrieval call binding the contract method 0x0935f004.

Solidity: function lastDrip(address ) view returns(uint256)

func (*FaucetCallerSession) Owner

func (_Faucet *FaucetCallerSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*FaucetCallerSession) TOKEN

func (_Faucet *FaucetCallerSession) TOKEN() (common.Address, error)

TOKEN is a free data retrieval call binding the contract method 0x82bfefc8.

Solidity: function TOKEN() view returns(address)

type FaucetCooldownUpdated

type FaucetCooldownUpdated struct {
	NewCooldown *big.Int
	Raw         types.Log // Blockchain specific contextual infos
}

FaucetCooldownUpdated represents a CooldownUpdated event raised by the Faucet contract.

type FaucetCooldownUpdatedIterator

type FaucetCooldownUpdatedIterator struct {
	Event *FaucetCooldownUpdated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FaucetCooldownUpdatedIterator is returned from FilterCooldownUpdated and is used to iterate over the raw logs and unpacked data for CooldownUpdated events raised by the Faucet contract.

func (*FaucetCooldownUpdatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*FaucetCooldownUpdatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*FaucetCooldownUpdatedIterator) Next

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.

type FaucetDripAmountUpdated

type FaucetDripAmountUpdated struct {
	NewAmount *big.Int
	Raw       types.Log // Blockchain specific contextual infos
}

FaucetDripAmountUpdated represents a DripAmountUpdated event raised by the Faucet contract.

type FaucetDripAmountUpdatedIterator

type FaucetDripAmountUpdatedIterator struct {
	Event *FaucetDripAmountUpdated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FaucetDripAmountUpdatedIterator is returned from FilterDripAmountUpdated and is used to iterate over the raw logs and unpacked data for DripAmountUpdated events raised by the Faucet contract.

func (*FaucetDripAmountUpdatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*FaucetDripAmountUpdatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*FaucetDripAmountUpdatedIterator) Next

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.

type FaucetDripped

type FaucetDripped struct {
	Recipient common.Address
	Amount    *big.Int
	Raw       types.Log // Blockchain specific contextual infos
}

FaucetDripped represents a Dripped event raised by the Faucet contract.

type FaucetDrippedIterator

type FaucetDrippedIterator struct {
	Event *FaucetDripped // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FaucetDrippedIterator is returned from FilterDripped and is used to iterate over the raw logs and unpacked data for Dripped events raised by the Faucet contract.

func (*FaucetDrippedIterator) Close

func (it *FaucetDrippedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FaucetDrippedIterator) Error

func (it *FaucetDrippedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FaucetDrippedIterator) Next

func (it *FaucetDrippedIterator) Next() bool

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.

type FaucetFilterer

type FaucetFilterer struct {
	// contains filtered or unexported fields
}

FaucetFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewFaucetFilterer

func NewFaucetFilterer(address common.Address, filterer bind.ContractFilterer) (*FaucetFilterer, error)

NewFaucetFilterer creates a new log filterer instance of Faucet, bound to a specific deployed contract.

func (*FaucetFilterer) FilterCooldownUpdated

func (_Faucet *FaucetFilterer) FilterCooldownUpdated(opts *bind.FilterOpts) (*FaucetCooldownUpdatedIterator, error)

FilterCooldownUpdated is a free log retrieval operation binding the contract event 0x583d8b24c5439ab7d810e51e37e8db41ba66f1168fd7b752ceae0c7681c5272c.

Solidity: event CooldownUpdated(uint256 newCooldown)

func (*FaucetFilterer) FilterDripAmountUpdated

func (_Faucet *FaucetFilterer) FilterDripAmountUpdated(opts *bind.FilterOpts) (*FaucetDripAmountUpdatedIterator, error)

FilterDripAmountUpdated is a free log retrieval operation binding the contract event 0x33f3faee0788ab897d8f674abe1dde6d93ba901e4a1502161294734ba178e3c7.

Solidity: event DripAmountUpdated(uint256 newAmount)

func (*FaucetFilterer) FilterDripped

func (_Faucet *FaucetFilterer) FilterDripped(opts *bind.FilterOpts, recipient []common.Address) (*FaucetDrippedIterator, error)

FilterDripped is a free log retrieval operation binding the contract event 0x0daf449977d5acafa35195e10b3eb92f97839892a6653afaba222379b58d8a9b.

Solidity: event Dripped(address indexed recipient, uint256 amount)

func (*FaucetFilterer) FilterOwnerUpdated

func (_Faucet *FaucetFilterer) FilterOwnerUpdated(opts *bind.FilterOpts, newOwner []common.Address) (*FaucetOwnerUpdatedIterator, error)

FilterOwnerUpdated is a free log retrieval operation binding the contract event 0x4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b.

Solidity: event OwnerUpdated(address indexed newOwner)

func (*FaucetFilterer) ParseCooldownUpdated

func (_Faucet *FaucetFilterer) ParseCooldownUpdated(log types.Log) (*FaucetCooldownUpdated, error)

ParseCooldownUpdated is a log parse operation binding the contract event 0x583d8b24c5439ab7d810e51e37e8db41ba66f1168fd7b752ceae0c7681c5272c.

Solidity: event CooldownUpdated(uint256 newCooldown)

func (*FaucetFilterer) ParseDripAmountUpdated

func (_Faucet *FaucetFilterer) ParseDripAmountUpdated(log types.Log) (*FaucetDripAmountUpdated, error)

ParseDripAmountUpdated is a log parse operation binding the contract event 0x33f3faee0788ab897d8f674abe1dde6d93ba901e4a1502161294734ba178e3c7.

Solidity: event DripAmountUpdated(uint256 newAmount)

func (*FaucetFilterer) ParseDripped

func (_Faucet *FaucetFilterer) ParseDripped(log types.Log) (*FaucetDripped, error)

ParseDripped is a log parse operation binding the contract event 0x0daf449977d5acafa35195e10b3eb92f97839892a6653afaba222379b58d8a9b.

Solidity: event Dripped(address indexed recipient, uint256 amount)

func (*FaucetFilterer) ParseOwnerUpdated

func (_Faucet *FaucetFilterer) ParseOwnerUpdated(log types.Log) (*FaucetOwnerUpdated, error)

ParseOwnerUpdated is a log parse operation binding the contract event 0x4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b.

Solidity: event OwnerUpdated(address indexed newOwner)

func (*FaucetFilterer) WatchCooldownUpdated

func (_Faucet *FaucetFilterer) WatchCooldownUpdated(opts *bind.WatchOpts, sink chan<- *FaucetCooldownUpdated) (event.Subscription, error)

WatchCooldownUpdated is a free log subscription operation binding the contract event 0x583d8b24c5439ab7d810e51e37e8db41ba66f1168fd7b752ceae0c7681c5272c.

Solidity: event CooldownUpdated(uint256 newCooldown)

func (*FaucetFilterer) WatchDripAmountUpdated

func (_Faucet *FaucetFilterer) WatchDripAmountUpdated(opts *bind.WatchOpts, sink chan<- *FaucetDripAmountUpdated) (event.Subscription, error)

WatchDripAmountUpdated is a free log subscription operation binding the contract event 0x33f3faee0788ab897d8f674abe1dde6d93ba901e4a1502161294734ba178e3c7.

Solidity: event DripAmountUpdated(uint256 newAmount)

func (*FaucetFilterer) WatchDripped

func (_Faucet *FaucetFilterer) WatchDripped(opts *bind.WatchOpts, sink chan<- *FaucetDripped, recipient []common.Address) (event.Subscription, error)

WatchDripped is a free log subscription operation binding the contract event 0x0daf449977d5acafa35195e10b3eb92f97839892a6653afaba222379b58d8a9b.

Solidity: event Dripped(address indexed recipient, uint256 amount)

func (*FaucetFilterer) WatchOwnerUpdated

func (_Faucet *FaucetFilterer) WatchOwnerUpdated(opts *bind.WatchOpts, sink chan<- *FaucetOwnerUpdated, newOwner []common.Address) (event.Subscription, error)

WatchOwnerUpdated is a free log subscription operation binding the contract event 0x4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b.

Solidity: event OwnerUpdated(address indexed newOwner)

type FaucetOwnerUpdated

type FaucetOwnerUpdated struct {
	NewOwner common.Address
	Raw      types.Log // Blockchain specific contextual infos
}

FaucetOwnerUpdated represents a OwnerUpdated event raised by the Faucet contract.

type FaucetOwnerUpdatedIterator

type FaucetOwnerUpdatedIterator struct {
	Event *FaucetOwnerUpdated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FaucetOwnerUpdatedIterator is returned from FilterOwnerUpdated and is used to iterate over the raw logs and unpacked data for OwnerUpdated events raised by the Faucet contract.

func (*FaucetOwnerUpdatedIterator) Close

func (it *FaucetOwnerUpdatedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FaucetOwnerUpdatedIterator) Error

func (it *FaucetOwnerUpdatedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FaucetOwnerUpdatedIterator) Next

func (it *FaucetOwnerUpdatedIterator) Next() bool

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.

type FaucetRaw

type FaucetRaw struct {
	Contract *Faucet // Generic contract binding to access the raw methods on
}

FaucetRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*FaucetRaw) Call

func (_Faucet *FaucetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*FaucetRaw) Transact

func (_Faucet *FaucetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*FaucetRaw) Transfer

func (_Faucet *FaucetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type FaucetSession

type FaucetSession struct {
	Contract     *Faucet           // 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
}

FaucetSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*FaucetSession) Cooldown

func (_Faucet *FaucetSession) Cooldown() (*big.Int, error)

Cooldown is a free data retrieval call binding the contract method 0x787a08a6.

Solidity: function cooldown() view returns(uint256)

func (*FaucetSession) Drip

func (_Faucet *FaucetSession) Drip() (*types.Transaction, error)

Drip is a paid mutator transaction binding the contract method 0x9f678cca.

Solidity: function drip() returns()

func (*FaucetSession) DripAmount

func (_Faucet *FaucetSession) DripAmount() (*big.Int, error)

DripAmount is a free data retrieval call binding the contract method 0x35a1529b.

Solidity: function dripAmount() view returns(uint256)

func (*FaucetSession) DripTo

func (_Faucet *FaucetSession) DripTo(recipient common.Address) (*types.Transaction, error)

DripTo is a paid mutator transaction binding the contract method 0xcabee26e.

Solidity: function dripTo(address recipient) returns()

func (*FaucetSession) LastDrip

func (_Faucet *FaucetSession) LastDrip(arg0 common.Address) (*big.Int, error)

LastDrip is a free data retrieval call binding the contract method 0x0935f004.

Solidity: function lastDrip(address ) view returns(uint256)

func (*FaucetSession) Owner

func (_Faucet *FaucetSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*FaucetSession) SetCooldown

func (_Faucet *FaucetSession) SetCooldown(_cooldown *big.Int) (*types.Transaction, error)

SetCooldown is a paid mutator transaction binding the contract method 0x4fc3f41a.

Solidity: function setCooldown(uint256 _cooldown) returns()

func (*FaucetSession) SetDripAmount

func (_Faucet *FaucetSession) SetDripAmount(_dripAmount *big.Int) (*types.Transaction, error)

SetDripAmount is a paid mutator transaction binding the contract method 0x543f8c58.

Solidity: function setDripAmount(uint256 _dripAmount) returns()

func (*FaucetSession) SetOwner

func (_Faucet *FaucetSession) SetOwner(_owner common.Address) (*types.Transaction, error)

SetOwner is a paid mutator transaction binding the contract method 0x13af4035.

Solidity: function setOwner(address _owner) returns()

func (*FaucetSession) TOKEN

func (_Faucet *FaucetSession) TOKEN() (common.Address, error)

TOKEN is a free data retrieval call binding the contract method 0x82bfefc8.

Solidity: function TOKEN() view returns(address)

func (*FaucetSession) Withdraw

func (_Faucet *FaucetSession) Withdraw(amount *big.Int) (*types.Transaction, error)

Withdraw is a paid mutator transaction binding the contract method 0x2e1a7d4d.

Solidity: function withdraw(uint256 amount) returns()

type FaucetTransactor

type FaucetTransactor struct {
	// contains filtered or unexported fields
}

FaucetTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewFaucetTransactor

func NewFaucetTransactor(address common.Address, transactor bind.ContractTransactor) (*FaucetTransactor, error)

NewFaucetTransactor creates a new write-only instance of Faucet, bound to a specific deployed contract.

func (*FaucetTransactor) Drip

func (_Faucet *FaucetTransactor) Drip(opts *bind.TransactOpts) (*types.Transaction, error)

Drip is a paid mutator transaction binding the contract method 0x9f678cca.

Solidity: function drip() returns()

func (*FaucetTransactor) DripTo

func (_Faucet *FaucetTransactor) DripTo(opts *bind.TransactOpts, recipient common.Address) (*types.Transaction, error)

DripTo is a paid mutator transaction binding the contract method 0xcabee26e.

Solidity: function dripTo(address recipient) returns()

func (*FaucetTransactor) SetCooldown

func (_Faucet *FaucetTransactor) SetCooldown(opts *bind.TransactOpts, _cooldown *big.Int) (*types.Transaction, error)

SetCooldown is a paid mutator transaction binding the contract method 0x4fc3f41a.

Solidity: function setCooldown(uint256 _cooldown) returns()

func (*FaucetTransactor) SetDripAmount

func (_Faucet *FaucetTransactor) SetDripAmount(opts *bind.TransactOpts, _dripAmount *big.Int) (*types.Transaction, error)

SetDripAmount is a paid mutator transaction binding the contract method 0x543f8c58.

Solidity: function setDripAmount(uint256 _dripAmount) returns()

func (*FaucetTransactor) SetOwner

func (_Faucet *FaucetTransactor) SetOwner(opts *bind.TransactOpts, _owner common.Address) (*types.Transaction, error)

SetOwner is a paid mutator transaction binding the contract method 0x13af4035.

Solidity: function setOwner(address _owner) returns()

func (*FaucetTransactor) Withdraw

func (_Faucet *FaucetTransactor) Withdraw(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error)

Withdraw is a paid mutator transaction binding the contract method 0x2e1a7d4d.

Solidity: function withdraw(uint256 amount) returns()

type FaucetTransactorRaw

type FaucetTransactorRaw struct {
	Contract *FaucetTransactor // Generic write-only contract binding to access the raw methods on
}

FaucetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*FaucetTransactorRaw) Transact

func (_Faucet *FaucetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*FaucetTransactorRaw) Transfer

func (_Faucet *FaucetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type FaucetTransactorSession

type FaucetTransactorSession struct {
	Contract     *FaucetTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

FaucetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*FaucetTransactorSession) Drip

func (_Faucet *FaucetTransactorSession) Drip() (*types.Transaction, error)

Drip is a paid mutator transaction binding the contract method 0x9f678cca.

Solidity: function drip() returns()

func (*FaucetTransactorSession) DripTo

func (_Faucet *FaucetTransactorSession) DripTo(recipient common.Address) (*types.Transaction, error)

DripTo is a paid mutator transaction binding the contract method 0xcabee26e.

Solidity: function dripTo(address recipient) returns()

func (*FaucetTransactorSession) SetCooldown

func (_Faucet *FaucetTransactorSession) SetCooldown(_cooldown *big.Int) (*types.Transaction, error)

SetCooldown is a paid mutator transaction binding the contract method 0x4fc3f41a.

Solidity: function setCooldown(uint256 _cooldown) returns()

func (*FaucetTransactorSession) SetDripAmount

func (_Faucet *FaucetTransactorSession) SetDripAmount(_dripAmount *big.Int) (*types.Transaction, error)

SetDripAmount is a paid mutator transaction binding the contract method 0x543f8c58.

Solidity: function setDripAmount(uint256 _dripAmount) returns()

func (*FaucetTransactorSession) SetOwner

func (_Faucet *FaucetTransactorSession) SetOwner(_owner common.Address) (*types.Transaction, error)

SetOwner is a paid mutator transaction binding the contract method 0x13af4035.

Solidity: function setOwner(address _owner) returns()

func (*FaucetTransactorSession) Withdraw

func (_Faucet *FaucetTransactorSession) Withdraw(amount *big.Int) (*types.Transaction, error)

Withdraw is a paid mutator transaction binding the contract method 0x2e1a7d4d.

Solidity: function withdraw(uint256 amount) returns()

type FeeConfig

type FeeConfig struct {
	TipGwei            float64 // EIP-1559 priority tip
	CapGwei            float64 // refuse to submit above this effective price (0 = no cap)
	GasLimitMultiplier float64 // safety margin over eth_estimateGas (0 => 1.5)
}

FeeConfig tunes the submit transaction's gas pricing. Zero values fall back to sensible defaults (no cap; 1.5x gas-limit margin).

type FraudAdapter

type FraudAdapter struct {
	// contains filtered or unexported fields
}

FraudAdapter wraps the Slasher binding to submit withdrawal fraud evidence. It implements core.FraudEvidenceSubmitter.

func NewFraudAdapter

func NewFraudAdapter(ctx context.Context, client *ethclient.Client, slasherAddr common.Address, key *ecdsa.PrivateKey) (*FraudAdapter, error)

NewFraudAdapter binds the Slasher at slasherAddr over client with a transactor for the given key.

func (*FraudAdapter) SubmitWithdrawalFraudEvidence

func (a *FraudAdapter) SubmitWithdrawalFraudEvidence(ctx context.Context, evidence core.WithdrawalFraudEvidence) error

SubmitWithdrawalFraudEvidence submits byte-exact withdrawal fraud evidence to Slasher.sol and waits for the slashing transaction to mine.

type MockERC20

type MockERC20 struct {
	MockERC20Caller     // Read-only binding to the contract
	MockERC20Transactor // Write-only binding to the contract
	MockERC20Filterer   // Log filterer for contract events
}

MockERC20 is an auto generated Go binding around an Ethereum contract.

func DeployMockERC20

func DeployMockERC20(auth *bind.TransactOpts, backend bind.ContractBackend, _name string, _symbol string) (common.Address, *types.Transaction, *MockERC20, error)

DeployMockERC20 deploys a new Ethereum contract, binding an instance of MockERC20 to it.

func NewMockERC20

func NewMockERC20(address common.Address, backend bind.ContractBackend) (*MockERC20, error)

NewMockERC20 creates a new instance of MockERC20, bound to a specific deployed contract.

type MockERC20Approval

type MockERC20Approval struct {
	Owner   common.Address
	Spender common.Address
	Value   *big.Int
	Raw     types.Log // Blockchain specific contextual infos
}

MockERC20Approval represents a Approval event raised by the MockERC20 contract.

type MockERC20ApprovalIterator

type MockERC20ApprovalIterator struct {
	Event *MockERC20Approval // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

MockERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the MockERC20 contract.

func (*MockERC20ApprovalIterator) Close

func (it *MockERC20ApprovalIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*MockERC20ApprovalIterator) Error

func (it *MockERC20ApprovalIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*MockERC20ApprovalIterator) Next

func (it *MockERC20ApprovalIterator) Next() bool

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.

type MockERC20Caller

type MockERC20Caller struct {
	// contains filtered or unexported fields
}

MockERC20Caller is an auto generated read-only Go binding around an Ethereum contract.

func NewMockERC20Caller

func NewMockERC20Caller(address common.Address, caller bind.ContractCaller) (*MockERC20Caller, error)

NewMockERC20Caller creates a new read-only instance of MockERC20, bound to a specific deployed contract.

func (*MockERC20Caller) Allowance

func (_MockERC20 *MockERC20Caller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address , address ) view returns(uint256)

func (*MockERC20Caller) BalanceOf

func (_MockERC20 *MockERC20Caller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address ) view returns(uint256)

func (*MockERC20Caller) Decimals

func (_MockERC20 *MockERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*MockERC20Caller) Name

func (_MockERC20 *MockERC20Caller) Name(opts *bind.CallOpts) (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*MockERC20Caller) Symbol

func (_MockERC20 *MockERC20Caller) Symbol(opts *bind.CallOpts) (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*MockERC20Caller) TotalSupply

func (_MockERC20 *MockERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type MockERC20CallerRaw

type MockERC20CallerRaw struct {
	Contract *MockERC20Caller // Generic read-only contract binding to access the raw methods on
}

MockERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*MockERC20CallerRaw) Call

func (_MockERC20 *MockERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type MockERC20CallerSession

type MockERC20CallerSession struct {
	Contract *MockERC20Caller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts    // Call options to use throughout this session
}

MockERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*MockERC20CallerSession) Allowance

func (_MockERC20 *MockERC20CallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address , address ) view returns(uint256)

func (*MockERC20CallerSession) BalanceOf

func (_MockERC20 *MockERC20CallerSession) BalanceOf(arg0 common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address ) view returns(uint256)

func (*MockERC20CallerSession) Decimals

func (_MockERC20 *MockERC20CallerSession) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*MockERC20CallerSession) Name

func (_MockERC20 *MockERC20CallerSession) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*MockERC20CallerSession) Symbol

func (_MockERC20 *MockERC20CallerSession) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*MockERC20CallerSession) TotalSupply

func (_MockERC20 *MockERC20CallerSession) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type MockERC20Filterer

type MockERC20Filterer struct {
	// contains filtered or unexported fields
}

MockERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewMockERC20Filterer

func NewMockERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*MockERC20Filterer, error)

NewMockERC20Filterer creates a new log filterer instance of MockERC20, bound to a specific deployed contract.

func (*MockERC20Filterer) FilterApproval

func (_MockERC20 *MockERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*MockERC20ApprovalIterator, error)

FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*MockERC20Filterer) FilterTransfer

func (_MockERC20 *MockERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*MockERC20TransferIterator, error)

FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*MockERC20Filterer) ParseApproval

func (_MockERC20 *MockERC20Filterer) ParseApproval(log types.Log) (*MockERC20Approval, error)

ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*MockERC20Filterer) ParseTransfer

func (_MockERC20 *MockERC20Filterer) ParseTransfer(log types.Log) (*MockERC20Transfer, error)

ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*MockERC20Filterer) WatchApproval

func (_MockERC20 *MockERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *MockERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error)

WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*MockERC20Filterer) WatchTransfer

func (_MockERC20 *MockERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *MockERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error)

WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

type MockERC20Raw

type MockERC20Raw struct {
	Contract *MockERC20 // Generic contract binding to access the raw methods on
}

MockERC20Raw is an auto generated low-level Go binding around an Ethereum contract.

func (*MockERC20Raw) Call

func (_MockERC20 *MockERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*MockERC20Raw) Transact

func (_MockERC20 *MockERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*MockERC20Raw) Transfer

func (_MockERC20 *MockERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type MockERC20Session

type MockERC20Session struct {
	Contract     *MockERC20        // 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
}

MockERC20Session is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*MockERC20Session) Allowance

func (_MockERC20 *MockERC20Session) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address , address ) view returns(uint256)

func (*MockERC20Session) Approve

func (_MockERC20 *MockERC20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*MockERC20Session) BalanceOf

func (_MockERC20 *MockERC20Session) BalanceOf(arg0 common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address ) view returns(uint256)

func (*MockERC20Session) Decimals

func (_MockERC20 *MockERC20Session) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*MockERC20Session) Mint

func (_MockERC20 *MockERC20Session) Mint(to common.Address, amount *big.Int) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x40c10f19.

Solidity: function mint(address to, uint256 amount) returns()

func (*MockERC20Session) Name

func (_MockERC20 *MockERC20Session) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*MockERC20Session) Symbol

func (_MockERC20 *MockERC20Session) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*MockERC20Session) TotalSupply

func (_MockERC20 *MockERC20Session) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

func (*MockERC20Session) Transfer

func (_MockERC20 *MockERC20Session) Transfer(to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*MockERC20Session) TransferFrom

func (_MockERC20 *MockERC20Session) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type MockERC20Transactor

type MockERC20Transactor struct {
	// contains filtered or unexported fields
}

MockERC20Transactor is an auto generated write-only Go binding around an Ethereum contract.

func NewMockERC20Transactor

func NewMockERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*MockERC20Transactor, error)

NewMockERC20Transactor creates a new write-only instance of MockERC20, bound to a specific deployed contract.

func (*MockERC20Transactor) Approve

func (_MockERC20 *MockERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*MockERC20Transactor) Mint

func (_MockERC20 *MockERC20Transactor) Mint(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x40c10f19.

Solidity: function mint(address to, uint256 amount) returns()

func (*MockERC20Transactor) Transfer

func (_MockERC20 *MockERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*MockERC20Transactor) TransferFrom

func (_MockERC20 *MockERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type MockERC20TransactorRaw

type MockERC20TransactorRaw struct {
	Contract *MockERC20Transactor // Generic write-only contract binding to access the raw methods on
}

MockERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*MockERC20TransactorRaw) Transact

func (_MockERC20 *MockERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*MockERC20TransactorRaw) Transfer

func (_MockERC20 *MockERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type MockERC20TransactorSession

type MockERC20TransactorSession struct {
	Contract     *MockERC20Transactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts    // Transaction auth options to use throughout this session
}

MockERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*MockERC20TransactorSession) Approve

func (_MockERC20 *MockERC20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*MockERC20TransactorSession) Mint

func (_MockERC20 *MockERC20TransactorSession) Mint(to common.Address, amount *big.Int) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x40c10f19.

Solidity: function mint(address to, uint256 amount) returns()

func (*MockERC20TransactorSession) Transfer

func (_MockERC20 *MockERC20TransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*MockERC20TransactorSession) TransferFrom

func (_MockERC20 *MockERC20TransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type MockERC20Transfer

type MockERC20Transfer struct {
	From  common.Address
	To    common.Address
	Value *big.Int
	Raw   types.Log // Blockchain specific contextual infos
}

MockERC20Transfer represents a Transfer event raised by the MockERC20 contract.

type MockERC20TransferIterator

type MockERC20TransferIterator struct {
	Event *MockERC20Transfer // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

MockERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the MockERC20 contract.

func (*MockERC20TransferIterator) Close

func (it *MockERC20TransferIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*MockERC20TransferIterator) Error

func (it *MockERC20TransferIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*MockERC20TransferIterator) Next

func (it *MockERC20TransferIterator) Next() bool

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.

type NodeID

type NodeID struct {
	NodeIDCaller     // Read-only binding to the contract
	NodeIDTransactor // Write-only binding to the contract
	NodeIDFilterer   // Log filterer for contract events
}

NodeID is an auto generated Go binding around an Ethereum contract.

func DeployNodeID

func DeployNodeID(auth *bind.TransactOpts, backend bind.ContractBackend, _owner common.Address) (common.Address, *types.Transaction, *NodeID, error)

DeployNodeID deploys a new Ethereum contract, binding an instance of NodeID to it.

func NewNodeID

func NewNodeID(address common.Address, backend bind.ContractBackend) (*NodeID, error)

NewNodeID creates a new instance of NodeID, bound to a specific deployed contract.

type NodeIDApproval

type NodeIDApproval struct {
	Owner    common.Address
	Approved common.Address
	TokenId  *big.Int
	Raw      types.Log // Blockchain specific contextual infos
}

NodeIDApproval represents a Approval event raised by the NodeID contract.

type NodeIDApprovalForAll

type NodeIDApprovalForAll struct {
	Owner    common.Address
	Operator common.Address
	Approved bool
	Raw      types.Log // Blockchain specific contextual infos
}

NodeIDApprovalForAll represents a ApprovalForAll event raised by the NodeID contract.

type NodeIDApprovalForAllIterator

type NodeIDApprovalForAllIterator struct {
	Event *NodeIDApprovalForAll // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

NodeIDApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the NodeID contract.

func (*NodeIDApprovalForAllIterator) Close

func (it *NodeIDApprovalForAllIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*NodeIDApprovalForAllIterator) Error

func (it *NodeIDApprovalForAllIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*NodeIDApprovalForAllIterator) Next

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.

type NodeIDApprovalIterator

type NodeIDApprovalIterator struct {
	Event *NodeIDApproval // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

NodeIDApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the NodeID contract.

func (*NodeIDApprovalIterator) Close

func (it *NodeIDApprovalIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*NodeIDApprovalIterator) Error

func (it *NodeIDApprovalIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*NodeIDApprovalIterator) Next

func (it *NodeIDApprovalIterator) Next() bool

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.

type NodeIDCaller

type NodeIDCaller struct {
	// contains filtered or unexported fields
}

NodeIDCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewNodeIDCaller

func NewNodeIDCaller(address common.Address, caller bind.ContractCaller) (*NodeIDCaller, error)

NewNodeIDCaller creates a new read-only instance of NodeID, bound to a specific deployed contract.

func (*NodeIDCaller) AvailableSlots

func (_NodeID *NodeIDCaller) AvailableSlots(opts *bind.CallOpts) (*big.Int, error)

AvailableSlots is a free data retrieval call binding the contract method 0xe6fb3813.

Solidity: function availableSlots() view returns(uint256)

func (*NodeIDCaller) BalanceOf

func (_NodeID *NodeIDCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address owner) view returns(uint256)

func (*NodeIDCaller) BaseTokenURI

func (_NodeID *NodeIDCaller) BaseTokenURI(opts *bind.CallOpts) (string, error)

BaseTokenURI is a free data retrieval call binding the contract method 0xd547cfb7.

Solidity: function baseTokenURI() view returns(string)

func (*NodeIDCaller) GetApproved

func (_NodeID *NodeIDCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error)

GetApproved is a free data retrieval call binding the contract method 0x081812fc.

Solidity: function getApproved(uint256 tokenId) view returns(address)

func (*NodeIDCaller) IsApprovedForAll

func (_NodeID *NodeIDCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error)

IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.

Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)

func (*NodeIDCaller) MAXNODES

func (_NodeID *NodeIDCaller) MAXNODES(opts *bind.CallOpts) (*big.Int, error)

MAXNODES is a free data retrieval call binding the contract method 0x8f16e1cd.

Solidity: function MAX_NODES() view returns(uint256)

func (*NodeIDCaller) Name

func (_NodeID *NodeIDCaller) Name(opts *bind.CallOpts) (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*NodeIDCaller) Owner

func (_NodeID *NodeIDCaller) Owner(opts *bind.CallOpts) (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*NodeIDCaller) OwnerOf

func (_NodeID *NodeIDCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error)

OwnerOf is a free data retrieval call binding the contract method 0x6352211e.

Solidity: function ownerOf(uint256 tokenId) view returns(address)

func (*NodeIDCaller) Registry

func (_NodeID *NodeIDCaller) Registry(opts *bind.CallOpts) (common.Address, error)

Registry is a free data retrieval call binding the contract method 0x7b103999.

Solidity: function registry() view returns(address)

func (*NodeIDCaller) SupportsInterface

func (_NodeID *NodeIDCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*NodeIDCaller) Symbol

func (_NodeID *NodeIDCaller) Symbol(opts *bind.CallOpts) (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*NodeIDCaller) TermsOf

func (_NodeID *NodeIDCaller) TermsOf(opts *bind.CallOpts, tokenId uint32) (NodeIDTerms, error)

TermsOf is a free data retrieval call binding the contract method 0x8eeda103.

Solidity: function termsOf(uint32 tokenId) view returns((uint64,uint64,uint256))

func (*NodeIDCaller) TokenURI

func (_NodeID *NodeIDCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error)

TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.

Solidity: function tokenURI(uint256 tokenId) view returns(string)

type NodeIDCallerRaw

type NodeIDCallerRaw struct {
	Contract *NodeIDCaller // Generic read-only contract binding to access the raw methods on
}

NodeIDCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*NodeIDCallerRaw) Call

func (_NodeID *NodeIDCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type NodeIDCallerSession

type NodeIDCallerSession struct {
	Contract *NodeIDCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts // Call options to use throughout this session
}

NodeIDCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*NodeIDCallerSession) AvailableSlots

func (_NodeID *NodeIDCallerSession) AvailableSlots() (*big.Int, error)

AvailableSlots is a free data retrieval call binding the contract method 0xe6fb3813.

Solidity: function availableSlots() view returns(uint256)

func (*NodeIDCallerSession) BalanceOf

func (_NodeID *NodeIDCallerSession) BalanceOf(owner common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address owner) view returns(uint256)

func (*NodeIDCallerSession) BaseTokenURI

func (_NodeID *NodeIDCallerSession) BaseTokenURI() (string, error)

BaseTokenURI is a free data retrieval call binding the contract method 0xd547cfb7.

Solidity: function baseTokenURI() view returns(string)

func (*NodeIDCallerSession) GetApproved

func (_NodeID *NodeIDCallerSession) GetApproved(tokenId *big.Int) (common.Address, error)

GetApproved is a free data retrieval call binding the contract method 0x081812fc.

Solidity: function getApproved(uint256 tokenId) view returns(address)

func (*NodeIDCallerSession) IsApprovedForAll

func (_NodeID *NodeIDCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error)

IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.

Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)

func (*NodeIDCallerSession) MAXNODES

func (_NodeID *NodeIDCallerSession) MAXNODES() (*big.Int, error)

MAXNODES is a free data retrieval call binding the contract method 0x8f16e1cd.

Solidity: function MAX_NODES() view returns(uint256)

func (*NodeIDCallerSession) Name

func (_NodeID *NodeIDCallerSession) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*NodeIDCallerSession) Owner

func (_NodeID *NodeIDCallerSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*NodeIDCallerSession) OwnerOf

func (_NodeID *NodeIDCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error)

OwnerOf is a free data retrieval call binding the contract method 0x6352211e.

Solidity: function ownerOf(uint256 tokenId) view returns(address)

func (*NodeIDCallerSession) Registry

func (_NodeID *NodeIDCallerSession) Registry() (common.Address, error)

Registry is a free data retrieval call binding the contract method 0x7b103999.

Solidity: function registry() view returns(address)

func (*NodeIDCallerSession) SupportsInterface

func (_NodeID *NodeIDCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*NodeIDCallerSession) Symbol

func (_NodeID *NodeIDCallerSession) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*NodeIDCallerSession) TermsOf

func (_NodeID *NodeIDCallerSession) TermsOf(tokenId uint32) (NodeIDTerms, error)

TermsOf is a free data retrieval call binding the contract method 0x8eeda103.

Solidity: function termsOf(uint32 tokenId) view returns((uint64,uint64,uint256))

func (*NodeIDCallerSession) TokenURI

func (_NodeID *NodeIDCallerSession) TokenURI(tokenId *big.Int) (string, error)

TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.

Solidity: function tokenURI(uint256 tokenId) view returns(string)

type NodeIDFilterer

type NodeIDFilterer struct {
	// contains filtered or unexported fields
}

NodeIDFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewNodeIDFilterer

func NewNodeIDFilterer(address common.Address, filterer bind.ContractFilterer) (*NodeIDFilterer, error)

NewNodeIDFilterer creates a new log filterer instance of NodeID, bound to a specific deployed contract.

func (*NodeIDFilterer) FilterApproval

func (_NodeID *NodeIDFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*NodeIDApprovalIterator, error)

FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)

func (*NodeIDFilterer) FilterApprovalForAll

func (_NodeID *NodeIDFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*NodeIDApprovalForAllIterator, error)

FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.

Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)

func (*NodeIDFilterer) FilterOwnershipTransferred

func (_NodeID *NodeIDFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, oldOwner []common.Address, newOwner []common.Address) (*NodeIDOwnershipTransferredIterator, error)

FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)

func (*NodeIDFilterer) FilterRegistryUpdated

func (_NodeID *NodeIDFilterer) FilterRegistryUpdated(opts *bind.FilterOpts, oldRegistry []common.Address, newRegistry []common.Address) (*NodeIDRegistryUpdatedIterator, error)

FilterRegistryUpdated is a free log retrieval operation binding the contract event 0x482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b82.

Solidity: event RegistryUpdated(address indexed oldRegistry, address indexed newRegistry)

func (*NodeIDFilterer) FilterSlotsMinted

func (_NodeID *NodeIDFilterer) FilterSlotsMinted(opts *bind.FilterOpts, by []common.Address, firstTokenId []uint32, lastTokenId []uint32) (*NodeIDSlotsMintedIterator, error)

FilterSlotsMinted is a free log retrieval operation binding the contract event 0x9902251bf2894876d6d1dc26c5e2005e75018334706538cb7bf283598aefc42b.

Solidity: event SlotsMinted(address indexed by, uint32 indexed firstTokenId, uint32 indexed lastTokenId, uint256 minActivationAmount, uint64 vestingPeriod)

func (*NodeIDFilterer) FilterTransfer

func (_NodeID *NodeIDFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*NodeIDTransferIterator, error)

FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)

func (*NodeIDFilterer) ParseApproval

func (_NodeID *NodeIDFilterer) ParseApproval(log types.Log) (*NodeIDApproval, error)

ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)

func (*NodeIDFilterer) ParseApprovalForAll

func (_NodeID *NodeIDFilterer) ParseApprovalForAll(log types.Log) (*NodeIDApprovalForAll, error)

ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.

Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)

func (*NodeIDFilterer) ParseOwnershipTransferred

func (_NodeID *NodeIDFilterer) ParseOwnershipTransferred(log types.Log) (*NodeIDOwnershipTransferred, error)

ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)

func (*NodeIDFilterer) ParseRegistryUpdated

func (_NodeID *NodeIDFilterer) ParseRegistryUpdated(log types.Log) (*NodeIDRegistryUpdated, error)

ParseRegistryUpdated is a log parse operation binding the contract event 0x482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b82.

Solidity: event RegistryUpdated(address indexed oldRegistry, address indexed newRegistry)

func (*NodeIDFilterer) ParseSlotsMinted

func (_NodeID *NodeIDFilterer) ParseSlotsMinted(log types.Log) (*NodeIDSlotsMinted, error)

ParseSlotsMinted is a log parse operation binding the contract event 0x9902251bf2894876d6d1dc26c5e2005e75018334706538cb7bf283598aefc42b.

Solidity: event SlotsMinted(address indexed by, uint32 indexed firstTokenId, uint32 indexed lastTokenId, uint256 minActivationAmount, uint64 vestingPeriod)

func (*NodeIDFilterer) ParseTransfer

func (_NodeID *NodeIDFilterer) ParseTransfer(log types.Log) (*NodeIDTransfer, error)

ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)

func (*NodeIDFilterer) WatchApproval

func (_NodeID *NodeIDFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *NodeIDApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error)

WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)

func (*NodeIDFilterer) WatchApprovalForAll

func (_NodeID *NodeIDFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *NodeIDApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error)

WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.

Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)

func (*NodeIDFilterer) WatchOwnershipTransferred

func (_NodeID *NodeIDFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *NodeIDOwnershipTransferred, oldOwner []common.Address, newOwner []common.Address) (event.Subscription, error)

WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)

func (*NodeIDFilterer) WatchRegistryUpdated

func (_NodeID *NodeIDFilterer) WatchRegistryUpdated(opts *bind.WatchOpts, sink chan<- *NodeIDRegistryUpdated, oldRegistry []common.Address, newRegistry []common.Address) (event.Subscription, error)

WatchRegistryUpdated is a free log subscription operation binding the contract event 0x482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b82.

Solidity: event RegistryUpdated(address indexed oldRegistry, address indexed newRegistry)

func (*NodeIDFilterer) WatchSlotsMinted

func (_NodeID *NodeIDFilterer) WatchSlotsMinted(opts *bind.WatchOpts, sink chan<- *NodeIDSlotsMinted, by []common.Address, firstTokenId []uint32, lastTokenId []uint32) (event.Subscription, error)

WatchSlotsMinted is a free log subscription operation binding the contract event 0x9902251bf2894876d6d1dc26c5e2005e75018334706538cb7bf283598aefc42b.

Solidity: event SlotsMinted(address indexed by, uint32 indexed firstTokenId, uint32 indexed lastTokenId, uint256 minActivationAmount, uint64 vestingPeriod)

func (*NodeIDFilterer) WatchTransfer

func (_NodeID *NodeIDFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *NodeIDTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error)

WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)

type NodeIDOwnershipTransferred

type NodeIDOwnershipTransferred struct {
	OldOwner common.Address
	NewOwner common.Address
	Raw      types.Log // Blockchain specific contextual infos
}

NodeIDOwnershipTransferred represents a OwnershipTransferred event raised by the NodeID contract.

type NodeIDOwnershipTransferredIterator

type NodeIDOwnershipTransferredIterator struct {
	Event *NodeIDOwnershipTransferred // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

NodeIDOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the NodeID contract.

func (*NodeIDOwnershipTransferredIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*NodeIDOwnershipTransferredIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*NodeIDOwnershipTransferredIterator) Next

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.

type NodeIDRaw

type NodeIDRaw struct {
	Contract *NodeID // Generic contract binding to access the raw methods on
}

NodeIDRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*NodeIDRaw) Call

func (_NodeID *NodeIDRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*NodeIDRaw) Transact

func (_NodeID *NodeIDRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*NodeIDRaw) Transfer

func (_NodeID *NodeIDRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type NodeIDRegistryUpdated

type NodeIDRegistryUpdated struct {
	OldRegistry common.Address
	NewRegistry common.Address
	Raw         types.Log // Blockchain specific contextual infos
}

NodeIDRegistryUpdated represents a RegistryUpdated event raised by the NodeID contract.

type NodeIDRegistryUpdatedIterator

type NodeIDRegistryUpdatedIterator struct {
	Event *NodeIDRegistryUpdated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

NodeIDRegistryUpdatedIterator is returned from FilterRegistryUpdated and is used to iterate over the raw logs and unpacked data for RegistryUpdated events raised by the NodeID contract.

func (*NodeIDRegistryUpdatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*NodeIDRegistryUpdatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*NodeIDRegistryUpdatedIterator) Next

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.

type NodeIDSession

type NodeIDSession struct {
	Contract     *NodeID           // 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
}

NodeIDSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*NodeIDSession) Approve

func (_NodeID *NodeIDSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address to, uint256 tokenId) returns()

func (*NodeIDSession) AvailableSlots

func (_NodeID *NodeIDSession) AvailableSlots() (*big.Int, error)

AvailableSlots is a free data retrieval call binding the contract method 0xe6fb3813.

Solidity: function availableSlots() view returns(uint256)

func (*NodeIDSession) BalanceOf

func (_NodeID *NodeIDSession) BalanceOf(owner common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address owner) view returns(uint256)

func (*NodeIDSession) BaseTokenURI

func (_NodeID *NodeIDSession) BaseTokenURI() (string, error)

BaseTokenURI is a free data retrieval call binding the contract method 0xd547cfb7.

Solidity: function baseTokenURI() view returns(string)

func (*NodeIDSession) GetApproved

func (_NodeID *NodeIDSession) GetApproved(tokenId *big.Int) (common.Address, error)

GetApproved is a free data retrieval call binding the contract method 0x081812fc.

Solidity: function getApproved(uint256 tokenId) view returns(address)

func (*NodeIDSession) IsApprovedForAll

func (_NodeID *NodeIDSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error)

IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.

Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)

func (*NodeIDSession) MAXNODES

func (_NodeID *NodeIDSession) MAXNODES() (*big.Int, error)

MAXNODES is a free data retrieval call binding the contract method 0x8f16e1cd.

Solidity: function MAX_NODES() view returns(uint256)

func (*NodeIDSession) Mint

func (_NodeID *NodeIDSession) Mint(to common.Address, minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x8b3d35ae.

Solidity: function mint(address to, uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 tokenId)

func (*NodeIDSession) MintBatch

func (_NodeID *NodeIDSession) MintBatch(recipients []common.Address, minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

MintBatch is a paid mutator transaction binding the contract method 0xff875f03.

Solidity: function mintBatch(address[] recipients, uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 firstTokenId, uint32 lastTokenId)

func (*NodeIDSession) MintToRegistry

func (_NodeID *NodeIDSession) MintToRegistry(minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

MintToRegistry is a paid mutator transaction binding the contract method 0xe8804a2b.

Solidity: function mintToRegistry(uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 tokenId)

func (*NodeIDSession) Name

func (_NodeID *NodeIDSession) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*NodeIDSession) Owner

func (_NodeID *NodeIDSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*NodeIDSession) OwnerOf

func (_NodeID *NodeIDSession) OwnerOf(tokenId *big.Int) (common.Address, error)

OwnerOf is a free data retrieval call binding the contract method 0x6352211e.

Solidity: function ownerOf(uint256 tokenId) view returns(address)

func (*NodeIDSession) Registry

func (_NodeID *NodeIDSession) Registry() (common.Address, error)

Registry is a free data retrieval call binding the contract method 0x7b103999.

Solidity: function registry() view returns(address)

func (*NodeIDSession) SafeTransferFrom

func (_NodeID *NodeIDSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)

SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.

Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()

func (*NodeIDSession) SafeTransferFrom0

func (_NodeID *NodeIDSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error)

SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.

Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()

func (*NodeIDSession) SetApprovalForAll

func (_NodeID *NodeIDSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error)

SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.

Solidity: function setApprovalForAll(address operator, bool approved) returns()

func (*NodeIDSession) SetBaseTokenURI

func (_NodeID *NodeIDSession) SetBaseTokenURI(baseURI string) (*types.Transaction, error)

SetBaseTokenURI is a paid mutator transaction binding the contract method 0x30176e13.

Solidity: function setBaseTokenURI(string baseURI) returns()

func (*NodeIDSession) SetRegistry

func (_NodeID *NodeIDSession) SetRegistry(newRegistry common.Address) (*types.Transaction, error)

SetRegistry is a paid mutator transaction binding the contract method 0xa91ee0dc.

Solidity: function setRegistry(address newRegistry) returns()

func (*NodeIDSession) SupportsInterface

func (_NodeID *NodeIDSession) SupportsInterface(interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*NodeIDSession) Symbol

func (_NodeID *NodeIDSession) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*NodeIDSession) TermsOf

func (_NodeID *NodeIDSession) TermsOf(tokenId uint32) (NodeIDTerms, error)

TermsOf is a free data retrieval call binding the contract method 0x8eeda103.

Solidity: function termsOf(uint32 tokenId) view returns((uint64,uint64,uint256))

func (*NodeIDSession) TokenURI

func (_NodeID *NodeIDSession) TokenURI(tokenId *big.Int) (string, error)

TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.

Solidity: function tokenURI(uint256 tokenId) view returns(string)

func (*NodeIDSession) TransferFrom

func (_NodeID *NodeIDSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()

func (*NodeIDSession) TransferOwnership

func (_NodeID *NodeIDSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

type NodeIDSlotsMinted

type NodeIDSlotsMinted struct {
	By                  common.Address
	FirstTokenId        uint32
	LastTokenId         uint32
	MinActivationAmount *big.Int
	VestingPeriod       uint64
	Raw                 types.Log // Blockchain specific contextual infos
}

NodeIDSlotsMinted represents a SlotsMinted event raised by the NodeID contract.

type NodeIDSlotsMintedIterator

type NodeIDSlotsMintedIterator struct {
	Event *NodeIDSlotsMinted // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

NodeIDSlotsMintedIterator is returned from FilterSlotsMinted and is used to iterate over the raw logs and unpacked data for SlotsMinted events raised by the NodeID contract.

func (*NodeIDSlotsMintedIterator) Close

func (it *NodeIDSlotsMintedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*NodeIDSlotsMintedIterator) Error

func (it *NodeIDSlotsMintedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*NodeIDSlotsMintedIterator) Next

func (it *NodeIDSlotsMintedIterator) Next() bool

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.

type NodeIDTerms

type NodeIDTerms struct {
	MintedAt            uint64
	VestingPeriod       uint64
	MinActivationAmount *big.Int
}

NodeIDTerms is an auto generated low-level Go binding around an user-defined struct.

type NodeIDTransactor

type NodeIDTransactor struct {
	// contains filtered or unexported fields
}

NodeIDTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewNodeIDTransactor

func NewNodeIDTransactor(address common.Address, transactor bind.ContractTransactor) (*NodeIDTransactor, error)

NewNodeIDTransactor creates a new write-only instance of NodeID, bound to a specific deployed contract.

func (*NodeIDTransactor) Approve

func (_NodeID *NodeIDTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address to, uint256 tokenId) returns()

func (*NodeIDTransactor) Mint

func (_NodeID *NodeIDTransactor) Mint(opts *bind.TransactOpts, to common.Address, minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x8b3d35ae.

Solidity: function mint(address to, uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 tokenId)

func (*NodeIDTransactor) MintBatch

func (_NodeID *NodeIDTransactor) MintBatch(opts *bind.TransactOpts, recipients []common.Address, minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

MintBatch is a paid mutator transaction binding the contract method 0xff875f03.

Solidity: function mintBatch(address[] recipients, uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 firstTokenId, uint32 lastTokenId)

func (*NodeIDTransactor) MintToRegistry

func (_NodeID *NodeIDTransactor) MintToRegistry(opts *bind.TransactOpts, minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

MintToRegistry is a paid mutator transaction binding the contract method 0xe8804a2b.

Solidity: function mintToRegistry(uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 tokenId)

func (*NodeIDTransactor) SafeTransferFrom

func (_NodeID *NodeIDTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)

SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.

Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()

func (*NodeIDTransactor) SafeTransferFrom0

func (_NodeID *NodeIDTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error)

SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.

Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()

func (*NodeIDTransactor) SetApprovalForAll

func (_NodeID *NodeIDTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error)

SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.

Solidity: function setApprovalForAll(address operator, bool approved) returns()

func (*NodeIDTransactor) SetBaseTokenURI

func (_NodeID *NodeIDTransactor) SetBaseTokenURI(opts *bind.TransactOpts, baseURI string) (*types.Transaction, error)

SetBaseTokenURI is a paid mutator transaction binding the contract method 0x30176e13.

Solidity: function setBaseTokenURI(string baseURI) returns()

func (*NodeIDTransactor) SetRegistry

func (_NodeID *NodeIDTransactor) SetRegistry(opts *bind.TransactOpts, newRegistry common.Address) (*types.Transaction, error)

SetRegistry is a paid mutator transaction binding the contract method 0xa91ee0dc.

Solidity: function setRegistry(address newRegistry) returns()

func (*NodeIDTransactor) TransferFrom

func (_NodeID *NodeIDTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()

func (*NodeIDTransactor) TransferOwnership

func (_NodeID *NodeIDTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

type NodeIDTransactorRaw

type NodeIDTransactorRaw struct {
	Contract *NodeIDTransactor // Generic write-only contract binding to access the raw methods on
}

NodeIDTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*NodeIDTransactorRaw) Transact

func (_NodeID *NodeIDTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*NodeIDTransactorRaw) Transfer

func (_NodeID *NodeIDTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type NodeIDTransactorSession

type NodeIDTransactorSession struct {
	Contract     *NodeIDTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

NodeIDTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*NodeIDTransactorSession) Approve

func (_NodeID *NodeIDTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address to, uint256 tokenId) returns()

func (*NodeIDTransactorSession) Mint

func (_NodeID *NodeIDTransactorSession) Mint(to common.Address, minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x8b3d35ae.

Solidity: function mint(address to, uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 tokenId)

func (*NodeIDTransactorSession) MintBatch

func (_NodeID *NodeIDTransactorSession) MintBatch(recipients []common.Address, minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

MintBatch is a paid mutator transaction binding the contract method 0xff875f03.

Solidity: function mintBatch(address[] recipients, uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 firstTokenId, uint32 lastTokenId)

func (*NodeIDTransactorSession) MintToRegistry

func (_NodeID *NodeIDTransactorSession) MintToRegistry(minActivationAmount *big.Int, vestingPeriod uint64) (*types.Transaction, error)

MintToRegistry is a paid mutator transaction binding the contract method 0xe8804a2b.

Solidity: function mintToRegistry(uint256 minActivationAmount, uint64 vestingPeriod) returns(uint32 tokenId)

func (*NodeIDTransactorSession) SafeTransferFrom

func (_NodeID *NodeIDTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)

SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.

Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()

func (*NodeIDTransactorSession) SafeTransferFrom0

func (_NodeID *NodeIDTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error)

SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.

Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()

func (*NodeIDTransactorSession) SetApprovalForAll

func (_NodeID *NodeIDTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error)

SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.

Solidity: function setApprovalForAll(address operator, bool approved) returns()

func (*NodeIDTransactorSession) SetBaseTokenURI

func (_NodeID *NodeIDTransactorSession) SetBaseTokenURI(baseURI string) (*types.Transaction, error)

SetBaseTokenURI is a paid mutator transaction binding the contract method 0x30176e13.

Solidity: function setBaseTokenURI(string baseURI) returns()

func (*NodeIDTransactorSession) SetRegistry

func (_NodeID *NodeIDTransactorSession) SetRegistry(newRegistry common.Address) (*types.Transaction, error)

SetRegistry is a paid mutator transaction binding the contract method 0xa91ee0dc.

Solidity: function setRegistry(address newRegistry) returns()

func (*NodeIDTransactorSession) TransferFrom

func (_NodeID *NodeIDTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()

func (*NodeIDTransactorSession) TransferOwnership

func (_NodeID *NodeIDTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

type NodeIDTransfer

type NodeIDTransfer struct {
	From    common.Address
	To      common.Address
	TokenId *big.Int
	Raw     types.Log // Blockchain specific contextual infos
}

NodeIDTransfer represents a Transfer event raised by the NodeID contract.

type NodeIDTransferIterator

type NodeIDTransferIterator struct {
	Event *NodeIDTransfer // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

NodeIDTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the NodeID contract.

func (*NodeIDTransferIterator) Close

func (it *NodeIDTransferIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*NodeIDTransferIterator) Error

func (it *NodeIDTransferIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*NodeIDTransferIterator) Next

func (it *NodeIDTransferIterator) Next() bool

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.

type NodeRecord

type NodeRecord struct {
	Operator           common.Address
	ActivatedAt        uint64
	DeactivatedAt      uint64
	VestedAt           uint64
	Index              uint32
	TokenId            uint32
	OperatorCollateral *big.Int
	SponsorCollateral  *big.Int
	BlsPubkeyG1        [2]*big.Int
	BlsPubkeyG2        [4]*big.Int
}

NodeRecord is an auto generated low-level Go binding around an user-defined struct.

type OperatorRotationFinalizer added in v0.3.0

type OperatorRotationFinalizer struct {
	// contains filtered or unexported fields
}

OperatorRotationFinalizer rotates ConfigGovernor's own operator set via updateOperators, authorised by the current operator quorum. It is the operator analogue of RotationFinalizer (which rotates the vault signer set) and is the anchor-chain step of an operator handoff (ADR-017 rotation step 3).

func NewOperatorRotationFinalizer added in v0.3.0

func NewOperatorRotationFinalizer(ctx context.Context, client *ethclient.Client, govAddr common.Address, signer sign.Signer, fees FeeConfig) (*OperatorRotationFinalizer, error)

NewOperatorRotationFinalizer binds the ConfigGovernor at govAddr and reads the chain id from client. signer is this node's operator-key identity.

func (*OperatorRotationFinalizer) Pack added in v0.3.0

func (f *OperatorRotationFinalizer) Pack(ctx context.Context, newOperators []string, newThreshold int) ([]byte, error)

Pack reads the live operatorNonce and returns the canonical JSON for rotating to newOperators / newThreshold (operators sorted ascending, as the contract requires).

func (*OperatorRotationFinalizer) SetLogger added in v0.3.0

func (f *OperatorRotationFinalizer) SetLogger(l log.Logger)

SetLogger sets the finalizer's logger (defaults to a no-op). Used to surface best-effort txID lookups that resolve to an empty txID.

func (*OperatorRotationFinalizer) SetLookupWindow added in v0.3.0

func (f *OperatorRotationFinalizer) SetLookupWindow(blocks uint64)

SetLookupWindow overrides the eth_getLogs lookback (in blocks) used to resolve the txID of an already-applied rotation. A zero value keeps the default (defaultConfigLookupWindow). Widen it on chains with short block times so a slow ceremony doesn't push the event out of range.

func (*OperatorRotationFinalizer) Sign added in v0.3.0

func (f *OperatorRotationFinalizer) Sign(ctx context.Context, packed []byte) ([]byte, error)

Sign produces this node's 65-byte ECDSA signature over the operator-rotation digest derived from the packed bytes.

func (*OperatorRotationFinalizer) Submit added in v0.3.0

func (f *OperatorRotationFinalizer) Submit(ctx context.Context, packed []byte, signatures [][]byte) (string, error)

Submit merges the collected signatures against the current operator set and broadcasts updateOperators. Idempotent: if the operator set already equals the target it returns the prior txID.

func (*OperatorRotationFinalizer) Validate added in v0.3.0

func (f *OperatorRotationFinalizer) Validate(ctx context.Context, packed []byte, newOperators []string, newThreshold int) error

Validate re-derives the rotation target and asserts the packed payload matches, including a re-read of the live nonce.

func (*OperatorRotationFinalizer) VerifyRotation added in v0.3.0

func (f *OperatorRotationFinalizer) VerifyRotation(ctx context.Context, newOperators []string, newThreshold int) (string, bool, error)

VerifyRotation reports whether the on-chain operator set now equals newOperators with the given threshold. When set, it resolves the OperatorsUpdated event's txID within the lookback window.

type Registry

type Registry struct {
	RegistryCaller     // Read-only binding to the contract
	RegistryTransactor // Write-only binding to the contract
	RegistryFilterer   // Log filterer for contract events
}

Registry is an auto generated Go binding around an Ethereum contract.

func DeployRegistry

func DeployRegistry(auth *bind.TransactOpts, backend bind.ContractBackend, nodeID common.Address, asset common.Address, networkId [32]byte, unbondingPeriod uint64, basePrice *big.Int, targetPrice *big.Int, owner_ common.Address) (common.Address, *types.Transaction, *Registry, error)

DeployRegistry deploys a new Ethereum contract, binding an instance of Registry to it.

func NewRegistry

func NewRegistry(address common.Address, backend bind.ContractBackend) (*Registry, error)

NewRegistry creates a new instance of Registry, bound to a specific deployed contract.

type RegistryAdapter

type RegistryAdapter struct {
	// contains filtered or unexported fields
}

RegistryAdapter wraps the Registry binding (plus the staking-token binding for collateral approvals) for node onboarding and registry queries. It implements core.RegistryReader and core.RegistryWriter.

func NewRegistryAdapter

func NewRegistryAdapter(ctx context.Context, client *ethclient.Client, registryAddr, tokenAddr common.Address, key *ecdsa.PrivateKey) (*RegistryAdapter, error)

NewRegistryAdapter binds the Registry at registryAddr and the staking token at tokenAddr over client, with a transactor for the given key. The token is needed because Lock/Fund approve collateral before the registry call.

func (*RegistryAdapter) ActiveCount

func (a *RegistryAdapter) ActiveCount(ctx context.Context) (uint32, error)

func (*RegistryAdapter) FloorPrice

func (a *RegistryAdapter) FloorPrice(ctx context.Context) (*big.Int, error)

func (*RegistryAdapter) Fund

func (a *RegistryAdapter) Fund(ctx context.Context, tokenId uint32, amount *big.Int) error

func (*RegistryAdapter) GetActiveNodes

func (a *RegistryAdapter) GetActiveNodes(ctx context.Context, offset, limit *big.Int) ([]*core.Slot, error)

func (*RegistryAdapter) GetNodeByID

func (a *RegistryAdapter) GetNodeByID(ctx context.Context, nodeID [32]byte) (*core.Slot, error)

func (*RegistryAdapter) GetNodeId

func (a *RegistryAdapter) GetNodeId(ctx context.Context, tokenId uint32) ([32]byte, error)

func (*RegistryAdapter) GetNodes

func (a *RegistryAdapter) GetNodes(ctx context.Context, offset, limit *big.Int) ([]*core.Slot, error)

func (*RegistryAdapter) Lock

func (a *RegistryAdapter) Lock(ctx context.Context, blsPubkeyG1 [2]*big.Int, blsPubkeyG2 [4]*big.Int, popSignature [2]*big.Int, maxPrice *big.Int) (uint32, error)

Lock onboards a new operator: approves collateral, then calls Registry.register (which mints the NodeID NFT into escrow and activates it). Returns the freshly-minted tokenId. popSignature is accepted for source-compat but ignored on chain (ADR-008 2026-05-08).

func (*RegistryAdapter) Release

func (a *RegistryAdapter) Release(ctx context.Context, tokenId uint32) error

func (*RegistryAdapter) TotalNodes

func (a *RegistryAdapter) TotalNodes(ctx context.Context) (*big.Int, error)

func (*RegistryAdapter) UnbondingPeriod

func (a *RegistryAdapter) UnbondingPeriod(ctx context.Context) (uint64, error)

func (*RegistryAdapter) Unlock

func (a *RegistryAdapter) Unlock(ctx context.Context, tokenId uint32) error

type RegistryCaller

type RegistryCaller struct {
	// contains filtered or unexported fields
}

RegistryCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewRegistryCaller

func NewRegistryCaller(address common.Address, caller bind.ContractCaller) (*RegistryCaller, error)

NewRegistryCaller creates a new read-only instance of Registry, bound to a specific deployed contract.

func (*RegistryCaller) ASSET

func (_Registry *RegistryCaller) ASSET(opts *bind.CallOpts) (common.Address, error)

ASSET is a free data retrieval call binding the contract method 0x4800d97f.

Solidity: function ASSET() view returns(address)

func (*RegistryCaller) ActiveCount

func (_Registry *RegistryCaller) ActiveCount(opts *bind.CallOpts) (uint32, error)

ActiveCount is a free data retrieval call binding the contract method 0x4331ed1f.

Solidity: function activeCount() view returns(uint32)

func (*RegistryCaller) BASEPRICE

func (_Registry *RegistryCaller) BASEPRICE(opts *bind.CallOpts) (*big.Int, error)

BASEPRICE is a free data retrieval call binding the contract method 0xf86325ed.

Solidity: function BASE_PRICE() view returns(uint256)

func (*RegistryCaller) FloorPrice

func (_Registry *RegistryCaller) FloorPrice(opts *bind.CallOpts) (*big.Int, error)

FloorPrice is a free data retrieval call binding the contract method 0x9363c812.

Solidity: function floorPrice() view returns(uint256)

func (*RegistryCaller) GetNodeByBlsG2Hash

func (_Registry *RegistryCaller) GetNodeByBlsG2Hash(opts *bind.CallOpts, blsG2Hash [32]byte) ([32]byte, error)

GetNodeByBlsG2Hash is a free data retrieval call binding the contract method 0x18071936.

Solidity: function getNodeByBlsG2Hash(bytes32 blsG2Hash) view returns(bytes32)

func (*RegistryCaller) GetNodeById

func (_Registry *RegistryCaller) GetNodeById(opts *bind.CallOpts, nodeId [32]byte) (NodeRecord, error)

GetNodeById is a free data retrieval call binding the contract method 0x8899cf50.

Solidity: function getNodeById(bytes32 nodeId) view returns((address,uint64,uint64,uint64,uint32,uint32,uint256,uint256,uint256[2],uint256[4]))

func (*RegistryCaller) GetNodeId

func (_Registry *RegistryCaller) GetNodeId(opts *bind.CallOpts, tokenId uint32) ([32]byte, error)

GetNodeId is a free data retrieval call binding the contract method 0x6ef67bae.

Solidity: function getNodeId(uint32 tokenId) view returns(bytes32)

func (*RegistryCaller) GetNodeIds

func (_Registry *RegistryCaller) GetNodeIds(opts *bind.CallOpts, offset *big.Int, limit *big.Int) ([][32]byte, error)

GetNodeIds is a free data retrieval call binding the contract method 0xbdc43e92.

Solidity: function getNodeIds(uint256 offset, uint256 limit) view returns(bytes32[])

func (*RegistryCaller) GetNodes

func (_Registry *RegistryCaller) GetNodes(opts *bind.CallOpts, offset *big.Int, limit *big.Int) ([]NodeRecord, error)

GetNodes is a free data retrieval call binding the contract method 0x038d67e8.

Solidity: function getNodes(uint256 offset, uint256 limit) view returns((address,uint64,uint64,uint64,uint32,uint32,uint256,uint256,uint256[2],uint256[4])[])

func (*RegistryCaller) Liability

func (_Registry *RegistryCaller) Liability(opts *bind.CallOpts) (*big.Int, error)

Liability is a free data retrieval call binding the contract method 0x705727b5.

Solidity: function liability() view returns(uint256)

func (*RegistryCaller) MAXNODES

func (_Registry *RegistryCaller) MAXNODES(opts *bind.CallOpts) (*big.Int, error)

MAXNODES is a free data retrieval call binding the contract method 0x8f16e1cd.

Solidity: function MAX_NODES() view returns(uint256)

func (*RegistryCaller) NETWORKID

func (_Registry *RegistryCaller) NETWORKID(opts *bind.CallOpts) ([32]byte, error)

NETWORKID is a free data retrieval call binding the contract method 0x28ce8b31.

Solidity: function NETWORK_ID() view returns(bytes32)

func (*RegistryCaller) NODEID

func (_Registry *RegistryCaller) NODEID(opts *bind.CallOpts) (common.Address, error)

NODEID is a free data retrieval call binding the contract method 0xef695be8.

Solidity: function NODE_ID() view returns(address)

func (*RegistryCaller) Owner

func (_Registry *RegistryCaller) Owner(opts *bind.CallOpts) (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*RegistryCaller) Slasher

func (_Registry *RegistryCaller) Slasher(opts *bind.CallOpts) (common.Address, error)

Slasher is a free data retrieval call binding the contract method 0xb1344271.

Solidity: function slasher() view returns(address)

func (*RegistryCaller) TARGETPRICE

func (_Registry *RegistryCaller) TARGETPRICE(opts *bind.CallOpts) (*big.Int, error)

TARGETPRICE is a free data retrieval call binding the contract method 0x7e99ce59.

Solidity: function TARGET_PRICE() view returns(uint256)

func (*RegistryCaller) TotalNodes

func (_Registry *RegistryCaller) TotalNodes(opts *bind.CallOpts) (*big.Int, error)

TotalNodes is a free data retrieval call binding the contract method 0x9592d424.

Solidity: function totalNodes() view returns(uint256)

func (*RegistryCaller) UNBONDINGPERIOD

func (_Registry *RegistryCaller) UNBONDINGPERIOD(opts *bind.CallOpts) (uint64, error)

UNBONDINGPERIOD is a free data retrieval call binding the contract method 0xd9a912ec.

Solidity: function UNBONDING_PERIOD() view returns(uint64)

func (*RegistryCaller) WARMUPWINDOW

func (_Registry *RegistryCaller) WARMUPWINDOW(opts *bind.CallOpts) (uint64, error)

WARMUPWINDOW is a free data retrieval call binding the contract method 0x0d420090.

Solidity: function WARMUP_WINDOW() view returns(uint64)

type RegistryCallerRaw

type RegistryCallerRaw struct {
	Contract *RegistryCaller // Generic read-only contract binding to access the raw methods on
}

RegistryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*RegistryCallerRaw) Call

func (_Registry *RegistryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type RegistryCallerSession

type RegistryCallerSession struct {
	Contract *RegistryCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts   // Call options to use throughout this session
}

RegistryCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*RegistryCallerSession) ASSET

func (_Registry *RegistryCallerSession) ASSET() (common.Address, error)

ASSET is a free data retrieval call binding the contract method 0x4800d97f.

Solidity: function ASSET() view returns(address)

func (*RegistryCallerSession) ActiveCount

func (_Registry *RegistryCallerSession) ActiveCount() (uint32, error)

ActiveCount is a free data retrieval call binding the contract method 0x4331ed1f.

Solidity: function activeCount() view returns(uint32)

func (*RegistryCallerSession) BASEPRICE

func (_Registry *RegistryCallerSession) BASEPRICE() (*big.Int, error)

BASEPRICE is a free data retrieval call binding the contract method 0xf86325ed.

Solidity: function BASE_PRICE() view returns(uint256)

func (*RegistryCallerSession) FloorPrice

func (_Registry *RegistryCallerSession) FloorPrice() (*big.Int, error)

FloorPrice is a free data retrieval call binding the contract method 0x9363c812.

Solidity: function floorPrice() view returns(uint256)

func (*RegistryCallerSession) GetNodeByBlsG2Hash

func (_Registry *RegistryCallerSession) GetNodeByBlsG2Hash(blsG2Hash [32]byte) ([32]byte, error)

GetNodeByBlsG2Hash is a free data retrieval call binding the contract method 0x18071936.

Solidity: function getNodeByBlsG2Hash(bytes32 blsG2Hash) view returns(bytes32)

func (*RegistryCallerSession) GetNodeById

func (_Registry *RegistryCallerSession) GetNodeById(nodeId [32]byte) (NodeRecord, error)

GetNodeById is a free data retrieval call binding the contract method 0x8899cf50.

Solidity: function getNodeById(bytes32 nodeId) view returns((address,uint64,uint64,uint64,uint32,uint32,uint256,uint256,uint256[2],uint256[4]))

func (*RegistryCallerSession) GetNodeId

func (_Registry *RegistryCallerSession) GetNodeId(tokenId uint32) ([32]byte, error)

GetNodeId is a free data retrieval call binding the contract method 0x6ef67bae.

Solidity: function getNodeId(uint32 tokenId) view returns(bytes32)

func (*RegistryCallerSession) GetNodeIds

func (_Registry *RegistryCallerSession) GetNodeIds(offset *big.Int, limit *big.Int) ([][32]byte, error)

GetNodeIds is a free data retrieval call binding the contract method 0xbdc43e92.

Solidity: function getNodeIds(uint256 offset, uint256 limit) view returns(bytes32[])

func (*RegistryCallerSession) GetNodes

func (_Registry *RegistryCallerSession) GetNodes(offset *big.Int, limit *big.Int) ([]NodeRecord, error)

GetNodes is a free data retrieval call binding the contract method 0x038d67e8.

Solidity: function getNodes(uint256 offset, uint256 limit) view returns((address,uint64,uint64,uint64,uint32,uint32,uint256,uint256,uint256[2],uint256[4])[])

func (*RegistryCallerSession) Liability

func (_Registry *RegistryCallerSession) Liability() (*big.Int, error)

Liability is a free data retrieval call binding the contract method 0x705727b5.

Solidity: function liability() view returns(uint256)

func (*RegistryCallerSession) MAXNODES

func (_Registry *RegistryCallerSession) MAXNODES() (*big.Int, error)

MAXNODES is a free data retrieval call binding the contract method 0x8f16e1cd.

Solidity: function MAX_NODES() view returns(uint256)

func (*RegistryCallerSession) NETWORKID

func (_Registry *RegistryCallerSession) NETWORKID() ([32]byte, error)

NETWORKID is a free data retrieval call binding the contract method 0x28ce8b31.

Solidity: function NETWORK_ID() view returns(bytes32)

func (*RegistryCallerSession) NODEID

func (_Registry *RegistryCallerSession) NODEID() (common.Address, error)

NODEID is a free data retrieval call binding the contract method 0xef695be8.

Solidity: function NODE_ID() view returns(address)

func (*RegistryCallerSession) Owner

func (_Registry *RegistryCallerSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*RegistryCallerSession) Slasher

func (_Registry *RegistryCallerSession) Slasher() (common.Address, error)

Slasher is a free data retrieval call binding the contract method 0xb1344271.

Solidity: function slasher() view returns(address)

func (*RegistryCallerSession) TARGETPRICE

func (_Registry *RegistryCallerSession) TARGETPRICE() (*big.Int, error)

TARGETPRICE is a free data retrieval call binding the contract method 0x7e99ce59.

Solidity: function TARGET_PRICE() view returns(uint256)

func (*RegistryCallerSession) TotalNodes

func (_Registry *RegistryCallerSession) TotalNodes() (*big.Int, error)

TotalNodes is a free data retrieval call binding the contract method 0x9592d424.

Solidity: function totalNodes() view returns(uint256)

func (*RegistryCallerSession) UNBONDINGPERIOD

func (_Registry *RegistryCallerSession) UNBONDINGPERIOD() (uint64, error)

UNBONDINGPERIOD is a free data retrieval call binding the contract method 0xd9a912ec.

Solidity: function UNBONDING_PERIOD() view returns(uint64)

func (*RegistryCallerSession) WARMUPWINDOW

func (_Registry *RegistryCallerSession) WARMUPWINDOW() (uint64, error)

WARMUPWINDOW is a free data retrieval call binding the contract method 0x0d420090.

Solidity: function WARMUP_WINDOW() view returns(uint64)

type RegistryFilterer

type RegistryFilterer struct {
	// contains filtered or unexported fields
}

RegistryFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewRegistryFilterer

func NewRegistryFilterer(address common.Address, filterer bind.ContractFilterer) (*RegistryFilterer, error)

NewRegistryFilterer creates a new log filterer instance of Registry, bound to a specific deployed contract.

func (*RegistryFilterer) FilterNodeActivated

func (_Registry *RegistryFilterer) FilterNodeActivated(opts *bind.FilterOpts, operator []common.Address, nodeId [][32]byte, tokenId []uint32) (*RegistryNodeActivatedIterator, error)

FilterNodeActivated is a free log retrieval operation binding the contract event 0x58cee7261629c956b111bc684df727bd2e9b0f5d954e24b93908951c431cd13e.

Solidity: event NodeActivated(address indexed operator, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 collateral, uint64 vestedAt, uint256[4] blsPubkeyG2)

func (*RegistryFilterer) FilterNodeFunded

func (_Registry *RegistryFilterer) FilterNodeFunded(opts *bind.FilterOpts, payer []common.Address, nodeId [][32]byte, tokenId []uint32) (*RegistryNodeFundedIterator, error)

FilterNodeFunded is a free log retrieval operation binding the contract event 0x12341d30af78a74af3697daeaf7b1662bc9b723f6aa8a3402bf3d8b3f87a0772.

Solidity: event NodeFunded(address indexed payer, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 amount, uint256 totalCollateral)

func (*RegistryFilterer) FilterNodeReleased

func (_Registry *RegistryFilterer) FilterNodeReleased(opts *bind.FilterOpts, operator []common.Address, nodeId [][32]byte, tokenId []uint32) (*RegistryNodeReleasedIterator, error)

FilterNodeReleased is a free log retrieval operation binding the contract event 0x4f72a5ea49c0470a55beb3953816abf5c92fc73003b1049c241b133a0863208c.

Solidity: event NodeReleased(address indexed operator, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 collateral)

func (*RegistryFilterer) FilterNodeUnlocked

func (_Registry *RegistryFilterer) FilterNodeUnlocked(opts *bind.FilterOpts, operator []common.Address, nodeId [][32]byte) (*RegistryNodeUnlockedIterator, error)

FilterNodeUnlocked is a free log retrieval operation binding the contract event 0x0c833c7c9f5b9b8ed0085d7959eb025f59fa32a55b8d55223a819bc7c58db345.

Solidity: event NodeUnlocked(address indexed operator, bytes32 indexed nodeId, uint64 availableAt)

func (*RegistryFilterer) FilterOwnershipTransferred

func (_Registry *RegistryFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, oldOwner []common.Address, newOwner []common.Address) (*RegistryOwnershipTransferredIterator, error)

FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)

func (*RegistryFilterer) FilterSlashed

func (_Registry *RegistryFilterer) FilterSlashed(opts *bind.FilterOpts, nodeId [][32]byte, recipient []common.Address) (*RegistrySlashedIterator, error)

FilterSlashed is a free log retrieval operation binding the contract event 0x9a2bb3d9059142feaf2a6cbf5062a0047437076519c62ede693c2ec2240f1333.

Solidity: event Slashed(bytes32 indexed nodeId, uint256 amount, address indexed recipient, uint256 fromOperator, uint256 fromSponsor)

func (*RegistryFilterer) FilterSlasherUpdated

func (_Registry *RegistryFilterer) FilterSlasherUpdated(opts *bind.FilterOpts, oldSlasher []common.Address, newSlasher []common.Address) (*RegistrySlasherUpdatedIterator, error)

FilterSlasherUpdated is a free log retrieval operation binding the contract event 0xe0d49a54274423183dadecbdf239eaac6e06ba88320b26fe8cc5ec9d050a6395.

Solidity: event SlasherUpdated(address indexed oldSlasher, address indexed newSlasher)

func (*RegistryFilterer) ParseNodeActivated

func (_Registry *RegistryFilterer) ParseNodeActivated(log types.Log) (*RegistryNodeActivated, error)

ParseNodeActivated is a log parse operation binding the contract event 0x58cee7261629c956b111bc684df727bd2e9b0f5d954e24b93908951c431cd13e.

Solidity: event NodeActivated(address indexed operator, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 collateral, uint64 vestedAt, uint256[4] blsPubkeyG2)

func (*RegistryFilterer) ParseNodeFunded

func (_Registry *RegistryFilterer) ParseNodeFunded(log types.Log) (*RegistryNodeFunded, error)

ParseNodeFunded is a log parse operation binding the contract event 0x12341d30af78a74af3697daeaf7b1662bc9b723f6aa8a3402bf3d8b3f87a0772.

Solidity: event NodeFunded(address indexed payer, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 amount, uint256 totalCollateral)

func (*RegistryFilterer) ParseNodeReleased

func (_Registry *RegistryFilterer) ParseNodeReleased(log types.Log) (*RegistryNodeReleased, error)

ParseNodeReleased is a log parse operation binding the contract event 0x4f72a5ea49c0470a55beb3953816abf5c92fc73003b1049c241b133a0863208c.

Solidity: event NodeReleased(address indexed operator, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 collateral)

func (*RegistryFilterer) ParseNodeUnlocked

func (_Registry *RegistryFilterer) ParseNodeUnlocked(log types.Log) (*RegistryNodeUnlocked, error)

ParseNodeUnlocked is a log parse operation binding the contract event 0x0c833c7c9f5b9b8ed0085d7959eb025f59fa32a55b8d55223a819bc7c58db345.

Solidity: event NodeUnlocked(address indexed operator, bytes32 indexed nodeId, uint64 availableAt)

func (*RegistryFilterer) ParseOwnershipTransferred

func (_Registry *RegistryFilterer) ParseOwnershipTransferred(log types.Log) (*RegistryOwnershipTransferred, error)

ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)

func (*RegistryFilterer) ParseSlashed

func (_Registry *RegistryFilterer) ParseSlashed(log types.Log) (*RegistrySlashed, error)

ParseSlashed is a log parse operation binding the contract event 0x9a2bb3d9059142feaf2a6cbf5062a0047437076519c62ede693c2ec2240f1333.

Solidity: event Slashed(bytes32 indexed nodeId, uint256 amount, address indexed recipient, uint256 fromOperator, uint256 fromSponsor)

func (*RegistryFilterer) ParseSlasherUpdated

func (_Registry *RegistryFilterer) ParseSlasherUpdated(log types.Log) (*RegistrySlasherUpdated, error)

ParseSlasherUpdated is a log parse operation binding the contract event 0xe0d49a54274423183dadecbdf239eaac6e06ba88320b26fe8cc5ec9d050a6395.

Solidity: event SlasherUpdated(address indexed oldSlasher, address indexed newSlasher)

func (*RegistryFilterer) WatchNodeActivated

func (_Registry *RegistryFilterer) WatchNodeActivated(opts *bind.WatchOpts, sink chan<- *RegistryNodeActivated, operator []common.Address, nodeId [][32]byte, tokenId []uint32) (event.Subscription, error)

WatchNodeActivated is a free log subscription operation binding the contract event 0x58cee7261629c956b111bc684df727bd2e9b0f5d954e24b93908951c431cd13e.

Solidity: event NodeActivated(address indexed operator, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 collateral, uint64 vestedAt, uint256[4] blsPubkeyG2)

func (*RegistryFilterer) WatchNodeFunded

func (_Registry *RegistryFilterer) WatchNodeFunded(opts *bind.WatchOpts, sink chan<- *RegistryNodeFunded, payer []common.Address, nodeId [][32]byte, tokenId []uint32) (event.Subscription, error)

WatchNodeFunded is a free log subscription operation binding the contract event 0x12341d30af78a74af3697daeaf7b1662bc9b723f6aa8a3402bf3d8b3f87a0772.

Solidity: event NodeFunded(address indexed payer, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 amount, uint256 totalCollateral)

func (*RegistryFilterer) WatchNodeReleased

func (_Registry *RegistryFilterer) WatchNodeReleased(opts *bind.WatchOpts, sink chan<- *RegistryNodeReleased, operator []common.Address, nodeId [][32]byte, tokenId []uint32) (event.Subscription, error)

WatchNodeReleased is a free log subscription operation binding the contract event 0x4f72a5ea49c0470a55beb3953816abf5c92fc73003b1049c241b133a0863208c.

Solidity: event NodeReleased(address indexed operator, bytes32 indexed nodeId, uint32 indexed tokenId, uint256 collateral)

func (*RegistryFilterer) WatchNodeUnlocked

func (_Registry *RegistryFilterer) WatchNodeUnlocked(opts *bind.WatchOpts, sink chan<- *RegistryNodeUnlocked, operator []common.Address, nodeId [][32]byte) (event.Subscription, error)

WatchNodeUnlocked is a free log subscription operation binding the contract event 0x0c833c7c9f5b9b8ed0085d7959eb025f59fa32a55b8d55223a819bc7c58db345.

Solidity: event NodeUnlocked(address indexed operator, bytes32 indexed nodeId, uint64 availableAt)

func (*RegistryFilterer) WatchOwnershipTransferred

func (_Registry *RegistryFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *RegistryOwnershipTransferred, oldOwner []common.Address, newOwner []common.Address) (event.Subscription, error)

WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)

func (*RegistryFilterer) WatchSlashed

func (_Registry *RegistryFilterer) WatchSlashed(opts *bind.WatchOpts, sink chan<- *RegistrySlashed, nodeId [][32]byte, recipient []common.Address) (event.Subscription, error)

WatchSlashed is a free log subscription operation binding the contract event 0x9a2bb3d9059142feaf2a6cbf5062a0047437076519c62ede693c2ec2240f1333.

Solidity: event Slashed(bytes32 indexed nodeId, uint256 amount, address indexed recipient, uint256 fromOperator, uint256 fromSponsor)

func (*RegistryFilterer) WatchSlasherUpdated

func (_Registry *RegistryFilterer) WatchSlasherUpdated(opts *bind.WatchOpts, sink chan<- *RegistrySlasherUpdated, oldSlasher []common.Address, newSlasher []common.Address) (event.Subscription, error)

WatchSlasherUpdated is a free log subscription operation binding the contract event 0xe0d49a54274423183dadecbdf239eaac6e06ba88320b26fe8cc5ec9d050a6395.

Solidity: event SlasherUpdated(address indexed oldSlasher, address indexed newSlasher)

type RegistryNodeActivated

type RegistryNodeActivated struct {
	Operator    common.Address
	NodeId      [32]byte
	TokenId     uint32
	Collateral  *big.Int
	VestedAt    uint64
	BlsPubkeyG2 [4]*big.Int
	Raw         types.Log // Blockchain specific contextual infos
}

RegistryNodeActivated represents a NodeActivated event raised by the Registry contract.

type RegistryNodeActivatedIterator

type RegistryNodeActivatedIterator struct {
	Event *RegistryNodeActivated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

RegistryNodeActivatedIterator is returned from FilterNodeActivated and is used to iterate over the raw logs and unpacked data for NodeActivated events raised by the Registry contract.

func (*RegistryNodeActivatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*RegistryNodeActivatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*RegistryNodeActivatedIterator) Next

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.

type RegistryNodeFunded

type RegistryNodeFunded struct {
	Payer           common.Address
	NodeId          [32]byte
	TokenId         uint32
	Amount          *big.Int
	TotalCollateral *big.Int
	Raw             types.Log // Blockchain specific contextual infos
}

RegistryNodeFunded represents a NodeFunded event raised by the Registry contract.

type RegistryNodeFundedIterator

type RegistryNodeFundedIterator struct {
	Event *RegistryNodeFunded // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

RegistryNodeFundedIterator is returned from FilterNodeFunded and is used to iterate over the raw logs and unpacked data for NodeFunded events raised by the Registry contract.

func (*RegistryNodeFundedIterator) Close

func (it *RegistryNodeFundedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*RegistryNodeFundedIterator) Error

func (it *RegistryNodeFundedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*RegistryNodeFundedIterator) Next

func (it *RegistryNodeFundedIterator) Next() bool

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.

type RegistryNodeReleased

type RegistryNodeReleased struct {
	Operator   common.Address
	NodeId     [32]byte
	TokenId    uint32
	Collateral *big.Int
	Raw        types.Log // Blockchain specific contextual infos
}

RegistryNodeReleased represents a NodeReleased event raised by the Registry contract.

type RegistryNodeReleasedIterator

type RegistryNodeReleasedIterator struct {
	Event *RegistryNodeReleased // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

RegistryNodeReleasedIterator is returned from FilterNodeReleased and is used to iterate over the raw logs and unpacked data for NodeReleased events raised by the Registry contract.

func (*RegistryNodeReleasedIterator) Close

func (it *RegistryNodeReleasedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*RegistryNodeReleasedIterator) Error

func (it *RegistryNodeReleasedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*RegistryNodeReleasedIterator) Next

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.

type RegistryNodeUnlocked

type RegistryNodeUnlocked struct {
	Operator    common.Address
	NodeId      [32]byte
	AvailableAt uint64
	Raw         types.Log // Blockchain specific contextual infos
}

RegistryNodeUnlocked represents a NodeUnlocked event raised by the Registry contract.

type RegistryNodeUnlockedIterator

type RegistryNodeUnlockedIterator struct {
	Event *RegistryNodeUnlocked // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

RegistryNodeUnlockedIterator is returned from FilterNodeUnlocked and is used to iterate over the raw logs and unpacked data for NodeUnlocked events raised by the Registry contract.

func (*RegistryNodeUnlockedIterator) Close

func (it *RegistryNodeUnlockedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*RegistryNodeUnlockedIterator) Error

func (it *RegistryNodeUnlockedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*RegistryNodeUnlockedIterator) Next

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.

type RegistryOwnershipTransferred

type RegistryOwnershipTransferred struct {
	OldOwner common.Address
	NewOwner common.Address
	Raw      types.Log // Blockchain specific contextual infos
}

RegistryOwnershipTransferred represents a OwnershipTransferred event raised by the Registry contract.

type RegistryOwnershipTransferredIterator

type RegistryOwnershipTransferredIterator struct {
	Event *RegistryOwnershipTransferred // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

RegistryOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Registry contract.

func (*RegistryOwnershipTransferredIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*RegistryOwnershipTransferredIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*RegistryOwnershipTransferredIterator) Next

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.

type RegistryRaw

type RegistryRaw struct {
	Contract *Registry // Generic contract binding to access the raw methods on
}

RegistryRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*RegistryRaw) Call

func (_Registry *RegistryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*RegistryRaw) Transact

func (_Registry *RegistryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*RegistryRaw) Transfer

func (_Registry *RegistryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type RegistrySession

type RegistrySession struct {
	Contract     *Registry         // 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
}

RegistrySession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*RegistrySession) ASSET

func (_Registry *RegistrySession) ASSET() (common.Address, error)

ASSET is a free data retrieval call binding the contract method 0x4800d97f.

Solidity: function ASSET() view returns(address)

func (*RegistrySession) Activate

func (_Registry *RegistrySession) Activate(tokenId uint32, blsPubkeyG1 [2]*big.Int, blsPubkeyG2 [4]*big.Int, operatorCollateral *big.Int) (*types.Transaction, error)

Activate is a paid mutator transaction binding the contract method 0xad122111.

Solidity: function activate(uint32 tokenId, uint256[2] blsPubkeyG1, uint256[4] blsPubkeyG2, uint256 operatorCollateral) returns(bytes32 nodeId)

func (*RegistrySession) ActiveCount

func (_Registry *RegistrySession) ActiveCount() (uint32, error)

ActiveCount is a free data retrieval call binding the contract method 0x4331ed1f.

Solidity: function activeCount() view returns(uint32)

func (*RegistrySession) BASEPRICE

func (_Registry *RegistrySession) BASEPRICE() (*big.Int, error)

BASEPRICE is a free data retrieval call binding the contract method 0xf86325ed.

Solidity: function BASE_PRICE() view returns(uint256)

func (*RegistrySession) FloorPrice

func (_Registry *RegistrySession) FloorPrice() (*big.Int, error)

FloorPrice is a free data retrieval call binding the contract method 0x9363c812.

Solidity: function floorPrice() view returns(uint256)

func (*RegistrySession) Fund

func (_Registry *RegistrySession) Fund(tokenId uint32, amount *big.Int) (*types.Transaction, error)

Fund is a paid mutator transaction binding the contract method 0x2db75d40.

Solidity: function fund(uint32 tokenId, uint256 amount) returns()

func (*RegistrySession) GetNodeByBlsG2Hash

func (_Registry *RegistrySession) GetNodeByBlsG2Hash(blsG2Hash [32]byte) ([32]byte, error)

GetNodeByBlsG2Hash is a free data retrieval call binding the contract method 0x18071936.

Solidity: function getNodeByBlsG2Hash(bytes32 blsG2Hash) view returns(bytes32)

func (*RegistrySession) GetNodeById

func (_Registry *RegistrySession) GetNodeById(nodeId [32]byte) (NodeRecord, error)

GetNodeById is a free data retrieval call binding the contract method 0x8899cf50.

Solidity: function getNodeById(bytes32 nodeId) view returns((address,uint64,uint64,uint64,uint32,uint32,uint256,uint256,uint256[2],uint256[4]))

func (*RegistrySession) GetNodeId

func (_Registry *RegistrySession) GetNodeId(tokenId uint32) ([32]byte, error)

GetNodeId is a free data retrieval call binding the contract method 0x6ef67bae.

Solidity: function getNodeId(uint32 tokenId) view returns(bytes32)

func (*RegistrySession) GetNodeIds

func (_Registry *RegistrySession) GetNodeIds(offset *big.Int, limit *big.Int) ([][32]byte, error)

GetNodeIds is a free data retrieval call binding the contract method 0xbdc43e92.

Solidity: function getNodeIds(uint256 offset, uint256 limit) view returns(bytes32[])

func (*RegistrySession) GetNodes

func (_Registry *RegistrySession) GetNodes(offset *big.Int, limit *big.Int) ([]NodeRecord, error)

GetNodes is a free data retrieval call binding the contract method 0x038d67e8.

Solidity: function getNodes(uint256 offset, uint256 limit) view returns((address,uint64,uint64,uint64,uint32,uint32,uint256,uint256,uint256[2],uint256[4])[])

func (*RegistrySession) Liability

func (_Registry *RegistrySession) Liability() (*big.Int, error)

Liability is a free data retrieval call binding the contract method 0x705727b5.

Solidity: function liability() view returns(uint256)

func (*RegistrySession) MAXNODES

func (_Registry *RegistrySession) MAXNODES() (*big.Int, error)

MAXNODES is a free data retrieval call binding the contract method 0x8f16e1cd.

Solidity: function MAX_NODES() view returns(uint256)

func (*RegistrySession) NETWORKID

func (_Registry *RegistrySession) NETWORKID() ([32]byte, error)

NETWORKID is a free data retrieval call binding the contract method 0x28ce8b31.

Solidity: function NETWORK_ID() view returns(bytes32)

func (*RegistrySession) NODEID

func (_Registry *RegistrySession) NODEID() (common.Address, error)

NODEID is a free data retrieval call binding the contract method 0xef695be8.

Solidity: function NODE_ID() view returns(address)

func (*RegistrySession) Owner

func (_Registry *RegistrySession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*RegistrySession) Register

func (_Registry *RegistrySession) Register(blsPubkeyG1 [2]*big.Int, blsPubkeyG2 [4]*big.Int, operatorCollateral *big.Int) (*types.Transaction, error)

Register is a paid mutator transaction binding the contract method 0x7fdd1867.

Solidity: function register(uint256[2] blsPubkeyG1, uint256[4] blsPubkeyG2, uint256 operatorCollateral) returns(uint32 tokenId, bytes32 nodeId)

func (*RegistrySession) Release

func (_Registry *RegistrySession) Release(tokenId uint32) (*types.Transaction, error)

Release is a paid mutator transaction binding the contract method 0xdda42b37.

Solidity: function release(uint32 tokenId) returns()

func (*RegistrySession) SetSlasher

func (_Registry *RegistrySession) SetSlasher(newSlasher common.Address) (*types.Transaction, error)

SetSlasher is a paid mutator transaction binding the contract method 0xaabc2496.

Solidity: function setSlasher(address newSlasher) returns()

func (*RegistrySession) Slash

func (_Registry *RegistrySession) Slash(nodeId [32]byte, amount *big.Int, recipient common.Address) (*types.Transaction, error)

Slash is a paid mutator transaction binding the contract method 0x158ece27.

Solidity: function slash(bytes32 nodeId, uint256 amount, address recipient) returns()

func (*RegistrySession) Slasher

func (_Registry *RegistrySession) Slasher() (common.Address, error)

Slasher is a free data retrieval call binding the contract method 0xb1344271.

Solidity: function slasher() view returns(address)

func (*RegistrySession) TARGETPRICE

func (_Registry *RegistrySession) TARGETPRICE() (*big.Int, error)

TARGETPRICE is a free data retrieval call binding the contract method 0x7e99ce59.

Solidity: function TARGET_PRICE() view returns(uint256)

func (*RegistrySession) TotalNodes

func (_Registry *RegistrySession) TotalNodes() (*big.Int, error)

TotalNodes is a free data retrieval call binding the contract method 0x9592d424.

Solidity: function totalNodes() view returns(uint256)

func (*RegistrySession) TransferOwnership

func (_Registry *RegistrySession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*RegistrySession) UNBONDINGPERIOD

func (_Registry *RegistrySession) UNBONDINGPERIOD() (uint64, error)

UNBONDINGPERIOD is a free data retrieval call binding the contract method 0xd9a912ec.

Solidity: function UNBONDING_PERIOD() view returns(uint64)

func (*RegistrySession) Unlock

func (_Registry *RegistrySession) Unlock(tokenId uint32) (*types.Transaction, error)

Unlock is a paid mutator transaction binding the contract method 0x67d93c81.

Solidity: function unlock(uint32 tokenId) returns()

func (*RegistrySession) WARMUPWINDOW

func (_Registry *RegistrySession) WARMUPWINDOW() (uint64, error)

WARMUPWINDOW is a free data retrieval call binding the contract method 0x0d420090.

Solidity: function WARMUP_WINDOW() view returns(uint64)

type RegistrySlashed

type RegistrySlashed struct {
	NodeId       [32]byte
	Amount       *big.Int
	Recipient    common.Address
	FromOperator *big.Int
	FromSponsor  *big.Int
	Raw          types.Log // Blockchain specific contextual infos
}

RegistrySlashed represents a Slashed event raised by the Registry contract.

type RegistrySlashedIterator

type RegistrySlashedIterator struct {
	Event *RegistrySlashed // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

RegistrySlashedIterator is returned from FilterSlashed and is used to iterate over the raw logs and unpacked data for Slashed events raised by the Registry contract.

func (*RegistrySlashedIterator) Close

func (it *RegistrySlashedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*RegistrySlashedIterator) Error

func (it *RegistrySlashedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*RegistrySlashedIterator) Next

func (it *RegistrySlashedIterator) Next() bool

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.

type RegistrySlasherUpdated

type RegistrySlasherUpdated struct {
	OldSlasher common.Address
	NewSlasher common.Address
	Raw        types.Log // Blockchain specific contextual infos
}

RegistrySlasherUpdated represents a SlasherUpdated event raised by the Registry contract.

type RegistrySlasherUpdatedIterator

type RegistrySlasherUpdatedIterator struct {
	Event *RegistrySlasherUpdated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

RegistrySlasherUpdatedIterator is returned from FilterSlasherUpdated and is used to iterate over the raw logs and unpacked data for SlasherUpdated events raised by the Registry contract.

func (*RegistrySlasherUpdatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*RegistrySlasherUpdatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*RegistrySlasherUpdatedIterator) Next

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.

type RegistryTransactor

type RegistryTransactor struct {
	// contains filtered or unexported fields
}

RegistryTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewRegistryTransactor

func NewRegistryTransactor(address common.Address, transactor bind.ContractTransactor) (*RegistryTransactor, error)

NewRegistryTransactor creates a new write-only instance of Registry, bound to a specific deployed contract.

func (*RegistryTransactor) Activate

func (_Registry *RegistryTransactor) Activate(opts *bind.TransactOpts, tokenId uint32, blsPubkeyG1 [2]*big.Int, blsPubkeyG2 [4]*big.Int, operatorCollateral *big.Int) (*types.Transaction, error)

Activate is a paid mutator transaction binding the contract method 0xad122111.

Solidity: function activate(uint32 tokenId, uint256[2] blsPubkeyG1, uint256[4] blsPubkeyG2, uint256 operatorCollateral) returns(bytes32 nodeId)

func (*RegistryTransactor) Fund

func (_Registry *RegistryTransactor) Fund(opts *bind.TransactOpts, tokenId uint32, amount *big.Int) (*types.Transaction, error)

Fund is a paid mutator transaction binding the contract method 0x2db75d40.

Solidity: function fund(uint32 tokenId, uint256 amount) returns()

func (*RegistryTransactor) Register

func (_Registry *RegistryTransactor) Register(opts *bind.TransactOpts, blsPubkeyG1 [2]*big.Int, blsPubkeyG2 [4]*big.Int, operatorCollateral *big.Int) (*types.Transaction, error)

Register is a paid mutator transaction binding the contract method 0x7fdd1867.

Solidity: function register(uint256[2] blsPubkeyG1, uint256[4] blsPubkeyG2, uint256 operatorCollateral) returns(uint32 tokenId, bytes32 nodeId)

func (*RegistryTransactor) Release

func (_Registry *RegistryTransactor) Release(opts *bind.TransactOpts, tokenId uint32) (*types.Transaction, error)

Release is a paid mutator transaction binding the contract method 0xdda42b37.

Solidity: function release(uint32 tokenId) returns()

func (*RegistryTransactor) SetSlasher

func (_Registry *RegistryTransactor) SetSlasher(opts *bind.TransactOpts, newSlasher common.Address) (*types.Transaction, error)

SetSlasher is a paid mutator transaction binding the contract method 0xaabc2496.

Solidity: function setSlasher(address newSlasher) returns()

func (*RegistryTransactor) Slash

func (_Registry *RegistryTransactor) Slash(opts *bind.TransactOpts, nodeId [32]byte, amount *big.Int, recipient common.Address) (*types.Transaction, error)

Slash is a paid mutator transaction binding the contract method 0x158ece27.

Solidity: function slash(bytes32 nodeId, uint256 amount, address recipient) returns()

func (*RegistryTransactor) TransferOwnership

func (_Registry *RegistryTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*RegistryTransactor) Unlock

func (_Registry *RegistryTransactor) Unlock(opts *bind.TransactOpts, tokenId uint32) (*types.Transaction, error)

Unlock is a paid mutator transaction binding the contract method 0x67d93c81.

Solidity: function unlock(uint32 tokenId) returns()

type RegistryTransactorRaw

type RegistryTransactorRaw struct {
	Contract *RegistryTransactor // Generic write-only contract binding to access the raw methods on
}

RegistryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*RegistryTransactorRaw) Transact

func (_Registry *RegistryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*RegistryTransactorRaw) Transfer

func (_Registry *RegistryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type RegistryTransactorSession

type RegistryTransactorSession struct {
	Contract     *RegistryTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
}

RegistryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*RegistryTransactorSession) Activate

func (_Registry *RegistryTransactorSession) Activate(tokenId uint32, blsPubkeyG1 [2]*big.Int, blsPubkeyG2 [4]*big.Int, operatorCollateral *big.Int) (*types.Transaction, error)

Activate is a paid mutator transaction binding the contract method 0xad122111.

Solidity: function activate(uint32 tokenId, uint256[2] blsPubkeyG1, uint256[4] blsPubkeyG2, uint256 operatorCollateral) returns(bytes32 nodeId)

func (*RegistryTransactorSession) Fund

func (_Registry *RegistryTransactorSession) Fund(tokenId uint32, amount *big.Int) (*types.Transaction, error)

Fund is a paid mutator transaction binding the contract method 0x2db75d40.

Solidity: function fund(uint32 tokenId, uint256 amount) returns()

func (*RegistryTransactorSession) Register

func (_Registry *RegistryTransactorSession) Register(blsPubkeyG1 [2]*big.Int, blsPubkeyG2 [4]*big.Int, operatorCollateral *big.Int) (*types.Transaction, error)

Register is a paid mutator transaction binding the contract method 0x7fdd1867.

Solidity: function register(uint256[2] blsPubkeyG1, uint256[4] blsPubkeyG2, uint256 operatorCollateral) returns(uint32 tokenId, bytes32 nodeId)

func (*RegistryTransactorSession) Release

func (_Registry *RegistryTransactorSession) Release(tokenId uint32) (*types.Transaction, error)

Release is a paid mutator transaction binding the contract method 0xdda42b37.

Solidity: function release(uint32 tokenId) returns()

func (*RegistryTransactorSession) SetSlasher

func (_Registry *RegistryTransactorSession) SetSlasher(newSlasher common.Address) (*types.Transaction, error)

SetSlasher is a paid mutator transaction binding the contract method 0xaabc2496.

Solidity: function setSlasher(address newSlasher) returns()

func (*RegistryTransactorSession) Slash

func (_Registry *RegistryTransactorSession) Slash(nodeId [32]byte, amount *big.Int, recipient common.Address) (*types.Transaction, error)

Slash is a paid mutator transaction binding the contract method 0x158ece27.

Solidity: function slash(bytes32 nodeId, uint256 amount, address recipient) returns()

func (*RegistryTransactorSession) TransferOwnership

func (_Registry *RegistryTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*RegistryTransactorSession) Unlock

func (_Registry *RegistryTransactorSession) Unlock(tokenId uint32) (*types.Transaction, error)

Unlock is a paid mutator transaction binding the contract method 0x67d93c81.

Solidity: function unlock(uint32 tokenId) returns()

type RotationFinalizer

type RotationFinalizer struct {
	// contains filtered or unexported fields
}

RotationFinalizer rotates the Custody vault's signer set via updateSigners, authorized by the current (outgoing) k-of-n quorum. It is the rotation analogue of WithdrawalFinalizer and implements core.SignerRotationFinalizer. It owns the node's signer (signs the rotation digest and submits) and the vault address + chain id supplied at construction.

func NewRotationFinalizer

func NewRotationFinalizer(ctx context.Context, client *ethclient.Client, vaultAddr common.Address, signer sign.Signer, fees FeeConfig) (*RotationFinalizer, error)

NewRotationFinalizer binds the Custody vault at vaultAddr and reads the chain id from client. signer is this node's secp256k1 identity.

func (*RotationFinalizer) Pack

func (f *RotationFinalizer) Pack(ctx context.Context, _ [32]byte, newSigners []string, newThreshold int) ([]byte, error)

Pack reads the live signer nonce and returns the canonical JSON for rotating to newSigners / newThreshold (signers sorted ascending, as Custody requires). opID is ignored: EVM binds rotation replay to the on-chain Custody signerNonce, so the operation identity is not embedded in the payload.

func (*RotationFinalizer) Sign

func (f *RotationFinalizer) Sign(ctx context.Context, packed []byte) ([]byte, error)

Sign produces this node's 65-byte ECDSA signature (V ∈ {0,1}) over the rotation digest derived from the packed bytes.

func (*RotationFinalizer) Submit

func (f *RotationFinalizer) Submit(ctx context.Context, packed []byte, signatures [][]byte) (string, error)

Submit merges the collected signatures against the live (outgoing) signer set and broadcasts updateSigners. Idempotent: if the rotation already applied it returns the prior txID without re-submitting.

func (*RotationFinalizer) Validate

func (f *RotationFinalizer) Validate(ctx context.Context, _ [32]byte, packed []byte, newSigners []string, newThreshold int) error

Validate re-derives the rotation target from newSigners / newThreshold and asserts the packed payload matches, including a re-read of the live nonce to reject a packer that bound a stale or wrong signer nonce.

func (*RotationFinalizer) VerifyRotation

func (f *RotationFinalizer) VerifyRotation(ctx context.Context, newSigners []string, newThreshold int) (string, bool, error)

VerifyRotation reports whether the on-chain signer set now equals newSigners with the given threshold. When set, it resolves the SignersUpdated event's tx ID within the lookback window.

type Slasher

type Slasher struct {
	SlasherCaller     // Read-only binding to the contract
	SlasherTransactor // Write-only binding to the contract
	SlasherFilterer   // Log filterer for contract events
}

Slasher is an auto generated Go binding around an Ethereum contract.

func DeploySlasher

func DeploySlasher(auth *bind.TransactOpts, backend bind.ContractBackend, _registry common.Address) (common.Address, *types.Transaction, *Slasher, error)

DeploySlasher deploys a new Ethereum contract, binding an instance of Slasher to it.

func NewSlasher

func NewSlasher(address common.Address, backend bind.ContractBackend) (*Slasher, error)

NewSlasher creates a new instance of Slasher, bound to a specific deployed contract.

type SlasherCaller

type SlasherCaller struct {
	// contains filtered or unexported fields
}

SlasherCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewSlasherCaller

func NewSlasherCaller(address common.Address, caller bind.ContractCaller) (*SlasherCaller, error)

NewSlasherCaller creates a new read-only instance of Slasher, bound to a specific deployed contract.

func (*SlasherCaller) MINCLUSTERSIZE

func (_Slasher *SlasherCaller) MINCLUSTERSIZE(opts *bind.CallOpts) (*big.Int, error)

MINCLUSTERSIZE is a free data retrieval call binding the contract method 0x8ec1daee.

Solidity: function MIN_CLUSTER_SIZE() view returns(uint256)

func (*SlasherCaller) REGISTRY

func (_Slasher *SlasherCaller) REGISTRY(opts *bind.CallOpts) (common.Address, error)

REGISTRY is a free data retrieval call binding the contract method 0x06433b1b.

Solidity: function REGISTRY() view returns(address)

type SlasherCallerRaw

type SlasherCallerRaw struct {
	Contract *SlasherCaller // Generic read-only contract binding to access the raw methods on
}

SlasherCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*SlasherCallerRaw) Call

func (_Slasher *SlasherCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type SlasherCallerSession

type SlasherCallerSession struct {
	Contract *SlasherCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts  // Call options to use throughout this session
}

SlasherCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*SlasherCallerSession) MINCLUSTERSIZE

func (_Slasher *SlasherCallerSession) MINCLUSTERSIZE() (*big.Int, error)

MINCLUSTERSIZE is a free data retrieval call binding the contract method 0x8ec1daee.

Solidity: function MIN_CLUSTER_SIZE() view returns(uint256)

func (*SlasherCallerSession) REGISTRY

func (_Slasher *SlasherCallerSession) REGISTRY() (common.Address, error)

REGISTRY is a free data retrieval call binding the contract method 0x06433b1b.

Solidity: function REGISTRY() view returns(address)

type SlasherFilterer

type SlasherFilterer struct {
	// contains filtered or unexported fields
}

SlasherFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewSlasherFilterer

func NewSlasherFilterer(address common.Address, filterer bind.ContractFilterer) (*SlasherFilterer, error)

NewSlasherFilterer creates a new log filterer instance of Slasher, bound to a specific deployed contract.

func (*SlasherFilterer) FilterFraudEvidenceSubmitted

func (_Slasher *SlasherFilterer) FilterFraudEvidenceSubmitted(opts *bind.FilterOpts, blockHash [][32]byte, prover []common.Address) (*SlasherFraudEvidenceSubmittedIterator, error)

FilterFraudEvidenceSubmitted is a free log retrieval operation binding the contract event 0x852c66b7cb153328335457559e23c7ae13dbd71edc4c8d92830c24702b7bf356.

Solidity: event FraudEvidenceSubmitted(bytes32 indexed blockHash, address indexed prover, uint256 signersSlashed)

func (*SlasherFilterer) ParseFraudEvidenceSubmitted

func (_Slasher *SlasherFilterer) ParseFraudEvidenceSubmitted(log types.Log) (*SlasherFraudEvidenceSubmitted, error)

ParseFraudEvidenceSubmitted is a log parse operation binding the contract event 0x852c66b7cb153328335457559e23c7ae13dbd71edc4c8d92830c24702b7bf356.

Solidity: event FraudEvidenceSubmitted(bytes32 indexed blockHash, address indexed prover, uint256 signersSlashed)

func (*SlasherFilterer) WatchFraudEvidenceSubmitted

func (_Slasher *SlasherFilterer) WatchFraudEvidenceSubmitted(opts *bind.WatchOpts, sink chan<- *SlasherFraudEvidenceSubmitted, blockHash [][32]byte, prover []common.Address) (event.Subscription, error)

WatchFraudEvidenceSubmitted is a free log subscription operation binding the contract event 0x852c66b7cb153328335457559e23c7ae13dbd71edc4c8d92830c24702b7bf356.

Solidity: event FraudEvidenceSubmitted(bytes32 indexed blockHash, address indexed prover, uint256 signersSlashed)

type SlasherFraudEvidenceSubmitted

type SlasherFraudEvidenceSubmitted struct {
	BlockHash      [32]byte
	Prover         common.Address
	SignersSlashed *big.Int
	Raw            types.Log // Blockchain specific contextual infos
}

SlasherFraudEvidenceSubmitted represents a FraudEvidenceSubmitted event raised by the Slasher contract.

type SlasherFraudEvidenceSubmittedIterator

type SlasherFraudEvidenceSubmittedIterator struct {
	Event *SlasherFraudEvidenceSubmitted // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

SlasherFraudEvidenceSubmittedIterator is returned from FilterFraudEvidenceSubmitted and is used to iterate over the raw logs and unpacked data for FraudEvidenceSubmitted events raised by the Slasher contract.

func (*SlasherFraudEvidenceSubmittedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*SlasherFraudEvidenceSubmittedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*SlasherFraudEvidenceSubmittedIterator) Next

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.

type SlasherRaw

type SlasherRaw struct {
	Contract *Slasher // Generic contract binding to access the raw methods on
}

SlasherRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*SlasherRaw) Call

func (_Slasher *SlasherRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*SlasherRaw) Transact

func (_Slasher *SlasherRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*SlasherRaw) Transfer

func (_Slasher *SlasherRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type SlasherSession

type SlasherSession struct {
	Contract     *Slasher          // 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
}

SlasherSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*SlasherSession) MINCLUSTERSIZE

func (_Slasher *SlasherSession) MINCLUSTERSIZE() (*big.Int, error)

MINCLUSTERSIZE is a free data retrieval call binding the contract method 0x8ec1daee.

Solidity: function MIN_CLUSTER_SIZE() view returns(uint256)

func (*SlasherSession) REGISTRY

func (_Slasher *SlasherSession) REGISTRY() (common.Address, error)

REGISTRY is a free data retrieval call binding the contract method 0x06433b1b.

Solidity: function REGISTRY() view returns(address)

func (*SlasherSession) SubmitWithdrawalFraudEvidence

func (_Slasher *SlasherSession) SubmitWithdrawalFraudEvidence(challengedObject []byte, anchorHeader []byte, anchorSignature []byte, entryIndex uint64, smtProof [][32]byte, smtBitmask *big.Int, balanceKey [32]byte, provenBalance *big.Int) (*types.Transaction, error)

SubmitWithdrawalFraudEvidence is a paid mutator transaction binding the contract method 0x1cca1668.

Solidity: function submitWithdrawalFraudEvidence(bytes challengedObject, bytes anchorHeader, bytes anchorSignature, uint64 entryIndex, bytes32[] smtProof, uint256 smtBitmask, bytes32 balanceKey, uint256 provenBalance) returns()

type SlasherTransactor

type SlasherTransactor struct {
	// contains filtered or unexported fields
}

SlasherTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewSlasherTransactor

func NewSlasherTransactor(address common.Address, transactor bind.ContractTransactor) (*SlasherTransactor, error)

NewSlasherTransactor creates a new write-only instance of Slasher, bound to a specific deployed contract.

func (*SlasherTransactor) SubmitWithdrawalFraudEvidence

func (_Slasher *SlasherTransactor) SubmitWithdrawalFraudEvidence(opts *bind.TransactOpts, challengedObject []byte, anchorHeader []byte, anchorSignature []byte, entryIndex uint64, smtProof [][32]byte, smtBitmask *big.Int, balanceKey [32]byte, provenBalance *big.Int) (*types.Transaction, error)

SubmitWithdrawalFraudEvidence is a paid mutator transaction binding the contract method 0x1cca1668.

Solidity: function submitWithdrawalFraudEvidence(bytes challengedObject, bytes anchorHeader, bytes anchorSignature, uint64 entryIndex, bytes32[] smtProof, uint256 smtBitmask, bytes32 balanceKey, uint256 provenBalance) returns()

type SlasherTransactorRaw

type SlasherTransactorRaw struct {
	Contract *SlasherTransactor // Generic write-only contract binding to access the raw methods on
}

SlasherTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*SlasherTransactorRaw) Transact

func (_Slasher *SlasherTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*SlasherTransactorRaw) Transfer

func (_Slasher *SlasherTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type SlasherTransactorSession

type SlasherTransactorSession struct {
	Contract     *SlasherTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
}

SlasherTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*SlasherTransactorSession) SubmitWithdrawalFraudEvidence

func (_Slasher *SlasherTransactorSession) SubmitWithdrawalFraudEvidence(challengedObject []byte, anchorHeader []byte, anchorSignature []byte, entryIndex uint64, smtProof [][32]byte, smtBitmask *big.Int, balanceKey [32]byte, provenBalance *big.Int) (*types.Transaction, error)

SubmitWithdrawalFraudEvidence is a paid mutator transaction binding the contract method 0x1cca1668.

Solidity: function submitWithdrawalFraudEvidence(bytes challengedObject, bytes anchorHeader, bytes anchorSignature, uint64 entryIndex, bytes32[] smtProof, uint256 smtBitmask, bytes32 balanceKey, uint256 provenBalance) returns()

type TokenAdapter

type TokenAdapter struct {
	// contains filtered or unexported fields
}

TokenAdapter reads ERC-20 balances. It binds the token contract per call from the address passed to BalanceOf, so one adapter serves any token. It implements core.TokenReader.

func NewTokenAdapter

func NewTokenAdapter(client *ethclient.Client) *TokenAdapter

NewTokenAdapter creates a read-only token adapter over client.

func (*TokenAdapter) BalanceOf

func (a *TokenAdapter) BalanceOf(ctx context.Context, token string, account string) (*big.Int, error)

BalanceOf returns the ERC-20 balance of account (hex) for the token contract at token (hex).

type WithdrawalFinalizer

type WithdrawalFinalizer struct {
	// contains filtered or unexported fields
}

WithdrawalFinalizer turns an authorized withdrawal into a Custody.execute call. It owns the node's signer (used both to sign the k-of-n digest and to submit the tx) and the vault address + chain id supplied at construction. It implements core.VaultWithdrawalFinalizer.

func NewWithdrawalFinalizer

func NewWithdrawalFinalizer(ctx context.Context, client *ethclient.Client, vaultAddr common.Address, signer sign.Signer, fees FeeConfig, assets blockchain.AssetResolver) (*WithdrawalFinalizer, error)

NewWithdrawalFinalizer binds the Custody vault at vaultAddr and reads the chain id from client. signer is this node's secp256k1 identity.

func (*WithdrawalFinalizer) Pack

func (f *WithdrawalFinalizer) Pack(ctx context.Context, op *core.WithdrawalOp, withdrawalID [32]byte, deadline int64) ([]byte, error)

Pack returns the canonical JSON for the withdrawal. Pure — no chain access.

func (*WithdrawalFinalizer) Sign

func (f *WithdrawalFinalizer) Sign(ctx context.Context, packed []byte) ([]byte, error)

Sign produces this node's 65-byte ECDSA signature (V ∈ {0,1}) over the withdrawal digest derived from the packed bytes.

func (*WithdrawalFinalizer) Submit

func (f *WithdrawalFinalizer) Submit(ctx context.Context, packed []byte, signatures [][]byte) (string, error)

Submit merges the collected signatures into a contract-ready quorum and broadcasts it via Custody.execute, returning the txID. Idempotent: if the withdrawal is already executed it returns the prior txID without re-submitting.

func (*WithdrawalFinalizer) Validate

func (f *WithdrawalFinalizer) Validate(ctx context.Context, packed []byte, op *core.WithdrawalOp, withdrawalID [32]byte, deadline int64) error

Validate re-derives the canonical payload from the op and the caller-supplied deadline and asserts the packed bytes match it exactly — the defense against a Byzantine packer (a peer packing a longer-lived deadline than the quorum agreed is rejected here, before Sign).

func (*WithdrawalFinalizer) VerifyExecution

func (f *WithdrawalFinalizer) VerifyExecution(ctx context.Context, withdrawalID [32]byte) (string, bool, error)

VerifyExecution reads Custody.executed(id) and, when set, looks up the Executed event's txID within the lookback window.

type YellowToken

type YellowToken struct {
	YellowTokenCaller     // Read-only binding to the contract
	YellowTokenTransactor // Write-only binding to the contract
	YellowTokenFilterer   // Log filterer for contract events
}

YellowToken is an auto generated Go binding around an Ethereum contract.

func DeployYellowToken

func DeployYellowToken(auth *bind.TransactOpts, backend bind.ContractBackend, treasury common.Address) (common.Address, *types.Transaction, *YellowToken, error)

DeployYellowToken deploys a new Ethereum contract, binding an instance of YellowToken to it.

func NewYellowToken

func NewYellowToken(address common.Address, backend bind.ContractBackend) (*YellowToken, error)

NewYellowToken creates a new instance of YellowToken, bound to a specific deployed contract.

type YellowTokenApproval

type YellowTokenApproval struct {
	Owner   common.Address
	Spender common.Address
	Value   *big.Int
	Raw     types.Log // Blockchain specific contextual infos
}

YellowTokenApproval represents a Approval event raised by the YellowToken contract.

type YellowTokenApprovalIterator

type YellowTokenApprovalIterator struct {
	Event *YellowTokenApproval // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

YellowTokenApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the YellowToken contract.

func (*YellowTokenApprovalIterator) Close

func (it *YellowTokenApprovalIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*YellowTokenApprovalIterator) Error

func (it *YellowTokenApprovalIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*YellowTokenApprovalIterator) Next

func (it *YellowTokenApprovalIterator) Next() bool

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.

type YellowTokenCaller

type YellowTokenCaller struct {
	// contains filtered or unexported fields
}

YellowTokenCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewYellowTokenCaller

func NewYellowTokenCaller(address common.Address, caller bind.ContractCaller) (*YellowTokenCaller, error)

NewYellowTokenCaller creates a new read-only instance of YellowToken, bound to a specific deployed contract.

func (*YellowTokenCaller) Allowance

func (_YellowToken *YellowTokenCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*YellowTokenCaller) BalanceOf

func (_YellowToken *YellowTokenCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*YellowTokenCaller) DOMAINSEPARATOR

func (_YellowToken *YellowTokenCaller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error)

DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515.

Solidity: function DOMAIN_SEPARATOR() view returns(bytes32)

func (*YellowTokenCaller) Decimals

func (_YellowToken *YellowTokenCaller) Decimals(opts *bind.CallOpts) (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*YellowTokenCaller) Eip712Domain

func (_YellowToken *YellowTokenCaller) Eip712Domain(opts *bind.CallOpts) (struct {
	Fields            [1]byte
	Name              string
	Version           string
	ChainId           *big.Int
	VerifyingContract common.Address
	Salt              [32]byte
	Extensions        []*big.Int
}, error)

Eip712Domain is a free data retrieval call binding the contract method 0x84b0196e.

Solidity: function eip712Domain() view returns(bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)

func (*YellowTokenCaller) Name

func (_YellowToken *YellowTokenCaller) Name(opts *bind.CallOpts) (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*YellowTokenCaller) Nonces

func (_YellowToken *YellowTokenCaller) Nonces(opts *bind.CallOpts, owner common.Address) (*big.Int, error)

Nonces is a free data retrieval call binding the contract method 0x7ecebe00.

Solidity: function nonces(address owner) view returns(uint256)

func (*YellowTokenCaller) SUPPLYCAP

func (_YellowToken *YellowTokenCaller) SUPPLYCAP(opts *bind.CallOpts) (*big.Int, error)

SUPPLYCAP is a free data retrieval call binding the contract method 0x0cfccc83.

Solidity: function SUPPLY_CAP() view returns(uint256)

func (*YellowTokenCaller) Symbol

func (_YellowToken *YellowTokenCaller) Symbol(opts *bind.CallOpts) (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*YellowTokenCaller) TotalSupply

func (_YellowToken *YellowTokenCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type YellowTokenCallerRaw

type YellowTokenCallerRaw struct {
	Contract *YellowTokenCaller // Generic read-only contract binding to access the raw methods on
}

YellowTokenCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*YellowTokenCallerRaw) Call

func (_YellowToken *YellowTokenCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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.

type YellowTokenCallerSession

type YellowTokenCallerSession struct {
	Contract *YellowTokenCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts      // Call options to use throughout this session
}

YellowTokenCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*YellowTokenCallerSession) Allowance

func (_YellowToken *YellowTokenCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*YellowTokenCallerSession) BalanceOf

func (_YellowToken *YellowTokenCallerSession) BalanceOf(account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*YellowTokenCallerSession) DOMAINSEPARATOR

func (_YellowToken *YellowTokenCallerSession) DOMAINSEPARATOR() ([32]byte, error)

DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515.

Solidity: function DOMAIN_SEPARATOR() view returns(bytes32)

func (*YellowTokenCallerSession) Decimals

func (_YellowToken *YellowTokenCallerSession) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*YellowTokenCallerSession) Eip712Domain

func (_YellowToken *YellowTokenCallerSession) Eip712Domain() (struct {
	Fields            [1]byte
	Name              string
	Version           string
	ChainId           *big.Int
	VerifyingContract common.Address
	Salt              [32]byte
	Extensions        []*big.Int
}, error)

Eip712Domain is a free data retrieval call binding the contract method 0x84b0196e.

Solidity: function eip712Domain() view returns(bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)

func (*YellowTokenCallerSession) Name

func (_YellowToken *YellowTokenCallerSession) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*YellowTokenCallerSession) Nonces

func (_YellowToken *YellowTokenCallerSession) Nonces(owner common.Address) (*big.Int, error)

Nonces is a free data retrieval call binding the contract method 0x7ecebe00.

Solidity: function nonces(address owner) view returns(uint256)

func (*YellowTokenCallerSession) SUPPLYCAP

func (_YellowToken *YellowTokenCallerSession) SUPPLYCAP() (*big.Int, error)

SUPPLYCAP is a free data retrieval call binding the contract method 0x0cfccc83.

Solidity: function SUPPLY_CAP() view returns(uint256)

func (*YellowTokenCallerSession) Symbol

func (_YellowToken *YellowTokenCallerSession) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*YellowTokenCallerSession) TotalSupply

func (_YellowToken *YellowTokenCallerSession) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type YellowTokenEIP712DomainChanged

type YellowTokenEIP712DomainChanged struct {
	Raw types.Log // Blockchain specific contextual infos
}

YellowTokenEIP712DomainChanged represents a EIP712DomainChanged event raised by the YellowToken contract.

type YellowTokenEIP712DomainChangedIterator

type YellowTokenEIP712DomainChangedIterator struct {
	Event *YellowTokenEIP712DomainChanged // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

YellowTokenEIP712DomainChangedIterator is returned from FilterEIP712DomainChanged and is used to iterate over the raw logs and unpacked data for EIP712DomainChanged events raised by the YellowToken contract.

func (*YellowTokenEIP712DomainChangedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*YellowTokenEIP712DomainChangedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*YellowTokenEIP712DomainChangedIterator) Next

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.

type YellowTokenFilterer

type YellowTokenFilterer struct {
	// contains filtered or unexported fields
}

YellowTokenFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewYellowTokenFilterer

func NewYellowTokenFilterer(address common.Address, filterer bind.ContractFilterer) (*YellowTokenFilterer, error)

NewYellowTokenFilterer creates a new log filterer instance of YellowToken, bound to a specific deployed contract.

func (*YellowTokenFilterer) FilterApproval

func (_YellowToken *YellowTokenFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*YellowTokenApprovalIterator, error)

FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*YellowTokenFilterer) FilterEIP712DomainChanged

func (_YellowToken *YellowTokenFilterer) FilterEIP712DomainChanged(opts *bind.FilterOpts) (*YellowTokenEIP712DomainChangedIterator, error)

FilterEIP712DomainChanged is a free log retrieval operation binding the contract event 0x0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31.

Solidity: event EIP712DomainChanged()

func (*YellowTokenFilterer) FilterTransfer

func (_YellowToken *YellowTokenFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*YellowTokenTransferIterator, error)

FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*YellowTokenFilterer) ParseApproval

func (_YellowToken *YellowTokenFilterer) ParseApproval(log types.Log) (*YellowTokenApproval, error)

ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*YellowTokenFilterer) ParseEIP712DomainChanged

func (_YellowToken *YellowTokenFilterer) ParseEIP712DomainChanged(log types.Log) (*YellowTokenEIP712DomainChanged, error)

ParseEIP712DomainChanged is a log parse operation binding the contract event 0x0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31.

Solidity: event EIP712DomainChanged()

func (*YellowTokenFilterer) ParseTransfer

func (_YellowToken *YellowTokenFilterer) ParseTransfer(log types.Log) (*YellowTokenTransfer, error)

ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*YellowTokenFilterer) WatchApproval

func (_YellowToken *YellowTokenFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *YellowTokenApproval, owner []common.Address, spender []common.Address) (event.Subscription, error)

WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*YellowTokenFilterer) WatchEIP712DomainChanged

func (_YellowToken *YellowTokenFilterer) WatchEIP712DomainChanged(opts *bind.WatchOpts, sink chan<- *YellowTokenEIP712DomainChanged) (event.Subscription, error)

WatchEIP712DomainChanged is a free log subscription operation binding the contract event 0x0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31.

Solidity: event EIP712DomainChanged()

func (*YellowTokenFilterer) WatchTransfer

func (_YellowToken *YellowTokenFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *YellowTokenTransfer, from []common.Address, to []common.Address) (event.Subscription, error)

WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

type YellowTokenRaw

type YellowTokenRaw struct {
	Contract *YellowToken // Generic contract binding to access the raw methods on
}

YellowTokenRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*YellowTokenRaw) Call

func (_YellowToken *YellowTokenRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

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 (*YellowTokenRaw) Transact

func (_YellowToken *YellowTokenRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*YellowTokenRaw) Transfer

func (_YellowToken *YellowTokenRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type YellowTokenSession

type YellowTokenSession struct {
	Contract     *YellowToken      // 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
}

YellowTokenSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*YellowTokenSession) Allowance

func (_YellowToken *YellowTokenSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*YellowTokenSession) Approve

func (_YellowToken *YellowTokenSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*YellowTokenSession) BalanceOf

func (_YellowToken *YellowTokenSession) BalanceOf(account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*YellowTokenSession) DOMAINSEPARATOR

func (_YellowToken *YellowTokenSession) DOMAINSEPARATOR() ([32]byte, error)

DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515.

Solidity: function DOMAIN_SEPARATOR() view returns(bytes32)

func (*YellowTokenSession) Decimals

func (_YellowToken *YellowTokenSession) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*YellowTokenSession) Eip712Domain

func (_YellowToken *YellowTokenSession) Eip712Domain() (struct {
	Fields            [1]byte
	Name              string
	Version           string
	ChainId           *big.Int
	VerifyingContract common.Address
	Salt              [32]byte
	Extensions        []*big.Int
}, error)

Eip712Domain is a free data retrieval call binding the contract method 0x84b0196e.

Solidity: function eip712Domain() view returns(bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)

func (*YellowTokenSession) Name

func (_YellowToken *YellowTokenSession) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*YellowTokenSession) Nonces

func (_YellowToken *YellowTokenSession) Nonces(owner common.Address) (*big.Int, error)

Nonces is a free data retrieval call binding the contract method 0x7ecebe00.

Solidity: function nonces(address owner) view returns(uint256)

func (*YellowTokenSession) Permit

func (_YellowToken *YellowTokenSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error)

Permit is a paid mutator transaction binding the contract method 0xd505accf.

Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns()

func (*YellowTokenSession) SUPPLYCAP

func (_YellowToken *YellowTokenSession) SUPPLYCAP() (*big.Int, error)

SUPPLYCAP is a free data retrieval call binding the contract method 0x0cfccc83.

Solidity: function SUPPLY_CAP() view returns(uint256)

func (*YellowTokenSession) Symbol

func (_YellowToken *YellowTokenSession) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*YellowTokenSession) TotalSupply

func (_YellowToken *YellowTokenSession) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

func (*YellowTokenSession) Transfer

func (_YellowToken *YellowTokenSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*YellowTokenSession) TransferFrom

func (_YellowToken *YellowTokenSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type YellowTokenTransactor

type YellowTokenTransactor struct {
	// contains filtered or unexported fields
}

YellowTokenTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewYellowTokenTransactor

func NewYellowTokenTransactor(address common.Address, transactor bind.ContractTransactor) (*YellowTokenTransactor, error)

NewYellowTokenTransactor creates a new write-only instance of YellowToken, bound to a specific deployed contract.

func (*YellowTokenTransactor) Approve

func (_YellowToken *YellowTokenTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*YellowTokenTransactor) Permit

func (_YellowToken *YellowTokenTransactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error)

Permit is a paid mutator transaction binding the contract method 0xd505accf.

Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns()

func (*YellowTokenTransactor) Transfer

func (_YellowToken *YellowTokenTransactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*YellowTokenTransactor) TransferFrom

func (_YellowToken *YellowTokenTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type YellowTokenTransactorRaw

type YellowTokenTransactorRaw struct {
	Contract *YellowTokenTransactor // Generic write-only contract binding to access the raw methods on
}

YellowTokenTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*YellowTokenTransactorRaw) Transact

func (_YellowToken *YellowTokenTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*YellowTokenTransactorRaw) Transfer

func (_YellowToken *YellowTokenTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type YellowTokenTransactorSession

type YellowTokenTransactorSession struct {
	Contract     *YellowTokenTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts      // Transaction auth options to use throughout this session
}

YellowTokenTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*YellowTokenTransactorSession) Approve

func (_YellowToken *YellowTokenTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*YellowTokenTransactorSession) Permit

func (_YellowToken *YellowTokenTransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error)

Permit is a paid mutator transaction binding the contract method 0xd505accf.

Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns()

func (*YellowTokenTransactorSession) Transfer

func (_YellowToken *YellowTokenTransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*YellowTokenTransactorSession) TransferFrom

func (_YellowToken *YellowTokenTransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type YellowTokenTransfer

type YellowTokenTransfer struct {
	From  common.Address
	To    common.Address
	Value *big.Int
	Raw   types.Log // Blockchain specific contextual infos
}

YellowTokenTransfer represents a Transfer event raised by the YellowToken contract.

type YellowTokenTransferIterator

type YellowTokenTransferIterator struct {
	Event *YellowTokenTransfer // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

YellowTokenTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the YellowToken contract.

func (*YellowTokenTransferIterator) Close

func (it *YellowTokenTransferIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*YellowTokenTransferIterator) Error

func (it *YellowTokenTransferIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*YellowTokenTransferIterator) Next

func (it *YellowTokenTransferIterator) Next() bool

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.

Directories

Path Synopsis
Command abi_refresher regenerates the EVM contract bindings (the `pkg/blockchain/evm/*_abi.go` files) from the vendored ABI + bytecode files under `pkg/blockchain/evm/artifacts/`, using go-ethereum's abigen library directly — no bash, no jq, no external abigen binary, no forge build.
Command abi_refresher regenerates the EVM contract bindings (the `pkg/blockchain/evm/*_abi.go` files) from the vendored ABI + bytecode files under `pkg/blockchain/evm/artifacts/`, using go-ethereum's abigen library directly — no bash, no jq, no external abigen binary, no forge build.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL