Documentation ¶
Index ¶
- Constants
- Variables
- func CalculateSafeTxHash(safeAddress common.Address, txData SafeTransactionData, chainID *big.Int) (common.Hash, error)
- func CreateApproveCommand() *cobra.Command
- func CreateBalanceOfCommand() *cobra.Command
- func CreateCreatePoolCommand() *cobra.Command
- func CreateCurrentAmountInPoolCommand() *cobra.Command
- func CreateCurrentPositionsInPoolCommand() *cobra.Command
- func CreateErc1155TokentypeCommand() *cobra.Command
- func CreateErc20TokentypeCommand() *cobra.Command
- func CreateErc721TokentypeCommand() *cobra.Command
- func CreateGetApprovedCommand() *cobra.Command
- func CreateInitiateUnstakeCommand() *cobra.Command
- func CreateIsApprovedForAllCommand() *cobra.Command
- func CreateNameCommand() *cobra.Command
- func CreateNativetokentypeCommand() *cobra.Command
- func CreateOnErc1155ReceivedCommand() *cobra.Command
- func CreateOnErc721ReceivedCommand() *cobra.Command
- func CreateOwnerOfCommand() *cobra.Command
- func CreatePoolsCommand() *cobra.Command
- func CreatePositionMetadataAddressCommand() *cobra.Command
- func CreatePositionsCommand() *cobra.Command
- func CreateSafeProposal(client *ethclient.Client, key *keystore.Key, safeAddress common.Address, ...) error
- func CreateSafeTransferFrom0Command() *cobra.Command
- func CreateSafeTransferFromCommand() *cobra.Command
- func CreateSetApprovalForAllCommand() *cobra.Command
- func CreateStakeErc1155Command() *cobra.Command
- func CreateStakeErc20Command() *cobra.Command
- func CreateStakeErc721Command() *cobra.Command
- func CreateStakeNativeCommand() *cobra.Command
- func CreateStakerCommand() *cobra.Command
- func CreateStakerDeploymentCommand() *cobra.Command
- func CreateSupportsInterfaceCommand() *cobra.Command
- func CreateSymbolCommand() *cobra.Command
- func CreateTokenByIndexCommand() *cobra.Command
- func CreateTokenOfOwnerByIndexCommand() *cobra.Command
- func CreateTokenUriCommand() *cobra.Command
- func CreateTotalPoolsCommand() *cobra.Command
- func CreateTotalPositionsCommand() *cobra.Command
- func CreateTotalSupplyCommand() *cobra.Command
- func CreateTransferFromCommand() *cobra.Command
- func CreateTransferPoolAdministrationCommand() *cobra.Command
- func CreateUnstakeCommand() *cobra.Command
- func CreateUpdatePoolConfigurationCommand() *cobra.Command
- func DeployWithSafe(client *ethclient.Client, key *keystore.Key, safeAddress common.Address, ...) error
- func KeyFromFile(keystoreFile string, password string) (*keystore.Key, error)
- func NewChainContext(timeout uint) (context.Context, context.CancelFunc)
- func NewClient(rpcURL string) (*ethclient.Client, error)
- func PredictDeploymentAddressSafe(from common.Address, salt [32]byte, deployBytecode []byte) (common.Address, error)
- func SetCallParametersFromArgs(opts *bind.CallOpts, pending bool, fromAddress, blockNumber string)
- func SetTransactionParametersFromArgs(opts *bind.TransactOpts, ...)
- func UnlockKeystore(keystoreData []byte, password string) (*keystore.Key, error)
- type SafeOperationType
- type SafeTransactionData
- type Staker
- type StakerApproval
- type StakerApprovalForAll
- type StakerApprovalForAllIterator
- type StakerApprovalIterator
- type StakerCaller
- func (_Staker *StakerCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error)
- func (_Staker *StakerCaller) CurrentAmountInPool(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error)
- func (_Staker *StakerCaller) CurrentPositionsInPool(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error)
- func (_Staker *StakerCaller) ERC1155TOKENTYPE(opts *bind.CallOpts) (*big.Int, error)
- func (_Staker *StakerCaller) ERC20TOKENTYPE(opts *bind.CallOpts) (*big.Int, error)
- func (_Staker *StakerCaller) ERC721TOKENTYPE(opts *bind.CallOpts) (*big.Int, error)
- func (_Staker *StakerCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error)
- func (_Staker *StakerCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error)
- func (_Staker *StakerCaller) NATIVETOKENTYPE(opts *bind.CallOpts) (*big.Int, error)
- func (_Staker *StakerCaller) Name(opts *bind.CallOpts) (string, error)
- func (_Staker *StakerCaller) OnERC1155Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, ...) ([4]byte, error)
- func (_Staker *StakerCaller) OnERC721Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, ...) ([4]byte, error)
- func (_Staker *StakerCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error)
- func (_Staker *StakerCaller) Pools(opts *bind.CallOpts, arg0 *big.Int) (struct{ ... }, error)
- func (_Staker *StakerCaller) PositionMetadataAddress(opts *bind.CallOpts) (common.Address, error)
- func (_Staker *StakerCaller) Positions(opts *bind.CallOpts, arg0 *big.Int) (struct{ ... }, error)
- func (_Staker *StakerCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error)
- func (_Staker *StakerCaller) Symbol(opts *bind.CallOpts) (string, error)
- func (_Staker *StakerCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error)
- func (_Staker *StakerCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error)
- func (_Staker *StakerCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error)
- func (_Staker *StakerCaller) TotalPools(opts *bind.CallOpts) (*big.Int, error)
- func (_Staker *StakerCaller) TotalPositions(opts *bind.CallOpts) (*big.Int, error)
- func (_Staker *StakerCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error)
- type StakerCallerRaw
- type StakerCallerSession
- func (_Staker *StakerCallerSession) BalanceOf(owner common.Address) (*big.Int, error)
- func (_Staker *StakerCallerSession) CurrentAmountInPool(arg0 *big.Int) (*big.Int, error)
- func (_Staker *StakerCallerSession) CurrentPositionsInPool(arg0 *big.Int) (*big.Int, error)
- func (_Staker *StakerCallerSession) ERC1155TOKENTYPE() (*big.Int, error)
- func (_Staker *StakerCallerSession) ERC20TOKENTYPE() (*big.Int, error)
- func (_Staker *StakerCallerSession) ERC721TOKENTYPE() (*big.Int, error)
- func (_Staker *StakerCallerSession) GetApproved(tokenId *big.Int) (common.Address, error)
- func (_Staker *StakerCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error)
- func (_Staker *StakerCallerSession) NATIVETOKENTYPE() (*big.Int, error)
- func (_Staker *StakerCallerSession) Name() (string, error)
- func (_Staker *StakerCallerSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, ...) ([4]byte, error)
- func (_Staker *StakerCallerSession) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error)
- func (_Staker *StakerCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error)
- func (_Staker *StakerCallerSession) Pools(arg0 *big.Int) (struct{ ... }, error)
- func (_Staker *StakerCallerSession) PositionMetadataAddress() (common.Address, error)
- func (_Staker *StakerCallerSession) Positions(arg0 *big.Int) (struct{ ... }, error)
- func (_Staker *StakerCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error)
- func (_Staker *StakerCallerSession) Symbol() (string, error)
- func (_Staker *StakerCallerSession) TokenByIndex(index *big.Int) (*big.Int, error)
- func (_Staker *StakerCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error)
- func (_Staker *StakerCallerSession) TokenURI(tokenId *big.Int) (string, error)
- func (_Staker *StakerCallerSession) TotalPools() (*big.Int, error)
- func (_Staker *StakerCallerSession) TotalPositions() (*big.Int, error)
- func (_Staker *StakerCallerSession) TotalSupply() (*big.Int, error)
- type StakerFilterer
- func (_Staker *StakerFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, ...) (*StakerApprovalIterator, error)
- func (_Staker *StakerFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*StakerApprovalForAllIterator, error)
- func (_Staker *StakerFilterer) FilterStaked(opts *bind.FilterOpts, owner []common.Address, poolID []*big.Int) (*StakerStakedIterator, error)
- func (_Staker *StakerFilterer) FilterStakingPoolConfigured(opts *bind.FilterOpts, poolID []*big.Int, administrator []common.Address) (*StakerStakingPoolConfiguredIterator, error)
- func (_Staker *StakerFilterer) FilterStakingPoolCreated(opts *bind.FilterOpts, poolID []*big.Int, tokenType []*big.Int, ...) (*StakerStakingPoolCreatedIterator, error)
- func (_Staker *StakerFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, ...) (*StakerTransferIterator, error)
- func (_Staker *StakerFilterer) FilterUnstakeInitiated(opts *bind.FilterOpts, owner []common.Address) (*StakerUnstakeInitiatedIterator, error)
- func (_Staker *StakerFilterer) FilterUnstaked(opts *bind.FilterOpts, owner []common.Address, poolID []*big.Int) (*StakerUnstakedIterator, error)
- func (_Staker *StakerFilterer) ParseApproval(log types.Log) (*StakerApproval, error)
- func (_Staker *StakerFilterer) ParseApprovalForAll(log types.Log) (*StakerApprovalForAll, error)
- func (_Staker *StakerFilterer) ParseStaked(log types.Log) (*StakerStaked, error)
- func (_Staker *StakerFilterer) ParseStakingPoolConfigured(log types.Log) (*StakerStakingPoolConfigured, error)
- func (_Staker *StakerFilterer) ParseStakingPoolCreated(log types.Log) (*StakerStakingPoolCreated, error)
- func (_Staker *StakerFilterer) ParseTransfer(log types.Log) (*StakerTransfer, error)
- func (_Staker *StakerFilterer) ParseUnstakeInitiated(log types.Log) (*StakerUnstakeInitiated, error)
- func (_Staker *StakerFilterer) ParseUnstaked(log types.Log) (*StakerUnstaked, error)
- func (_Staker *StakerFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *StakerApproval, owner []common.Address, ...) (event.Subscription, error)
- func (_Staker *StakerFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *StakerApprovalForAll, ...) (event.Subscription, error)
- func (_Staker *StakerFilterer) WatchStaked(opts *bind.WatchOpts, sink chan<- *StakerStaked, owner []common.Address, ...) (event.Subscription, error)
- func (_Staker *StakerFilterer) WatchStakingPoolConfigured(opts *bind.WatchOpts, sink chan<- *StakerStakingPoolConfigured, ...) (event.Subscription, error)
- func (_Staker *StakerFilterer) WatchStakingPoolCreated(opts *bind.WatchOpts, sink chan<- *StakerStakingPoolCreated, poolID []*big.Int, ...) (event.Subscription, error)
- func (_Staker *StakerFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *StakerTransfer, from []common.Address, ...) (event.Subscription, error)
- func (_Staker *StakerFilterer) WatchUnstakeInitiated(opts *bind.WatchOpts, sink chan<- *StakerUnstakeInitiated, ...) (event.Subscription, error)
- func (_Staker *StakerFilterer) WatchUnstaked(opts *bind.WatchOpts, sink chan<- *StakerUnstaked, owner []common.Address, ...) (event.Subscription, error)
- type StakerRaw
- func (_Staker *StakerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, ...) error
- func (_Staker *StakerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
- func (_Staker *StakerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
- type StakerSession
- func (_Staker *StakerSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) BalanceOf(owner common.Address) (*big.Int, error)
- func (_Staker *StakerSession) CreatePool(tokenType *big.Int, tokenAddress common.Address, tokenID *big.Int, ...) (*types.Transaction, error)
- func (_Staker *StakerSession) CurrentAmountInPool(arg0 *big.Int) (*big.Int, error)
- func (_Staker *StakerSession) CurrentPositionsInPool(arg0 *big.Int) (*big.Int, error)
- func (_Staker *StakerSession) ERC1155TOKENTYPE() (*big.Int, error)
- func (_Staker *StakerSession) ERC20TOKENTYPE() (*big.Int, error)
- func (_Staker *StakerSession) ERC721TOKENTYPE() (*big.Int, error)
- func (_Staker *StakerSession) GetApproved(tokenId *big.Int) (common.Address, error)
- func (_Staker *StakerSession) InitiateUnstake(positionTokenID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error)
- func (_Staker *StakerSession) NATIVETOKENTYPE() (*big.Int, error)
- func (_Staker *StakerSession) Name() (string, error)
- func (_Staker *StakerSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, ...) ([4]byte, error)
- func (_Staker *StakerSession) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error)
- func (_Staker *StakerSession) OwnerOf(tokenId *big.Int) (common.Address, error)
- func (_Staker *StakerSession) Pools(arg0 *big.Int) (struct{ ... }, error)
- func (_Staker *StakerSession) PositionMetadataAddress() (common.Address, error)
- func (_Staker *StakerSession) Positions(arg0 *big.Int) (struct{ ... }, error)
- func (_Staker *StakerSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error)
- func (_Staker *StakerSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error)
- func (_Staker *StakerSession) StakeERC1155(positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) StakeERC20(positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) StakeERC721(positionHolder common.Address, poolID *big.Int, tokenID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) StakeNative(positionHolder common.Address, poolID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) SupportsInterface(interfaceId [4]byte) (bool, error)
- func (_Staker *StakerSession) Symbol() (string, error)
- func (_Staker *StakerSession) TokenByIndex(index *big.Int) (*big.Int, error)
- func (_Staker *StakerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error)
- func (_Staker *StakerSession) TokenURI(tokenId *big.Int) (string, error)
- func (_Staker *StakerSession) TotalPools() (*big.Int, error)
- func (_Staker *StakerSession) TotalPositions() (*big.Int, error)
- func (_Staker *StakerSession) TotalSupply() (*big.Int, error)
- func (_Staker *StakerSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) TransferPoolAdministration(poolID *big.Int, newAdministrator common.Address) (*types.Transaction, error)
- func (_Staker *StakerSession) Unstake(positionTokenID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerSession) UpdatePoolConfiguration(poolID *big.Int, changeTransferability bool, transferable bool, ...) (*types.Transaction, error)
- type StakerStaked
- type StakerStakedIterator
- type StakerStakingPoolConfigured
- type StakerStakingPoolConfiguredIterator
- type StakerStakingPoolCreated
- type StakerStakingPoolCreatedIterator
- type StakerTransactor
- func (_Staker *StakerTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactor) CreatePool(opts *bind.TransactOpts, tokenType *big.Int, tokenAddress common.Address, ...) (*types.Transaction, error)
- func (_Staker *StakerTransactor) InitiateUnstake(opts *bind.TransactOpts, positionTokenID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ...) (*types.Transaction, error)
- func (_Staker *StakerTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, ...) (*types.Transaction, error)
- func (_Staker *StakerTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error)
- func (_Staker *StakerTransactor) StakeERC1155(opts *bind.TransactOpts, positionHolder common.Address, poolID *big.Int, ...) (*types.Transaction, error)
- func (_Staker *StakerTransactor) StakeERC20(opts *bind.TransactOpts, positionHolder common.Address, poolID *big.Int, ...) (*types.Transaction, error)
- func (_Staker *StakerTransactor) StakeERC721(opts *bind.TransactOpts, positionHolder common.Address, poolID *big.Int, ...) (*types.Transaction, error)
- func (_Staker *StakerTransactor) StakeNative(opts *bind.TransactOpts, positionHolder common.Address, poolID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ...) (*types.Transaction, error)
- func (_Staker *StakerTransactor) TransferPoolAdministration(opts *bind.TransactOpts, poolID *big.Int, newAdministrator common.Address) (*types.Transaction, error)
- func (_Staker *StakerTransactor) Unstake(opts *bind.TransactOpts, positionTokenID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactor) UpdatePoolConfiguration(opts *bind.TransactOpts, poolID *big.Int, changeTransferability bool, ...) (*types.Transaction, error)
- type StakerTransactorRaw
- type StakerTransactorSession
- func (_Staker *StakerTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) CreatePool(tokenType *big.Int, tokenAddress common.Address, tokenID *big.Int, ...) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) InitiateUnstake(positionTokenID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) StakeERC1155(positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) StakeERC20(positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) StakeERC721(positionHolder common.Address, poolID *big.Int, tokenID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) StakeNative(positionHolder common.Address, poolID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) TransferPoolAdministration(poolID *big.Int, newAdministrator common.Address) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) Unstake(positionTokenID *big.Int) (*types.Transaction, error)
- func (_Staker *StakerTransactorSession) UpdatePoolConfiguration(poolID *big.Int, changeTransferability bool, transferable bool, ...) (*types.Transaction, error)
- type StakerTransfer
- type StakerTransferIterator
- type StakerUnstakeInitiated
- type StakerUnstakeInitiatedIterator
- type StakerUnstaked
- type StakerUnstakedIterator
Constants ¶
const (
NativeTokenAddress = "0x0000000000000000000000000000000000000000"
)
Variables ¶
var ErrNoRPCURL error = errors.New("no RPC URL provided -- please pass an RPC URL from the command line or set the STAKER_RPC_URL environment variable")
var StakerABI = StakerMetaData.ABI
StakerABI is the input ABI used to generate the binding from. Deprecated: Use StakerMetaData.ABI instead.
var StakerBin = StakerMetaData.Bin
StakerBin is the compiled bytecode used for deploying new contracts. Deprecated: Use StakerMetaData.Bin instead.
var StakerMetaData = &bind.MetaData{
ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"positionMetadata\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AddressInsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"poolTokenType\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenTypeArg\",\"type\":\"uint256\"}],\"name\":\"IncorrectTokenType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cooldownSeconds\",\"type\":\"uint256\"}],\"name\":\"InitiateUnstakeFirst\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidConfiguration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTokenType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiresAt\",\"type\":\"uint256\"}],\"name\":\"LockupNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MetadataError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonAdministrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NothingToStake\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"}],\"name\":\"PositionNotTransferable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"UnauthorizedForPosition\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOrTokenID\",\"type\":\"uint256\"}],\"name\":\"Staked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"administrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lockupSeconds\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"cooldownSeconds\",\"type\":\"uint256\"}],\"name\":\"StakingPoolConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenType\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"StakingPoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"UnstakeInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOrTokenID\",\"type\":\"uint256\"}],\"name\":\"Unstaked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"CurrentAmountInPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"CurrentPositionsInPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ERC1155_TOKEN_TYPE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ERC20_TOKEN_TYPE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ERC721_TOKEN_TYPE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE_TOKEN_TYPE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Pools\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"administrator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenType\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"lockupSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cooldownSeconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Positions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOrTokenID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeInitiatedAt\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TotalPools\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TotalPositions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenType\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"lockupSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cooldownSeconds\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"administrator\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"}],\"name\":\"initiateUnstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"positionMetadataAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"positionHolder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stakeERC1155\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"positionHolder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stakeERC20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"positionHolder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"stakeERC721\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"positionHolder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"}],\"name\":\"stakeNative\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newAdministrator\",\"type\":\"address\"}],\"name\":\"transferPoolAdministration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTokenID\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolID\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"changeTransferability\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"changeLockup\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"lockupSeconds\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"changeCooldown\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"cooldownSeconds\",\"type\":\"uint256\"}],\"name\":\"updatePoolConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
Bin: "0x60a06040523480156200001157600080fd5b5060405162003d2638038062003d268339810160408190526200003491620000b4565b6040518060400160405280600c81526020016b23b0b6b29b9029ba30b5b2b960a11b81525060405180604001604052806008815260200167239ba9aa20a5a2a960c11b81525081600090816200008b91906200018d565b5060016200009a82826200018d565b50506001600a55506001600160a01b031660805262000259565b600060208284031215620000c757600080fd5b81516001600160a01b0381168114620000df57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200011157607f821691505b6020821081036200013257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000188576000816000526020600020601f850160051c81016020861015620001635750805b601f850160051c820191505b8181101562000184578281556001016200016f565b5050505b505050565b81516001600160401b03811115620001a957620001a9620000e6565b620001c181620001ba8454620000fc565b8462000138565b602080601f831160018114620001f95760008415620001e05750858301515b600019600386901b1c1916600185901b17855562000184565b600085815260208120601f198616915b828110156200022a5788860151825594840194600190910190840162000209565b5085821015620002495787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051613aaa6200027c600039600081816108080152611c770152613aaa6000f3fe6080604052600436106102845760003560e01c806373dfccca11610153578063b0fe4a7e116100cb578063d693595d1161007f578063e985e9c511610064578063e985e9c51461084a578063f09e76a1146108a0578063f23a6e61146108b657600080fd5b8063d693595d146107f6578063df44bf761461082a57600080fd5b8063b88d4fde116100b0578063b88d4fde146107a1578063c87b56dd146107c1578063d2ba4409146107e157600080fd5b8063b0fe4a7e14610754578063b29087da1461077457600080fd5b806395d89b4111610122578063a22cb46511610107578063a22cb465146106fe578063abd4ce781461071e578063ae5ac9211461073457600080fd5b806395d89b41146106d6578063a1ed8fef146106eb57600080fd5b806373dfccca146105aa57806377bd2e781461067457806381c822e6146106895780638d4a9e85146106b657600080fd5b80632f745c59116102015780634f6ccce7116101b55780636352211e1161019a5780636352211e1461050857806370a082311461052857806373caf0f71461054857600080fd5b80634f6ccce7146104c8578063621519c0146104e857600080fd5b80633db26319116101e65780633db2631914610472578063424b93111461049257806342842e0e146104a857600080fd5b80632f745c591461043c5780633ab0f1c11461045c57600080fd5b8063095ea7b31161025857806318160ddd1161023d57806318160ddd146103dd57806323b872dd146103fc5780632e17de781461041c57600080fd5b8063095ea7b314610347578063150b7a021461036757600080fd5b80627d0cec1461028957806301ffc9a7146102ab57806306fdde03146102e0578063081812fc14610302575b600080fd5b34801561029557600080fd5b506102a96102a4366004613220565b6108fc565b005b3480156102b757600080fd5b506102cb6102c63660046132c9565b610a27565b60405190151581526020015b60405180910390f35b3480156102ec57600080fd5b506102f5610a83565b6040516102d79190613354565b34801561030e57600080fd5b5061032261031d366004613367565b610b15565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102d7565b34801561035357600080fd5b506102a96103623660046133a9565b610b4b565b34801561037357600080fd5b506103ac61038236600461341c565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016102d7565b3480156103e957600080fd5b506008545b6040519081526020016102d7565b34801561040857600080fd5b506102a961041736600461348b565b610b5a565b34801561042857600080fd5b506102a9610437366004613367565b610bcf565b34801561044857600080fd5b506103ee6104573660046133a9565b611069565b34801561046857600080fd5b506103ee600c5481565b34801561047e57600080fd5b506102a961048d3660046134c7565b611101565b34801561049e57600080fd5b506103ee600b5481565b3480156104b457600080fd5b506102a96104c336600461348b565b6111fc565b3480156104d457600080fd5b506103ee6104e3366004613367565b61121c565b3480156104f457600080fd5b506103ee6105033660046134f3565b61128e565b34801561051457600080fd5b50610322610523366004613367565b61149c565b34801561053457600080fd5b506103ee610543366004613526565b6114a7565b34801561055457600080fd5b5061058a610563366004613367565b60106020526000908152604090208054600182015460028301546003909301549192909184565b6040805194855260208501939093529183015260608201526080016102d7565b3480156105b657600080fd5b5061061f6105c5366004613367565b600f60205260009081526040902080546001820154600283015460038401546004850154600586015460069096015473ffffffffffffffffffffffffffffffffffffffff95861696949590931693919260ff909116919087565b6040805173ffffffffffffffffffffffffffffffffffffffff98891681526020810197909752949096169385019390935260608401919091521515608083015260a082015260c081019190915260e0016102d7565b34801561068057600080fd5b506103ee600181565b34801561069557600080fd5b506103ee6106a4366004613367565b600d6020526000908152604090205481565b3480156106c257600080fd5b506103ee6106d13660046134f3565b611522565b3480156106e257600080fd5b506102f561169d565b6103ee6106f93660046133a9565b6116ac565b34801561070a57600080fd5b506102a9610719366004613541565b61185c565b34801561072a57600080fd5b506103ee61048381565b34801561074057600080fd5b506102a961074f366004613367565b611867565b34801561076057600080fd5b506103ee61076f3660046134f3565b6119c7565b34801561078057600080fd5b506103ee61078f366004613367565b600e6020526000908152604090205481565b3480156107ad57600080fd5b506102a96107bc36600461363c565b611b93565b3480156107cd57600080fd5b506102f56107dc366004613367565b611bb0565b3480156107ed57600080fd5b506103ee601481565b34801561080257600080fd5b506103227f000000000000000000000000000000000000000000000000000000000000000081565b34801561083657600080fd5b506102a96108453660046136e7565b611db7565b34801561085657600080fd5b506102cb610865366004613753565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156108ac57600080fd5b506103ee6102d181565b3480156108c257600080fd5b506103ac6108d136600461377d565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6000878152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff16331461095a576040517f29f9fc8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b861561098f576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555b841561099d57600581018490555b82156109ab57600681018290555b80546004820154600583015460068401546040805160ff9094161515845260208401929092529082015273ffffffffffffffffffffffffffffffffffffffff9091169089907f8587d3b7f5e8e73d0f5be513ce84b6c7c9497e221295d831f57ba7ecc36589b59060600160405180910390a35050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d63000000000000000000000000000000000000000000000000000000001480610a7d5750610a7d82612113565b92915050565b606060008054610a92906137f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610abe906137f5565b8015610b0b5780601f10610ae057610100808354040283529160200191610b0b565b820191906000526020600020905b815481529060010190602001808311610aee57829003601f168201915b5050505050905090565b6000610b20826121f6565b5060008281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16610a7d565b610b56828233612255565b5050565b600081815260106020908152604080832080548452600f909252909120600481015460ff16610bbd576040517f2ed602a6000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b610bc8858585612262565b5050505050565b610bd761234d565b600081815260106020908152604080832080548452600f90925282209091610bfe8461149c565b905073ffffffffffffffffffffffffffffffffffffffff81163314801590610c3d5750815473ffffffffffffffffffffffffffffffffffffffff163314155b15610c92576040517f5a4c507400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152336024820152604401610bb4565b600682015415610d035760038301541580610cbf575081600601548360030154610cbc9190613877565b42105b15610cfe5781600601546040517f2098e24d000000000000000000000000000000000000000000000000000000008152600401610bb491815260200190565b610d67565b81600501548360020154610d179190613877565b421015610d675781600501548360020154610d329190613877565b6040517f9dc1207c000000000000000000000000000000000000000000000000000000008152600401610bb491815260200190565b6102d1826001015403610d9a5782546000908152600d60205260408120805491610d908361388a565b9190505550610dc5565b600183015483546000908152600d602052604081208054909190610dbf9084906138bf565b90915550505b82546000908152600e60205260408120805491610de18361388a565b909155505060018301548354604080518781526020810184905273ffffffffffffffffffffffffffffffffffffffff8516917fffdaf13b1d96bfc2213355f353f84c19493e0681eb0df26f83d862acd266750a910160405180910390a36000858152601060205260408120818155600181018290556002810182905560030155610e6a85612390565b6001836001015403610ebf5760405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f19350505050158015610eb9573d6000803e3d6000fd5b50611058565b6014836001015403610ef6576002830154610ef19073ffffffffffffffffffffffffffffffffffffffff1683836123f1565b611058565b6102d1836001015403610f9c5760028301546040517f42842e0e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff848116602483015260448201849052909116906342842e0e90606401600060405180830381600087803b158015610f7f57600080fd5b505af1158015610f93573d6000803e3d6000fd5b50505050611058565b61048383600101540361105857600283015460038401546040517ff242432a00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015260448201929092526064810184905260a06084820152600060a482015291169063f242432a9060c401600060405180830381600087803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b505050505b505050506110666001600a55565b50565b6000611074836114a7565b82106110cb576040517fa57d13dc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610bb4565b5073ffffffffffffffffffffffffffffffffffffffff919091166000908152600660209081526040808320938352929052205490565b6000828152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff16331461115f576040517f29f9fc8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782556004820154600583015460068401546040805160ff9094161515845260208401929092529082015284907f8587d3b7f5e8e73d0f5be513ce84b6c7c9497e221295d831f57ba7ecc36589b5906060015b60405180910390a3505050565b61121783838360405180602001604052806000815250611b93565b505050565b600061122760085490565b8210611269576040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526000600482015260248101839052604401610bb4565b6008828154811061127c5761127c6138d2565b90600052602060002001549050919050565b600061129861234d565b6000838152600f6020526040902060018101546102d1146112fd5760018101546040517f323b95bb0000000000000000000000000000000000000000000000000000000081526004810186905260248101919091526102d16044820152606401610bb4565b600c805490600061130d83613901565b9091555060408051608081018252868152602080820187815242838501908152600060608501818152878252601085528682209551865592516001860155905160028501559051600390930192909255878252600d905290812080549294509061137683613901565b90915550506000848152600e6020526040812080549161139583613901565b909155505060028101546040517f42842e0e0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810185905273ffffffffffffffffffffffffffffffffffffffff909116906342842e0e906064015b600060405180830381600087803b15801561141557600080fd5b505af1158015611429573d6000803e3d6000fd5b505050506114378583612472565b6040805183815260208101859052859173ffffffffffffffffffffffffffffffffffffffff8816917f17700ceb1658b18206f427c1578048e87504106b14ec69e9b4586d9a95174a32910160405180910390a3506114956001600a55565b9392505050565b6000610a7d826121f6565b600073ffffffffffffffffffffffffffffffffffffffff82166114f9576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610bb4565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b600061152c61234d565b6000838152600f60205260409020600181015460141461158f5760018101546040517f323b95bb00000000000000000000000000000000000000000000000000000000815260048101869052602481019190915260146044820152606401610bb4565b826000036115c9576040517fd23fa2a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c80549060006115d983613901565b9091555060408051608081018252868152602080820187815242838501908152600060608501818152878252601085528682209551865592516001860155905160028501559051600390930192909255878252600d905290812080549294508592909190611648908490613877565b90915550506000848152600e6020526040812080549161166783613901565b909155505060028101546116939073ffffffffffffffffffffffffffffffffffffffff16333086612523565b6114378583612472565b606060018054610a92906137f5565b60006116b661234d565b6000828152600f602052604090206001808201541461171a576001818101546040517f323b95bb0000000000000000000000000000000000000000000000000000000081526004810186905260248101919091526044810191909152606401610bb4565b34600003611754576040517fd23fa2a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c805490600061176483613901565b909155506040805160808101825285815234602080830182815242848601908152600060608601818152888252601085528782209651875592516001870155905160028601559051600390940193909355878352600d9052918120805493955091926117d1908490613877565b90915550506000838152600e602052604081208054916117f083613901565b91905055506117ff8483612472565b60408051838152346020820152849173ffffffffffffffffffffffffffffffffffffffff8716917f17700ceb1658b18206f427c1578048e87504106b14ec69e9b4586d9a95174a32910160405180910390a350610a7d6001600a55565b610b56338383612569565b61186f61234d565b600061187a8261149c565b600083815260106020908152604080832080548452600f9092529091209192509073ffffffffffffffffffffffffffffffffffffffff831633148015906118d85750805473ffffffffffffffffffffffffffffffffffffffff163314155b1561192d576040517f5a4c507400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152336024820152604401610bb4565b806005015482600201546119419190613877565b42101561195c5780600501548260020154610d329190613877565b81600301546000036119ba5742600383015560405184815273ffffffffffffffffffffffffffffffffffffffff8416907fb88af44ff67f15b82bc60b5ecd6ac0f0c27da279a6c21b7d200174756ea5c5e49060200160405180910390a25b5050506110666001600a55565b60006119d161234d565b6000838152600f60205260409020600181015461048314611a365760018101546040517f323b95bb0000000000000000000000000000000000000000000000000000000081526004810186905260248101919091526104836044820152606401610bb4565b82600003611a70576040517fd23fa2a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c8054906000611a8083613901565b9091555060408051608081018252868152602080820187815242838501908152600060608501818152878252601085528682209551865592516001860155905160028501559051600390930192909255878252600d905290812080549294508592909190611aef908490613877565b90915550506000848152600e60205260408120805491611b0e83613901565b9091555050600281015460038201546040517ff242432a00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101919091526064810185905260a06084820152600060a482015273ffffffffffffffffffffffffffffffffffffffff9091169063f242432a9060c4016113fb565b611b9e848484610b5a565b611baa8484848461265e565b50505050565b6060611bbb826121f6565b5060008281526010602090815260408083208054808552600f90935281842091516024810187905260448101939093526001808201546064850152600280830154608486015260038084015460a4870152845473ffffffffffffffffffffffffffffffffffffffff90811660c48801529285015460e4870152908401548216610104860152830154610124850152600483015460ff161515610144850152600583015461016485015260068301546101848501529093919282917f000000000000000000000000000000000000000000000000000000000000000016906101a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7b2f34ff0000000000000000000000000000000000000000000000000000000017905251611d1d9190613939565b600060405180830381855afa9150503d8060008114611d58576040519150601f19603f3d011682016040523d82523d6000602084013e611d5d565b606091505b509150915081611d99576040517f0e8d7e7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80806020019051810190611dad9190613955565b9695505050505050565b60018703611e1e5773ffffffffffffffffffffffffffffffffffffffff8616151580611de257508415155b15611e19576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f63565b60148703611e7c5773ffffffffffffffffffffffffffffffffffffffff86161580611de257508415611e19576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102d18703611edb5773ffffffffffffffffffffffffffffffffffffffff86161580611de257508415611e19576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104838703611f315773ffffffffffffffffffffffffffffffffffffffff8616611e19576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fa1e9dd9d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160e08101825273ffffffffffffffffffffffffffffffffffffffff838116825260208083018b81528a8316848601818152606086018c81528b15156080880190815260a088018c815260c089018c8152600b80546000908152600f8a528c90209a518b547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116918c16919091178c55975160018c0155945160028b01805490981699169890981790955590516003880155516004870180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790559151600586015592516006909401939093559154925188815290928a9290917f36b06296d9441695787e7cbfc0b9cfc5deeeabec4406a3a90d30a222103c2dc8910160405180910390a4600b546040805186151581526020810186905290810184905273ffffffffffffffffffffffffffffffffffffffff831691907f8587d3b7f5e8e73d0f5be513ce84b6c7c9497e221295d831f57ba7ecc36589b59060600160405180910390a3600b805490600061210583613901565b919050555050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806121a657507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b80610a7d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610a7d565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a7d576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610bb4565b611217838383600161284e565b73ffffffffffffffffffffffffffffffffffffffff82166122b2576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260006004820152602401610bb4565b60006122bf838333612a19565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611baa576040517f64283d7b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80861660048301526024820184905282166044820152606401610bb4565b6002600a5403612389576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600a55565b600061239f6000836000612a19565b905073ffffffffffffffffffffffffffffffffffffffff8116610b56576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610bb4565b60405173ffffffffffffffffffffffffffffffffffffffff83811660248301526044820183905261121791859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612b3c565b73ffffffffffffffffffffffffffffffffffffffff82166124c2576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260006004820152602401610bb4565b60006124d083836000612a19565b905073ffffffffffffffffffffffffffffffffffffffff811615611217576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610bb4565b60405173ffffffffffffffffffffffffffffffffffffffff8481166024830152838116604483015260648201839052611baa9186918216906323b872dd9060840161242b565b73ffffffffffffffffffffffffffffffffffffffff82166125ce576040517f5b08ba1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610bb4565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191016111ef565b73ffffffffffffffffffffffffffffffffffffffff83163b15611baa576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906126d39033908890879087906004016139cc565b6020604051808303816000875af192505050801561272c575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261272991810190613a0b565b60015b6127bb573d80801561275a576040519150601f19603f3d011682016040523d82523d6000602084013e61275f565b606091505b5080516000036127b3576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610bb4565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610bc8576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610bb4565b808061286f575073ffffffffffffffffffffffffffffffffffffffff821615155b156129c457600061287f846121f6565b905073ffffffffffffffffffffffffffffffffffffffff8316158015906128d257508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015612911575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209387168352929052205460ff16155b15612960576040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610bb4565b81156129c257838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080612a27858585612bd2565b905073ffffffffffffffffffffffffffffffffffffffff8116612a9157612a8c84600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612ace565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612ace57612ace8185612d4f565b73ffffffffffffffffffffffffffffffffffffffff8516612af757612af284612dfa565b612b34565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612b3457612b348585612ea9565b949350505050565b6000612b5e73ffffffffffffffffffffffffffffffffffffffff841683612f06565b90508051600014158015612b83575080806020019051810190612b819190613a28565b155b15611217576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610bb4565b60008281526002602052604081205473ffffffffffffffffffffffffffffffffffffffff90811690831615612c0c57612c0c818486612f14565b73ffffffffffffffffffffffffffffffffffffffff811615612c8257612c3660008560008061284e565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b73ffffffffffffffffffffffffffffffffffffffff851615612ccb5773ffffffffffffffffffffffffffffffffffffffff85166000908152600360205260409020805460010190555b60008481526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6000612d5a836114a7565b600083815260076020526040902054909150808214612dba5773ffffffffffffffffffffffffffffffffffffffff841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b50600091825260076020908152604080842084905573ffffffffffffffffffffffffffffffffffffffff9094168352600681528383209183525290812055565b600854600090612e0c906001906138bf565b60008381526009602052604081205460088054939450909284908110612e3457612e346138d2565b906000526020600020015490508060088381548110612e5557612e556138d2565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480612e8d57612e8d613a45565b6001900381819060005260206000200160009055905550505050565b60006001612eb6846114a7565b612ec091906138bf565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b606061149583836000612fc4565b612f1f83838361307d565b6112175773ffffffffffffffffffffffffffffffffffffffff8316612f73576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610bb4565b6040517f177e802f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260248101829052604401610bb4565b606081471015613002576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610bb4565b6000808573ffffffffffffffffffffffffffffffffffffffff16848660405161302b9190613939565b60006040518083038185875af1925050503d8060008114613068576040519150601f19603f3d011682016040523d82523d6000602084013e61306d565b606091505b5091509150611dad868383613141565b600073ffffffffffffffffffffffffffffffffffffffff831615801590612b3457508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061310b575073ffffffffffffffffffffffffffffffffffffffff80851660009081526005602090815260408083209387168352929052205460ff165b80612b3457505060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff908116911614919050565b60608261315657613151826131d0565b611495565b815115801561317a575073ffffffffffffffffffffffffffffffffffffffff84163b155b156131c9576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610bb4565b5080611495565b8051156131e05780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b801515811461106657600080fd5b600080600080600080600060e0888a03121561323b57600080fd5b87359650602088013561324d81613212565b9550604088013561325d81613212565b9450606088013561326d81613212565b93506080880135925060a088013561328481613212565b8092505060c0880135905092959891949750929550565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461106657600080fd5b6000602082840312156132db57600080fd5b81356114958161329b565b60005b838110156133015781810151838201526020016132e9565b50506000910152565b600081518084526133228160208601602086016132e6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611495602083018461330a565b60006020828403121561337957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146133a457600080fd5b919050565b600080604083850312156133bc57600080fd5b6133c583613380565b946020939093013593505050565b60008083601f8401126133e557600080fd5b50813567ffffffffffffffff8111156133fd57600080fd5b60208301915083602082850101111561341557600080fd5b9250929050565b60008060008060006080868803121561343457600080fd5b61343d86613380565b945061344b60208701613380565b935060408601359250606086013567ffffffffffffffff81111561346e57600080fd5b61347a888289016133d3565b969995985093965092949392505050565b6000806000606084860312156134a057600080fd5b6134a984613380565b92506134b760208501613380565b9150604084013590509250925092565b600080604083850312156134da57600080fd5b823591506134ea60208401613380565b90509250929050565b60008060006060848603121561350857600080fd5b61351184613380565b95602085013595506040909401359392505050565b60006020828403121561353857600080fd5b61149582613380565b6000806040838503121561355457600080fd5b61355d83613380565b9150602083013561356d81613212565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156135ee576135ee613578565b604052919050565b600067ffffffffffffffff82111561361057613610613578565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000806000806080858703121561365257600080fd5b61365b85613380565b935061366960208601613380565b925060408501359150606085013567ffffffffffffffff81111561368c57600080fd5b8501601f8101871361369d57600080fd5b80356136b06136ab826135f6565b6135a7565b8181528860208385010111156136c557600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b600080600080600080600060e0888a03121561370257600080fd5b8735965061371260208901613380565b955060408801359450606088013561372981613212565b93506080880135925060a0880135915061374560c08901613380565b905092959891949750929550565b6000806040838503121561376657600080fd5b61376f83613380565b91506134ea60208401613380565b60008060008060008060a0878903121561379657600080fd5b61379f87613380565b95506137ad60208801613380565b94506040870135935060608701359250608087013567ffffffffffffffff8111156137d757600080fd5b6137e389828a016133d3565b979a9699509497509295939492505050565b600181811c9082168061380957607f821691505b602082108103613842577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a7d57610a7d613848565b60008161389957613899613848565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b81810381811115610a7d57610a7d613848565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361393257613932613848565b5060010190565b6000825161394b8184602087016132e6565b9190910192915050565b60006020828403121561396757600080fd5b815167ffffffffffffffff81111561397e57600080fd5b8201601f8101841361398f57600080fd5b805161399d6136ab826135f6565b8181528560208385010111156139b257600080fd5b6139c38260208301602086016132e6565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611dad608083018461330a565b600060208284031215613a1d57600080fd5b81516114958161329b565b600060208284031215613a3a57600080fd5b815161149581613212565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220e30d591d4f6478d3d1270fcdf8ad140982ae03d875a201932aa481aa07dd2a2764736f6c63430008180033",
}
Functions ¶
func CalculateSafeTxHash ¶
func CreateApproveCommand ¶
func CreateBalanceOfCommand ¶
func CreateCreatePoolCommand ¶
func CreateNameCommand ¶
func CreateOwnerOfCommand ¶
func CreatePoolsCommand ¶
func CreatePositionsCommand ¶
func CreateSafeProposal ¶
func CreateStakeErc20Command ¶
func CreateStakerCommand ¶
func CreateSymbolCommand ¶
func CreateTokenUriCommand ¶
func CreateTotalPoolsCommand ¶
func CreateUnstakeCommand ¶
func DeployWithSafe ¶
func KeyFromFile ¶
Loads a key from file, prompting the user for the password if it is not provided as a function argument.
func NewChainContext ¶
func NewChainContext(timeout uint) (context.Context, context.CancelFunc)
Creates a new context to be used when interacting with the chain client.
func NewClient ¶
Generates an Ethereum client to the JSONRPC API at the given URL. If rpcURL is empty, then it attempts to read the RPC URL from the STAKER_RPC_URL environment variable. If that is empty, too, then it returns an error.
func SetCallParametersFromArgs ¶
This method is used to set the parameters on a view call from command line arguments (represented mostly as strings).
func SetTransactionParametersFromArgs ¶
func SetTransactionParametersFromArgs(opts *bind.TransactOpts, nonce, value, gasPrice, maxFeePerGas, maxPriorityFeePerGas string, gasLimit uint64, noSend bool)
This method is used to set the parameters on a transaction from command line arguments (represented mostly as strings).
Types ¶
type SafeOperationType ¶
type SafeOperationType uint8
SafeOperationType represents the type of operation for a Safe transaction
const ( Call SafeOperationType = 0 DelegateCall SafeOperationType = 1 )
func (SafeOperationType) String ¶
func (o SafeOperationType) String() string
String returns the string representation of the SafeOperationType
type SafeTransactionData ¶
type SafeTransactionData struct { To string `json:"to"` Value string `json:"value"` Data string `json:"data"` Operation SafeOperationType `json:"operation"` SafeTxGas uint64 `json:"safeTxGas"` BaseGas uint64 `json:"baseGas"` GasPrice string `json:"gasPrice"` GasToken string `json:"gasToken"` RefundReceiver string `json:"refundReceiver"` Nonce *big.Int `json:"nonce"` SafeTxHash string `json:"safeTxHash"` Sender string `json:"sender"` Signature string `json:"signature"` Origin string `json:"origin"` }
SafeTransactionData represents the data for a Safe transaction
type Staker ¶
type Staker struct { StakerCaller // Read-only binding to the contract StakerTransactor // Write-only binding to the contract StakerFilterer // Log filterer for contract events }
Staker is an auto generated Go binding around an Ethereum contract.
func DeployStaker ¶
func DeployStaker(auth *bind.TransactOpts, backend bind.ContractBackend, positionMetadata common.Address) (common.Address, *types.Transaction, *Staker, error)
DeployStaker deploys a new Ethereum contract, binding an instance of Staker to it.
type StakerApproval ¶
type StakerApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos }
StakerApproval represents a Approval event raised by the Staker contract.
type StakerApprovalForAll ¶
type StakerApprovalForAll struct { Owner common.Address Operator common.Address Approved bool Raw types.Log // Blockchain specific contextual infos }
StakerApprovalForAll represents a ApprovalForAll event raised by the Staker contract.
type StakerApprovalForAllIterator ¶
type StakerApprovalForAllIterator struct { Event *StakerApprovalForAll // Event containing the contract specifics and raw log // contains filtered or unexported fields }
StakerApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the Staker contract.
func (*StakerApprovalForAllIterator) Close ¶
func (it *StakerApprovalForAllIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*StakerApprovalForAllIterator) Error ¶
func (it *StakerApprovalForAllIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*StakerApprovalForAllIterator) Next ¶
func (it *StakerApprovalForAllIterator) 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 StakerApprovalIterator ¶
type StakerApprovalIterator struct { Event *StakerApproval // Event containing the contract specifics and raw log // contains filtered or unexported fields }
StakerApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the Staker contract.
func (*StakerApprovalIterator) Close ¶
func (it *StakerApprovalIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*StakerApprovalIterator) Error ¶
func (it *StakerApprovalIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*StakerApprovalIterator) Next ¶
func (it *StakerApprovalIterator) 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 StakerCaller ¶
type StakerCaller struct {
// contains filtered or unexported fields
}
StakerCaller is an auto generated read-only Go binding around an Ethereum contract.
func NewStakerCaller ¶
func NewStakerCaller(address common.Address, caller bind.ContractCaller) (*StakerCaller, error)
NewStakerCaller creates a new read-only instance of Staker, bound to a specific deployed contract.
func (*StakerCaller) BalanceOf ¶
BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
Solidity: function balanceOf(address owner) view returns(uint256)
func (*StakerCaller) CurrentAmountInPool ¶
func (_Staker *StakerCaller) CurrentAmountInPool(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error)
CurrentAmountInPool is a free data retrieval call binding the contract method 0x81c822e6.
Solidity: function CurrentAmountInPool(uint256 ) view returns(uint256)
func (*StakerCaller) CurrentPositionsInPool ¶
func (_Staker *StakerCaller) CurrentPositionsInPool(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error)
CurrentPositionsInPool is a free data retrieval call binding the contract method 0xb29087da.
Solidity: function CurrentPositionsInPool(uint256 ) view returns(uint256)
func (*StakerCaller) ERC1155TOKENTYPE ¶
ERC1155TOKENTYPE is a free data retrieval call binding the contract method 0xabd4ce78.
Solidity: function ERC1155_TOKEN_TYPE() view returns(uint256)
func (*StakerCaller) ERC20TOKENTYPE ¶
ERC20TOKENTYPE is a free data retrieval call binding the contract method 0xd2ba4409.
Solidity: function ERC20_TOKEN_TYPE() view returns(uint256)
func (*StakerCaller) ERC721TOKENTYPE ¶
ERC721TOKENTYPE is a free data retrieval call binding the contract method 0xf09e76a1.
Solidity: function ERC721_TOKEN_TYPE() view returns(uint256)
func (*StakerCaller) GetApproved ¶
func (_Staker *StakerCaller) 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 (*StakerCaller) IsApprovedForAll ¶
func (_Staker *StakerCaller) 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 (*StakerCaller) NATIVETOKENTYPE ¶
NATIVETOKENTYPE is a free data retrieval call binding the contract method 0x77bd2e78.
Solidity: function NATIVE_TOKEN_TYPE() view returns(uint256)
func (*StakerCaller) Name ¶
func (_Staker *StakerCaller) 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 (*StakerCaller) OnERC1155Received ¶
func (_Staker *StakerCaller) OnERC1155Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error)
OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61.
Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4)
func (*StakerCaller) OnERC721Received ¶
func (_Staker *StakerCaller) OnERC721Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error)
OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02.
Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4)
func (*StakerCaller) OwnerOf ¶
OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
Solidity: function ownerOf(uint256 tokenId) view returns(address)
func (*StakerCaller) Pools ¶
func (_Staker *StakerCaller) Pools(opts *bind.CallOpts, arg0 *big.Int) (struct { Administrator common.Address TokenType *big.Int TokenAddress common.Address TokenID *big.Int Transferable bool LockupSeconds *big.Int CooldownSeconds *big.Int }, error)
Pools is a free data retrieval call binding the contract method 0x73dfccca.
Solidity: function Pools(uint256 ) view returns(address administrator, uint256 tokenType, address tokenAddress, uint256 tokenID, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds)
func (*StakerCaller) PositionMetadataAddress ¶
PositionMetadataAddress is a free data retrieval call binding the contract method 0xd693595d.
Solidity: function positionMetadataAddress() view returns(address)
func (*StakerCaller) Positions ¶
func (_Staker *StakerCaller) Positions(opts *bind.CallOpts, arg0 *big.Int) (struct { PoolID *big.Int AmountOrTokenID *big.Int StakeTimestamp *big.Int UnstakeInitiatedAt *big.Int }, error)
Positions is a free data retrieval call binding the contract method 0x73caf0f7.
Solidity: function Positions(uint256 ) view returns(uint256 poolID, uint256 amountOrTokenID, uint256 stakeTimestamp, uint256 unstakeInitiatedAt)
func (*StakerCaller) SupportsInterface ¶
func (_Staker *StakerCaller) 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 (*StakerCaller) Symbol ¶
func (_Staker *StakerCaller) 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 (*StakerCaller) TokenByIndex ¶
TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
Solidity: function tokenByIndex(uint256 index) view returns(uint256)
func (*StakerCaller) TokenOfOwnerByIndex ¶
func (_Staker *StakerCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error)
TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
func (*StakerCaller) TokenURI ¶
TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
Solidity: function tokenURI(uint256 tokenId) view returns(string)
func (*StakerCaller) TotalPools ¶
TotalPools is a free data retrieval call binding the contract method 0x424b9311.
Solidity: function TotalPools() view returns(uint256)
func (*StakerCaller) TotalPositions ¶
TotalPositions is a free data retrieval call binding the contract method 0x3ab0f1c1.
Solidity: function TotalPositions() view returns(uint256)
func (*StakerCaller) TotalSupply ¶
TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
Solidity: function totalSupply() view returns(uint256)
type StakerCallerRaw ¶
type StakerCallerRaw struct {
Contract *StakerCaller // Generic read-only contract binding to access the raw methods on
}
StakerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
func (*StakerCallerRaw) Call ¶
func (_Staker *StakerCallerRaw) 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 StakerCallerSession ¶
type StakerCallerSession struct { Contract *StakerCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session }
StakerCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.
func (*StakerCallerSession) BalanceOf ¶
BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
Solidity: function balanceOf(address owner) view returns(uint256)
func (*StakerCallerSession) CurrentAmountInPool ¶
CurrentAmountInPool is a free data retrieval call binding the contract method 0x81c822e6.
Solidity: function CurrentAmountInPool(uint256 ) view returns(uint256)
func (*StakerCallerSession) CurrentPositionsInPool ¶
CurrentPositionsInPool is a free data retrieval call binding the contract method 0xb29087da.
Solidity: function CurrentPositionsInPool(uint256 ) view returns(uint256)
func (*StakerCallerSession) ERC1155TOKENTYPE ¶
func (_Staker *StakerCallerSession) ERC1155TOKENTYPE() (*big.Int, error)
ERC1155TOKENTYPE is a free data retrieval call binding the contract method 0xabd4ce78.
Solidity: function ERC1155_TOKEN_TYPE() view returns(uint256)
func (*StakerCallerSession) ERC20TOKENTYPE ¶
func (_Staker *StakerCallerSession) ERC20TOKENTYPE() (*big.Int, error)
ERC20TOKENTYPE is a free data retrieval call binding the contract method 0xd2ba4409.
Solidity: function ERC20_TOKEN_TYPE() view returns(uint256)
func (*StakerCallerSession) ERC721TOKENTYPE ¶
func (_Staker *StakerCallerSession) ERC721TOKENTYPE() (*big.Int, error)
ERC721TOKENTYPE is a free data retrieval call binding the contract method 0xf09e76a1.
Solidity: function ERC721_TOKEN_TYPE() view returns(uint256)
func (*StakerCallerSession) GetApproved ¶
GetApproved is a free data retrieval call binding the contract method 0x081812fc.
Solidity: function getApproved(uint256 tokenId) view returns(address)
func (*StakerCallerSession) IsApprovedForAll ¶
func (_Staker *StakerCallerSession) 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 (*StakerCallerSession) NATIVETOKENTYPE ¶
func (_Staker *StakerCallerSession) NATIVETOKENTYPE() (*big.Int, error)
NATIVETOKENTYPE is a free data retrieval call binding the contract method 0x77bd2e78.
Solidity: function NATIVE_TOKEN_TYPE() view returns(uint256)
func (*StakerCallerSession) Name ¶
func (_Staker *StakerCallerSession) Name() (string, error)
Name is a free data retrieval call binding the contract method 0x06fdde03.
Solidity: function name() view returns(string)
func (*StakerCallerSession) OnERC1155Received ¶
func (_Staker *StakerCallerSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error)
OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61.
Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4)
func (*StakerCallerSession) OnERC721Received ¶
func (_Staker *StakerCallerSession) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error)
OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02.
Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4)
func (*StakerCallerSession) OwnerOf ¶
OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
Solidity: function ownerOf(uint256 tokenId) view returns(address)
func (*StakerCallerSession) Pools ¶
func (_Staker *StakerCallerSession) Pools(arg0 *big.Int) (struct { Administrator common.Address TokenType *big.Int TokenAddress common.Address TokenID *big.Int Transferable bool LockupSeconds *big.Int CooldownSeconds *big.Int }, error)
Pools is a free data retrieval call binding the contract method 0x73dfccca.
Solidity: function Pools(uint256 ) view returns(address administrator, uint256 tokenType, address tokenAddress, uint256 tokenID, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds)
func (*StakerCallerSession) PositionMetadataAddress ¶
func (_Staker *StakerCallerSession) PositionMetadataAddress() (common.Address, error)
PositionMetadataAddress is a free data retrieval call binding the contract method 0xd693595d.
Solidity: function positionMetadataAddress() view returns(address)
func (*StakerCallerSession) Positions ¶
func (_Staker *StakerCallerSession) Positions(arg0 *big.Int) (struct { PoolID *big.Int AmountOrTokenID *big.Int StakeTimestamp *big.Int UnstakeInitiatedAt *big.Int }, error)
Positions is a free data retrieval call binding the contract method 0x73caf0f7.
Solidity: function Positions(uint256 ) view returns(uint256 poolID, uint256 amountOrTokenID, uint256 stakeTimestamp, uint256 unstakeInitiatedAt)
func (*StakerCallerSession) SupportsInterface ¶
func (_Staker *StakerCallerSession) 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 (*StakerCallerSession) Symbol ¶
func (_Staker *StakerCallerSession) Symbol() (string, error)
Symbol is a free data retrieval call binding the contract method 0x95d89b41.
Solidity: function symbol() view returns(string)
func (*StakerCallerSession) TokenByIndex ¶
TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
Solidity: function tokenByIndex(uint256 index) view returns(uint256)
func (*StakerCallerSession) TokenOfOwnerByIndex ¶
func (_Staker *StakerCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error)
TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
func (*StakerCallerSession) TokenURI ¶
func (_Staker *StakerCallerSession) 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 (*StakerCallerSession) TotalPools ¶
func (_Staker *StakerCallerSession) TotalPools() (*big.Int, error)
TotalPools is a free data retrieval call binding the contract method 0x424b9311.
Solidity: function TotalPools() view returns(uint256)
func (*StakerCallerSession) TotalPositions ¶
func (_Staker *StakerCallerSession) TotalPositions() (*big.Int, error)
TotalPositions is a free data retrieval call binding the contract method 0x3ab0f1c1.
Solidity: function TotalPositions() view returns(uint256)
func (*StakerCallerSession) TotalSupply ¶
func (_Staker *StakerCallerSession) TotalSupply() (*big.Int, error)
TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
Solidity: function totalSupply() view returns(uint256)
type StakerFilterer ¶
type StakerFilterer struct {
// contains filtered or unexported fields
}
StakerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
func NewStakerFilterer ¶
func NewStakerFilterer(address common.Address, filterer bind.ContractFilterer) (*StakerFilterer, error)
NewStakerFilterer creates a new log filterer instance of Staker, bound to a specific deployed contract.
func (*StakerFilterer) FilterApproval ¶
func (_Staker *StakerFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*StakerApprovalIterator, 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 (*StakerFilterer) FilterApprovalForAll ¶
func (_Staker *StakerFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*StakerApprovalForAllIterator, 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 (*StakerFilterer) FilterStaked ¶
func (_Staker *StakerFilterer) FilterStaked(opts *bind.FilterOpts, owner []common.Address, poolID []*big.Int) (*StakerStakedIterator, error)
FilterStaked is a free log retrieval operation binding the contract event 0x17700ceb1658b18206f427c1578048e87504106b14ec69e9b4586d9a95174a32.
Solidity: event Staked(uint256 positionTokenID, address indexed owner, uint256 indexed poolID, uint256 amountOrTokenID)
func (*StakerFilterer) FilterStakingPoolConfigured ¶
func (_Staker *StakerFilterer) FilterStakingPoolConfigured(opts *bind.FilterOpts, poolID []*big.Int, administrator []common.Address) (*StakerStakingPoolConfiguredIterator, error)
FilterStakingPoolConfigured is a free log retrieval operation binding the contract event 0x8587d3b7f5e8e73d0f5be513ce84b6c7c9497e221295d831f57ba7ecc36589b5.
Solidity: event StakingPoolConfigured(uint256 indexed poolID, address indexed administrator, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds)
func (*StakerFilterer) FilterStakingPoolCreated ¶
func (_Staker *StakerFilterer) FilterStakingPoolCreated(opts *bind.FilterOpts, poolID []*big.Int, tokenType []*big.Int, tokenAddress []common.Address) (*StakerStakingPoolCreatedIterator, error)
FilterStakingPoolCreated is a free log retrieval operation binding the contract event 0x36b06296d9441695787e7cbfc0b9cfc5deeeabec4406a3a90d30a222103c2dc8.
Solidity: event StakingPoolCreated(uint256 indexed poolID, uint256 indexed tokenType, address indexed tokenAddress, uint256 tokenID)
func (*StakerFilterer) FilterTransfer ¶
func (_Staker *StakerFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*StakerTransferIterator, 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 (*StakerFilterer) FilterUnstakeInitiated ¶
func (_Staker *StakerFilterer) FilterUnstakeInitiated(opts *bind.FilterOpts, owner []common.Address) (*StakerUnstakeInitiatedIterator, error)
FilterUnstakeInitiated is a free log retrieval operation binding the contract event 0xb88af44ff67f15b82bc60b5ecd6ac0f0c27da279a6c21b7d200174756ea5c5e4.
Solidity: event UnstakeInitiated(uint256 positionTokenID, address indexed owner)
func (*StakerFilterer) FilterUnstaked ¶
func (_Staker *StakerFilterer) FilterUnstaked(opts *bind.FilterOpts, owner []common.Address, poolID []*big.Int) (*StakerUnstakedIterator, error)
FilterUnstaked is a free log retrieval operation binding the contract event 0xffdaf13b1d96bfc2213355f353f84c19493e0681eb0df26f83d862acd266750a.
Solidity: event Unstaked(uint256 positionTokenID, address indexed owner, uint256 indexed poolID, uint256 amountOrTokenID)
func (*StakerFilterer) ParseApproval ¶
func (_Staker *StakerFilterer) ParseApproval(log types.Log) (*StakerApproval, 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 (*StakerFilterer) ParseApprovalForAll ¶
func (_Staker *StakerFilterer) ParseApprovalForAll(log types.Log) (*StakerApprovalForAll, error)
ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
func (*StakerFilterer) ParseStaked ¶
func (_Staker *StakerFilterer) ParseStaked(log types.Log) (*StakerStaked, error)
ParseStaked is a log parse operation binding the contract event 0x17700ceb1658b18206f427c1578048e87504106b14ec69e9b4586d9a95174a32.
Solidity: event Staked(uint256 positionTokenID, address indexed owner, uint256 indexed poolID, uint256 amountOrTokenID)
func (*StakerFilterer) ParseStakingPoolConfigured ¶
func (_Staker *StakerFilterer) ParseStakingPoolConfigured(log types.Log) (*StakerStakingPoolConfigured, error)
ParseStakingPoolConfigured is a log parse operation binding the contract event 0x8587d3b7f5e8e73d0f5be513ce84b6c7c9497e221295d831f57ba7ecc36589b5.
Solidity: event StakingPoolConfigured(uint256 indexed poolID, address indexed administrator, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds)
func (*StakerFilterer) ParseStakingPoolCreated ¶
func (_Staker *StakerFilterer) ParseStakingPoolCreated(log types.Log) (*StakerStakingPoolCreated, error)
ParseStakingPoolCreated is a log parse operation binding the contract event 0x36b06296d9441695787e7cbfc0b9cfc5deeeabec4406a3a90d30a222103c2dc8.
Solidity: event StakingPoolCreated(uint256 indexed poolID, uint256 indexed tokenType, address indexed tokenAddress, uint256 tokenID)
func (*StakerFilterer) ParseTransfer ¶
func (_Staker *StakerFilterer) ParseTransfer(log types.Log) (*StakerTransfer, 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 (*StakerFilterer) ParseUnstakeInitiated ¶
func (_Staker *StakerFilterer) ParseUnstakeInitiated(log types.Log) (*StakerUnstakeInitiated, error)
ParseUnstakeInitiated is a log parse operation binding the contract event 0xb88af44ff67f15b82bc60b5ecd6ac0f0c27da279a6c21b7d200174756ea5c5e4.
Solidity: event UnstakeInitiated(uint256 positionTokenID, address indexed owner)
func (*StakerFilterer) ParseUnstaked ¶
func (_Staker *StakerFilterer) ParseUnstaked(log types.Log) (*StakerUnstaked, error)
ParseUnstaked is a log parse operation binding the contract event 0xffdaf13b1d96bfc2213355f353f84c19493e0681eb0df26f83d862acd266750a.
Solidity: event Unstaked(uint256 positionTokenID, address indexed owner, uint256 indexed poolID, uint256 amountOrTokenID)
func (*StakerFilterer) WatchApproval ¶
func (_Staker *StakerFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *StakerApproval, 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 (*StakerFilterer) WatchApprovalForAll ¶
func (_Staker *StakerFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *StakerApprovalForAll, 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 (*StakerFilterer) WatchStaked ¶
func (_Staker *StakerFilterer) WatchStaked(opts *bind.WatchOpts, sink chan<- *StakerStaked, owner []common.Address, poolID []*big.Int) (event.Subscription, error)
WatchStaked is a free log subscription operation binding the contract event 0x17700ceb1658b18206f427c1578048e87504106b14ec69e9b4586d9a95174a32.
Solidity: event Staked(uint256 positionTokenID, address indexed owner, uint256 indexed poolID, uint256 amountOrTokenID)
func (*StakerFilterer) WatchStakingPoolConfigured ¶
func (_Staker *StakerFilterer) WatchStakingPoolConfigured(opts *bind.WatchOpts, sink chan<- *StakerStakingPoolConfigured, poolID []*big.Int, administrator []common.Address) (event.Subscription, error)
WatchStakingPoolConfigured is a free log subscription operation binding the contract event 0x8587d3b7f5e8e73d0f5be513ce84b6c7c9497e221295d831f57ba7ecc36589b5.
Solidity: event StakingPoolConfigured(uint256 indexed poolID, address indexed administrator, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds)
func (*StakerFilterer) WatchStakingPoolCreated ¶
func (_Staker *StakerFilterer) WatchStakingPoolCreated(opts *bind.WatchOpts, sink chan<- *StakerStakingPoolCreated, poolID []*big.Int, tokenType []*big.Int, tokenAddress []common.Address) (event.Subscription, error)
WatchStakingPoolCreated is a free log subscription operation binding the contract event 0x36b06296d9441695787e7cbfc0b9cfc5deeeabec4406a3a90d30a222103c2dc8.
Solidity: event StakingPoolCreated(uint256 indexed poolID, uint256 indexed tokenType, address indexed tokenAddress, uint256 tokenID)
func (*StakerFilterer) WatchTransfer ¶
func (_Staker *StakerFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *StakerTransfer, 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)
func (*StakerFilterer) WatchUnstakeInitiated ¶
func (_Staker *StakerFilterer) WatchUnstakeInitiated(opts *bind.WatchOpts, sink chan<- *StakerUnstakeInitiated, owner []common.Address) (event.Subscription, error)
WatchUnstakeInitiated is a free log subscription operation binding the contract event 0xb88af44ff67f15b82bc60b5ecd6ac0f0c27da279a6c21b7d200174756ea5c5e4.
Solidity: event UnstakeInitiated(uint256 positionTokenID, address indexed owner)
func (*StakerFilterer) WatchUnstaked ¶
func (_Staker *StakerFilterer) WatchUnstaked(opts *bind.WatchOpts, sink chan<- *StakerUnstaked, owner []common.Address, poolID []*big.Int) (event.Subscription, error)
WatchUnstaked is a free log subscription operation binding the contract event 0xffdaf13b1d96bfc2213355f353f84c19493e0681eb0df26f83d862acd266750a.
Solidity: event Unstaked(uint256 positionTokenID, address indexed owner, uint256 indexed poolID, uint256 amountOrTokenID)
type StakerRaw ¶
type StakerRaw struct {
Contract *Staker // Generic contract binding to access the raw methods on
}
StakerRaw is an auto generated low-level Go binding around an Ethereum contract.
func (*StakerRaw) Call ¶
func (_Staker *StakerRaw) 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 (*StakerRaw) Transact ¶
func (_Staker *StakerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
Transact invokes the (paid) contract method with params as input values.
func (*StakerRaw) Transfer ¶
func (_Staker *StakerRaw) 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 StakerSession ¶
type StakerSession struct { Contract *Staker // 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 }
StakerSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.
func (*StakerSession) Approve ¶
func (_Staker *StakerSession) 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 (*StakerSession) BalanceOf ¶
BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
Solidity: function balanceOf(address owner) view returns(uint256)
func (*StakerSession) CreatePool ¶
func (_Staker *StakerSession) CreatePool(tokenType *big.Int, tokenAddress common.Address, tokenID *big.Int, transferable bool, lockupSeconds *big.Int, cooldownSeconds *big.Int, administrator common.Address) (*types.Transaction, error)
CreatePool is a paid mutator transaction binding the contract method 0xdf44bf76.
Solidity: function createPool(uint256 tokenType, address tokenAddress, uint256 tokenID, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds, address administrator) returns()
func (*StakerSession) CurrentAmountInPool ¶
CurrentAmountInPool is a free data retrieval call binding the contract method 0x81c822e6.
Solidity: function CurrentAmountInPool(uint256 ) view returns(uint256)
func (*StakerSession) CurrentPositionsInPool ¶
CurrentPositionsInPool is a free data retrieval call binding the contract method 0xb29087da.
Solidity: function CurrentPositionsInPool(uint256 ) view returns(uint256)
func (*StakerSession) ERC1155TOKENTYPE ¶
func (_Staker *StakerSession) ERC1155TOKENTYPE() (*big.Int, error)
ERC1155TOKENTYPE is a free data retrieval call binding the contract method 0xabd4ce78.
Solidity: function ERC1155_TOKEN_TYPE() view returns(uint256)
func (*StakerSession) ERC20TOKENTYPE ¶
func (_Staker *StakerSession) ERC20TOKENTYPE() (*big.Int, error)
ERC20TOKENTYPE is a free data retrieval call binding the contract method 0xd2ba4409.
Solidity: function ERC20_TOKEN_TYPE() view returns(uint256)
func (*StakerSession) ERC721TOKENTYPE ¶
func (_Staker *StakerSession) ERC721TOKENTYPE() (*big.Int, error)
ERC721TOKENTYPE is a free data retrieval call binding the contract method 0xf09e76a1.
Solidity: function ERC721_TOKEN_TYPE() view returns(uint256)
func (*StakerSession) GetApproved ¶
GetApproved is a free data retrieval call binding the contract method 0x081812fc.
Solidity: function getApproved(uint256 tokenId) view returns(address)
func (*StakerSession) InitiateUnstake ¶
func (_Staker *StakerSession) InitiateUnstake(positionTokenID *big.Int) (*types.Transaction, error)
InitiateUnstake is a paid mutator transaction binding the contract method 0xae5ac921.
Solidity: function initiateUnstake(uint256 positionTokenID) returns()
func (*StakerSession) IsApprovedForAll ¶
func (_Staker *StakerSession) 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 (*StakerSession) NATIVETOKENTYPE ¶
func (_Staker *StakerSession) NATIVETOKENTYPE() (*big.Int, error)
NATIVETOKENTYPE is a free data retrieval call binding the contract method 0x77bd2e78.
Solidity: function NATIVE_TOKEN_TYPE() view returns(uint256)
func (*StakerSession) Name ¶
func (_Staker *StakerSession) Name() (string, error)
Name is a free data retrieval call binding the contract method 0x06fdde03.
Solidity: function name() view returns(string)
func (*StakerSession) OnERC1155Received ¶
func (_Staker *StakerSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, arg4 []byte) ([4]byte, error)
OnERC1155Received is a free data retrieval call binding the contract method 0xf23a6e61.
Solidity: function onERC1155Received(address , address , uint256 , uint256 , bytes ) pure returns(bytes4)
func (*StakerSession) OnERC721Received ¶
func (_Staker *StakerSession) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error)
OnERC721Received is a free data retrieval call binding the contract method 0x150b7a02.
Solidity: function onERC721Received(address , address , uint256 , bytes ) pure returns(bytes4)
func (*StakerSession) OwnerOf ¶
OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
Solidity: function ownerOf(uint256 tokenId) view returns(address)
func (*StakerSession) Pools ¶
func (_Staker *StakerSession) Pools(arg0 *big.Int) (struct { Administrator common.Address TokenType *big.Int TokenAddress common.Address TokenID *big.Int Transferable bool LockupSeconds *big.Int CooldownSeconds *big.Int }, error)
Pools is a free data retrieval call binding the contract method 0x73dfccca.
Solidity: function Pools(uint256 ) view returns(address administrator, uint256 tokenType, address tokenAddress, uint256 tokenID, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds)
func (*StakerSession) PositionMetadataAddress ¶
func (_Staker *StakerSession) PositionMetadataAddress() (common.Address, error)
PositionMetadataAddress is a free data retrieval call binding the contract method 0xd693595d.
Solidity: function positionMetadataAddress() view returns(address)
func (*StakerSession) Positions ¶
func (_Staker *StakerSession) Positions(arg0 *big.Int) (struct { PoolID *big.Int AmountOrTokenID *big.Int StakeTimestamp *big.Int UnstakeInitiatedAt *big.Int }, error)
Positions is a free data retrieval call binding the contract method 0x73caf0f7.
Solidity: function Positions(uint256 ) view returns(uint256 poolID, uint256 amountOrTokenID, uint256 stakeTimestamp, uint256 unstakeInitiatedAt)
func (*StakerSession) SafeTransferFrom ¶
func (_Staker *StakerSession) 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 (*StakerSession) SafeTransferFrom0 ¶
func (_Staker *StakerSession) 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 (*StakerSession) SetApprovalForAll ¶
func (_Staker *StakerSession) 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 (*StakerSession) StakeERC1155 ¶
func (_Staker *StakerSession) StakeERC1155(positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
StakeERC1155 is a paid mutator transaction binding the contract method 0xb0fe4a7e.
Solidity: function stakeERC1155(address positionHolder, uint256 poolID, uint256 amount) returns(uint256 positionTokenID)
func (*StakerSession) StakeERC20 ¶
func (_Staker *StakerSession) StakeERC20(positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
StakeERC20 is a paid mutator transaction binding the contract method 0x8d4a9e85.
Solidity: function stakeERC20(address positionHolder, uint256 poolID, uint256 amount) returns(uint256 positionTokenID)
func (*StakerSession) StakeERC721 ¶
func (_Staker *StakerSession) StakeERC721(positionHolder common.Address, poolID *big.Int, tokenID *big.Int) (*types.Transaction, error)
StakeERC721 is a paid mutator transaction binding the contract method 0x621519c0.
Solidity: function stakeERC721(address positionHolder, uint256 poolID, uint256 tokenID) returns(uint256 positionTokenID)
func (*StakerSession) StakeNative ¶
func (_Staker *StakerSession) StakeNative(positionHolder common.Address, poolID *big.Int) (*types.Transaction, error)
StakeNative is a paid mutator transaction binding the contract method 0xa1ed8fef.
Solidity: function stakeNative(address positionHolder, uint256 poolID) payable returns(uint256 positionTokenID)
func (*StakerSession) SupportsInterface ¶
func (_Staker *StakerSession) 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 (*StakerSession) Symbol ¶
func (_Staker *StakerSession) Symbol() (string, error)
Symbol is a free data retrieval call binding the contract method 0x95d89b41.
Solidity: function symbol() view returns(string)
func (*StakerSession) TokenByIndex ¶
TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
Solidity: function tokenByIndex(uint256 index) view returns(uint256)
func (*StakerSession) TokenOfOwnerByIndex ¶
func (_Staker *StakerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error)
TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
func (*StakerSession) TokenURI ¶
func (_Staker *StakerSession) 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 (*StakerSession) TotalPools ¶
func (_Staker *StakerSession) TotalPools() (*big.Int, error)
TotalPools is a free data retrieval call binding the contract method 0x424b9311.
Solidity: function TotalPools() view returns(uint256)
func (*StakerSession) TotalPositions ¶
func (_Staker *StakerSession) TotalPositions() (*big.Int, error)
TotalPositions is a free data retrieval call binding the contract method 0x3ab0f1c1.
Solidity: function TotalPositions() view returns(uint256)
func (*StakerSession) TotalSupply ¶
func (_Staker *StakerSession) TotalSupply() (*big.Int, error)
TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
Solidity: function totalSupply() view returns(uint256)
func (*StakerSession) TransferFrom ¶
func (_Staker *StakerSession) 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 (*StakerSession) TransferPoolAdministration ¶
func (_Staker *StakerSession) TransferPoolAdministration(poolID *big.Int, newAdministrator common.Address) (*types.Transaction, error)
TransferPoolAdministration is a paid mutator transaction binding the contract method 0x3db26319.
Solidity: function transferPoolAdministration(uint256 poolID, address newAdministrator) returns()
func (*StakerSession) Unstake ¶
func (_Staker *StakerSession) Unstake(positionTokenID *big.Int) (*types.Transaction, error)
Unstake is a paid mutator transaction binding the contract method 0x2e17de78.
Solidity: function unstake(uint256 positionTokenID) returns()
func (*StakerSession) UpdatePoolConfiguration ¶
func (_Staker *StakerSession) UpdatePoolConfiguration(poolID *big.Int, changeTransferability bool, transferable bool, changeLockup bool, lockupSeconds *big.Int, changeCooldown bool, cooldownSeconds *big.Int) (*types.Transaction, error)
UpdatePoolConfiguration is a paid mutator transaction binding the contract method 0x007d0cec.
Solidity: function updatePoolConfiguration(uint256 poolID, bool changeTransferability, bool transferable, bool changeLockup, uint256 lockupSeconds, bool changeCooldown, uint256 cooldownSeconds) returns()
type StakerStaked ¶
type StakerStaked struct { PositionTokenID *big.Int Owner common.Address PoolID *big.Int AmountOrTokenID *big.Int Raw types.Log // Blockchain specific contextual infos }
StakerStaked represents a Staked event raised by the Staker contract.
type StakerStakedIterator ¶
type StakerStakedIterator struct { Event *StakerStaked // Event containing the contract specifics and raw log // contains filtered or unexported fields }
StakerStakedIterator is returned from FilterStaked and is used to iterate over the raw logs and unpacked data for Staked events raised by the Staker contract.
func (*StakerStakedIterator) Close ¶
func (it *StakerStakedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*StakerStakedIterator) Error ¶
func (it *StakerStakedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*StakerStakedIterator) Next ¶
func (it *StakerStakedIterator) 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 StakerStakingPoolConfigured ¶
type StakerStakingPoolConfigured struct { PoolID *big.Int Administrator common.Address Transferable bool LockupSeconds *big.Int CooldownSeconds *big.Int Raw types.Log // Blockchain specific contextual infos }
StakerStakingPoolConfigured represents a StakingPoolConfigured event raised by the Staker contract.
type StakerStakingPoolConfiguredIterator ¶
type StakerStakingPoolConfiguredIterator struct { Event *StakerStakingPoolConfigured // Event containing the contract specifics and raw log // contains filtered or unexported fields }
StakerStakingPoolConfiguredIterator is returned from FilterStakingPoolConfigured and is used to iterate over the raw logs and unpacked data for StakingPoolConfigured events raised by the Staker contract.
func (*StakerStakingPoolConfiguredIterator) Close ¶
func (it *StakerStakingPoolConfiguredIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*StakerStakingPoolConfiguredIterator) Error ¶
func (it *StakerStakingPoolConfiguredIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*StakerStakingPoolConfiguredIterator) Next ¶
func (it *StakerStakingPoolConfiguredIterator) 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 StakerStakingPoolCreated ¶
type StakerStakingPoolCreated struct { PoolID *big.Int TokenType *big.Int TokenAddress common.Address TokenID *big.Int Raw types.Log // Blockchain specific contextual infos }
StakerStakingPoolCreated represents a StakingPoolCreated event raised by the Staker contract.
type StakerStakingPoolCreatedIterator ¶
type StakerStakingPoolCreatedIterator struct { Event *StakerStakingPoolCreated // Event containing the contract specifics and raw log // contains filtered or unexported fields }
StakerStakingPoolCreatedIterator is returned from FilterStakingPoolCreated and is used to iterate over the raw logs and unpacked data for StakingPoolCreated events raised by the Staker contract.
func (*StakerStakingPoolCreatedIterator) Close ¶
func (it *StakerStakingPoolCreatedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*StakerStakingPoolCreatedIterator) Error ¶
func (it *StakerStakingPoolCreatedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*StakerStakingPoolCreatedIterator) Next ¶
func (it *StakerStakingPoolCreatedIterator) 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 StakerTransactor ¶
type StakerTransactor struct {
// contains filtered or unexported fields
}
StakerTransactor is an auto generated write-only Go binding around an Ethereum contract.
func NewStakerTransactor ¶
func NewStakerTransactor(address common.Address, transactor bind.ContractTransactor) (*StakerTransactor, error)
NewStakerTransactor creates a new write-only instance of Staker, bound to a specific deployed contract.
func (*StakerTransactor) Approve ¶
func (_Staker *StakerTransactor) 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 (*StakerTransactor) CreatePool ¶
func (_Staker *StakerTransactor) CreatePool(opts *bind.TransactOpts, tokenType *big.Int, tokenAddress common.Address, tokenID *big.Int, transferable bool, lockupSeconds *big.Int, cooldownSeconds *big.Int, administrator common.Address) (*types.Transaction, error)
CreatePool is a paid mutator transaction binding the contract method 0xdf44bf76.
Solidity: function createPool(uint256 tokenType, address tokenAddress, uint256 tokenID, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds, address administrator) returns()
func (*StakerTransactor) InitiateUnstake ¶
func (_Staker *StakerTransactor) InitiateUnstake(opts *bind.TransactOpts, positionTokenID *big.Int) (*types.Transaction, error)
InitiateUnstake is a paid mutator transaction binding the contract method 0xae5ac921.
Solidity: function initiateUnstake(uint256 positionTokenID) returns()
func (*StakerTransactor) SafeTransferFrom ¶
func (_Staker *StakerTransactor) 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 (*StakerTransactor) SafeTransferFrom0 ¶
func (_Staker *StakerTransactor) 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 (*StakerTransactor) SetApprovalForAll ¶
func (_Staker *StakerTransactor) 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 (*StakerTransactor) StakeERC1155 ¶
func (_Staker *StakerTransactor) StakeERC1155(opts *bind.TransactOpts, positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
StakeERC1155 is a paid mutator transaction binding the contract method 0xb0fe4a7e.
Solidity: function stakeERC1155(address positionHolder, uint256 poolID, uint256 amount) returns(uint256 positionTokenID)
func (*StakerTransactor) StakeERC20 ¶
func (_Staker *StakerTransactor) StakeERC20(opts *bind.TransactOpts, positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
StakeERC20 is a paid mutator transaction binding the contract method 0x8d4a9e85.
Solidity: function stakeERC20(address positionHolder, uint256 poolID, uint256 amount) returns(uint256 positionTokenID)
func (*StakerTransactor) StakeERC721 ¶
func (_Staker *StakerTransactor) StakeERC721(opts *bind.TransactOpts, positionHolder common.Address, poolID *big.Int, tokenID *big.Int) (*types.Transaction, error)
StakeERC721 is a paid mutator transaction binding the contract method 0x621519c0.
Solidity: function stakeERC721(address positionHolder, uint256 poolID, uint256 tokenID) returns(uint256 positionTokenID)
func (*StakerTransactor) StakeNative ¶
func (_Staker *StakerTransactor) StakeNative(opts *bind.TransactOpts, positionHolder common.Address, poolID *big.Int) (*types.Transaction, error)
StakeNative is a paid mutator transaction binding the contract method 0xa1ed8fef.
Solidity: function stakeNative(address positionHolder, uint256 poolID) payable returns(uint256 positionTokenID)
func (*StakerTransactor) TransferFrom ¶
func (_Staker *StakerTransactor) 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 (*StakerTransactor) TransferPoolAdministration ¶
func (_Staker *StakerTransactor) TransferPoolAdministration(opts *bind.TransactOpts, poolID *big.Int, newAdministrator common.Address) (*types.Transaction, error)
TransferPoolAdministration is a paid mutator transaction binding the contract method 0x3db26319.
Solidity: function transferPoolAdministration(uint256 poolID, address newAdministrator) returns()
func (*StakerTransactor) Unstake ¶
func (_Staker *StakerTransactor) Unstake(opts *bind.TransactOpts, positionTokenID *big.Int) (*types.Transaction, error)
Unstake is a paid mutator transaction binding the contract method 0x2e17de78.
Solidity: function unstake(uint256 positionTokenID) returns()
func (*StakerTransactor) UpdatePoolConfiguration ¶
func (_Staker *StakerTransactor) UpdatePoolConfiguration(opts *bind.TransactOpts, poolID *big.Int, changeTransferability bool, transferable bool, changeLockup bool, lockupSeconds *big.Int, changeCooldown bool, cooldownSeconds *big.Int) (*types.Transaction, error)
UpdatePoolConfiguration is a paid mutator transaction binding the contract method 0x007d0cec.
Solidity: function updatePoolConfiguration(uint256 poolID, bool changeTransferability, bool transferable, bool changeLockup, uint256 lockupSeconds, bool changeCooldown, uint256 cooldownSeconds) returns()
type StakerTransactorRaw ¶
type StakerTransactorRaw struct {
Contract *StakerTransactor // Generic write-only contract binding to access the raw methods on
}
StakerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
func (*StakerTransactorRaw) Transact ¶
func (_Staker *StakerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
Transact invokes the (paid) contract method with params as input values.
func (*StakerTransactorRaw) Transfer ¶
func (_Staker *StakerTransactorRaw) 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 StakerTransactorSession ¶
type StakerTransactorSession struct { Contract *StakerTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session }
StakerTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.
func (*StakerTransactorSession) Approve ¶
func (_Staker *StakerTransactorSession) 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 (*StakerTransactorSession) CreatePool ¶
func (_Staker *StakerTransactorSession) CreatePool(tokenType *big.Int, tokenAddress common.Address, tokenID *big.Int, transferable bool, lockupSeconds *big.Int, cooldownSeconds *big.Int, administrator common.Address) (*types.Transaction, error)
CreatePool is a paid mutator transaction binding the contract method 0xdf44bf76.
Solidity: function createPool(uint256 tokenType, address tokenAddress, uint256 tokenID, bool transferable, uint256 lockupSeconds, uint256 cooldownSeconds, address administrator) returns()
func (*StakerTransactorSession) InitiateUnstake ¶
func (_Staker *StakerTransactorSession) InitiateUnstake(positionTokenID *big.Int) (*types.Transaction, error)
InitiateUnstake is a paid mutator transaction binding the contract method 0xae5ac921.
Solidity: function initiateUnstake(uint256 positionTokenID) returns()
func (*StakerTransactorSession) SafeTransferFrom ¶
func (_Staker *StakerTransactorSession) 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 (*StakerTransactorSession) SafeTransferFrom0 ¶
func (_Staker *StakerTransactorSession) 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 (*StakerTransactorSession) SetApprovalForAll ¶
func (_Staker *StakerTransactorSession) 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 (*StakerTransactorSession) StakeERC1155 ¶
func (_Staker *StakerTransactorSession) StakeERC1155(positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
StakeERC1155 is a paid mutator transaction binding the contract method 0xb0fe4a7e.
Solidity: function stakeERC1155(address positionHolder, uint256 poolID, uint256 amount) returns(uint256 positionTokenID)
func (*StakerTransactorSession) StakeERC20 ¶
func (_Staker *StakerTransactorSession) StakeERC20(positionHolder common.Address, poolID *big.Int, amount *big.Int) (*types.Transaction, error)
StakeERC20 is a paid mutator transaction binding the contract method 0x8d4a9e85.
Solidity: function stakeERC20(address positionHolder, uint256 poolID, uint256 amount) returns(uint256 positionTokenID)
func (*StakerTransactorSession) StakeERC721 ¶
func (_Staker *StakerTransactorSession) StakeERC721(positionHolder common.Address, poolID *big.Int, tokenID *big.Int) (*types.Transaction, error)
StakeERC721 is a paid mutator transaction binding the contract method 0x621519c0.
Solidity: function stakeERC721(address positionHolder, uint256 poolID, uint256 tokenID) returns(uint256 positionTokenID)
func (*StakerTransactorSession) StakeNative ¶
func (_Staker *StakerTransactorSession) StakeNative(positionHolder common.Address, poolID *big.Int) (*types.Transaction, error)
StakeNative is a paid mutator transaction binding the contract method 0xa1ed8fef.
Solidity: function stakeNative(address positionHolder, uint256 poolID) payable returns(uint256 positionTokenID)
func (*StakerTransactorSession) TransferFrom ¶
func (_Staker *StakerTransactorSession) 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 (*StakerTransactorSession) TransferPoolAdministration ¶
func (_Staker *StakerTransactorSession) TransferPoolAdministration(poolID *big.Int, newAdministrator common.Address) (*types.Transaction, error)
TransferPoolAdministration is a paid mutator transaction binding the contract method 0x3db26319.
Solidity: function transferPoolAdministration(uint256 poolID, address newAdministrator) returns()
func (*StakerTransactorSession) Unstake ¶
func (_Staker *StakerTransactorSession) Unstake(positionTokenID *big.Int) (*types.Transaction, error)
Unstake is a paid mutator transaction binding the contract method 0x2e17de78.
Solidity: function unstake(uint256 positionTokenID) returns()
func (*StakerTransactorSession) UpdatePoolConfiguration ¶
func (_Staker *StakerTransactorSession) UpdatePoolConfiguration(poolID *big.Int, changeTransferability bool, transferable bool, changeLockup bool, lockupSeconds *big.Int, changeCooldown bool, cooldownSeconds *big.Int) (*types.Transaction, error)
UpdatePoolConfiguration is a paid mutator transaction binding the contract method 0x007d0cec.
Solidity: function updatePoolConfiguration(uint256 poolID, bool changeTransferability, bool transferable, bool changeLockup, uint256 lockupSeconds, bool changeCooldown, uint256 cooldownSeconds) returns()
type StakerTransfer ¶
type StakerTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos }
StakerTransfer represents a Transfer event raised by the Staker contract.
type StakerTransferIterator ¶
type StakerTransferIterator struct { Event *StakerTransfer // Event containing the contract specifics and raw log // contains filtered or unexported fields }
StakerTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the Staker contract.
func (*StakerTransferIterator) Close ¶
func (it *StakerTransferIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*StakerTransferIterator) Error ¶
func (it *StakerTransferIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*StakerTransferIterator) Next ¶
func (it *StakerTransferIterator) 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 StakerUnstakeInitiated ¶
type StakerUnstakeInitiated struct { PositionTokenID *big.Int Owner common.Address Raw types.Log // Blockchain specific contextual infos }
StakerUnstakeInitiated represents a UnstakeInitiated event raised by the Staker contract.
type StakerUnstakeInitiatedIterator ¶
type StakerUnstakeInitiatedIterator struct { Event *StakerUnstakeInitiated // Event containing the contract specifics and raw log // contains filtered or unexported fields }
StakerUnstakeInitiatedIterator is returned from FilterUnstakeInitiated and is used to iterate over the raw logs and unpacked data for UnstakeInitiated events raised by the Staker contract.
func (*StakerUnstakeInitiatedIterator) Close ¶
func (it *StakerUnstakeInitiatedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*StakerUnstakeInitiatedIterator) Error ¶
func (it *StakerUnstakeInitiatedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*StakerUnstakeInitiatedIterator) Next ¶
func (it *StakerUnstakeInitiatedIterator) 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 StakerUnstaked ¶
type StakerUnstaked struct { PositionTokenID *big.Int Owner common.Address PoolID *big.Int AmountOrTokenID *big.Int Raw types.Log // Blockchain specific contextual infos }
StakerUnstaked represents a Unstaked event raised by the Staker contract.
type StakerUnstakedIterator ¶
type StakerUnstakedIterator struct { Event *StakerUnstaked // Event containing the contract specifics and raw log // contains filtered or unexported fields }
StakerUnstakedIterator is returned from FilterUnstaked and is used to iterate over the raw logs and unpacked data for Unstaked events raised by the Staker contract.
func (*StakerUnstakedIterator) Close ¶
func (it *StakerUnstakedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*StakerUnstakedIterator) Error ¶
func (it *StakerUnstakedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*StakerUnstakedIterator) Next ¶
func (it *StakerUnstakedIterator) 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.