Documentation
¶
Index ¶
- Variables
- type PackedUserOperation
- type PayloadCall
- type PayloadDecoded
- type WalletStage1
- type WalletStage1CallAborted
- type WalletStage1CallAbortedIterator
- type WalletStage1CallFailed
- type WalletStage1CallFailedIterator
- type WalletStage1CallSkipped
- type WalletStage1CallSkippedIterator
- type WalletStage1CallSucceeded
- type WalletStage1CallSucceededIterator
- type WalletStage1Caller
- func (_WalletStage1 *WalletStage1Caller) Entrypoint(opts *bind.CallOpts) (common.Address, error)
- func (_WalletStage1 *WalletStage1Caller) FACTORY(opts *bind.CallOpts) (common.Address, error)
- func (_WalletStage1 *WalletStage1Caller) GetImplementation(opts *bind.CallOpts) (common.Address, error)
- func (_WalletStage1 *WalletStage1Caller) GetStaticSignature(opts *bind.CallOpts, _hash [32]byte) (common.Address, *big.Int, error)
- func (_WalletStage1 *WalletStage1Caller) INITCODEHASH(opts *bind.CallOpts) ([32]byte, error)
- func (_WalletStage1 *WalletStage1Caller) IsValidSignature(opts *bind.CallOpts, _hash [32]byte, _signature []byte) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Caller) OnERC1155BatchReceived(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 []*big.Int, ...) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Caller) OnERC1155Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, ...) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Caller) OnERC721Received(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, ...) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Caller) ReadHook(opts *bind.CallOpts, selector [4]byte) (common.Address, error)
- func (_WalletStage1 *WalletStage1Caller) ReadNonce(opts *bind.CallOpts, _space *big.Int) (*big.Int, error)
- func (_WalletStage1 *WalletStage1Caller) RecoverPartialSignature(opts *bind.CallOpts, _payload PayloadDecoded, _signature []byte) (struct{ ... }, error)
- func (_WalletStage1 *WalletStage1Caller) RecoverSapientSignature(opts *bind.CallOpts, _payload PayloadDecoded, _signature []byte) ([32]byte, error)
- func (_WalletStage1 *WalletStage1Caller) STAGE2IMPLEMENTATION(opts *bind.CallOpts) (common.Address, error)
- func (_WalletStage1 *WalletStage1Caller) TokenReceived(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int, arg2 []byte) ([4]byte, error)
- type WalletStage1CallerRaw
- type WalletStage1CallerSession
- func (_WalletStage1 *WalletStage1CallerSession) Entrypoint() (common.Address, error)
- func (_WalletStage1 *WalletStage1CallerSession) FACTORY() (common.Address, error)
- func (_WalletStage1 *WalletStage1CallerSession) GetImplementation() (common.Address, error)
- func (_WalletStage1 *WalletStage1CallerSession) GetStaticSignature(_hash [32]byte) (common.Address, *big.Int, error)
- func (_WalletStage1 *WalletStage1CallerSession) INITCODEHASH() ([32]byte, error)
- func (_WalletStage1 *WalletStage1CallerSession) IsValidSignature(_hash [32]byte, _signature []byte) ([4]byte, error)
- func (_WalletStage1 *WalletStage1CallerSession) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, ...) ([4]byte, error)
- func (_WalletStage1 *WalletStage1CallerSession) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, ...) ([4]byte, error)
- func (_WalletStage1 *WalletStage1CallerSession) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error)
- func (_WalletStage1 *WalletStage1CallerSession) ReadHook(selector [4]byte) (common.Address, error)
- func (_WalletStage1 *WalletStage1CallerSession) ReadNonce(_space *big.Int) (*big.Int, error)
- func (_WalletStage1 *WalletStage1CallerSession) RecoverPartialSignature(_payload PayloadDecoded, _signature []byte) (struct{ ... }, error)
- func (_WalletStage1 *WalletStage1CallerSession) RecoverSapientSignature(_payload PayloadDecoded, _signature []byte) ([32]byte, error)
- func (_WalletStage1 *WalletStage1CallerSession) STAGE2IMPLEMENTATION() (common.Address, error)
- func (_WalletStage1 *WalletStage1CallerSession) TokenReceived(arg0 common.Address, arg1 *big.Int, arg2 []byte) ([4]byte, error)
- type WalletStage1DefinedHook
- type WalletStage1DefinedHookIterator
- type WalletStage1Filterer
- func (_WalletStage1 *WalletStage1Filterer) FilterCallAborted(opts *bind.FilterOpts) (*WalletStage1CallAbortedIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) FilterCallFailed(opts *bind.FilterOpts) (*WalletStage1CallFailedIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) FilterCallSkipped(opts *bind.FilterOpts) (*WalletStage1CallSkippedIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) FilterCallSucceeded(opts *bind.FilterOpts) (*WalletStage1CallSucceededIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) FilterDefinedHook(opts *bind.FilterOpts) (*WalletStage1DefinedHookIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) FilterImageHashUpdated(opts *bind.FilterOpts) (*WalletStage1ImageHashUpdatedIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) FilterImplementationUpdated(opts *bind.FilterOpts) (*WalletStage1ImplementationUpdatedIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) FilterNonceChange(opts *bind.FilterOpts) (*WalletStage1NonceChangeIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) FilterStaticSignatureSet(opts *bind.FilterOpts) (*WalletStage1StaticSignatureSetIterator, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseCallAborted(log types.Log) (*WalletStage1CallAborted, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseCallFailed(log types.Log) (*WalletStage1CallFailed, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseCallSkipped(log types.Log) (*WalletStage1CallSkipped, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseCallSucceeded(log types.Log) (*WalletStage1CallSucceeded, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseDefinedHook(log types.Log) (*WalletStage1DefinedHook, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseImageHashUpdated(log types.Log) (*WalletStage1ImageHashUpdated, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseImplementationUpdated(log types.Log) (*WalletStage1ImplementationUpdated, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseNonceChange(log types.Log) (*WalletStage1NonceChange, error)
- func (_WalletStage1 *WalletStage1Filterer) ParseStaticSignatureSet(log types.Log) (*WalletStage1StaticSignatureSet, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchCallAborted(opts *bind.WatchOpts, sink chan<- *WalletStage1CallAborted) (event.Subscription, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchCallFailed(opts *bind.WatchOpts, sink chan<- *WalletStage1CallFailed) (event.Subscription, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchCallSkipped(opts *bind.WatchOpts, sink chan<- *WalletStage1CallSkipped) (event.Subscription, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchCallSucceeded(opts *bind.WatchOpts, sink chan<- *WalletStage1CallSucceeded) (event.Subscription, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchDefinedHook(opts *bind.WatchOpts, sink chan<- *WalletStage1DefinedHook) (event.Subscription, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchImageHashUpdated(opts *bind.WatchOpts, sink chan<- *WalletStage1ImageHashUpdated) (event.Subscription, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchImplementationUpdated(opts *bind.WatchOpts, sink chan<- *WalletStage1ImplementationUpdated) (event.Subscription, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchNonceChange(opts *bind.WatchOpts, sink chan<- *WalletStage1NonceChange) (event.Subscription, error)
- func (_WalletStage1 *WalletStage1Filterer) WatchStaticSignatureSet(opts *bind.WatchOpts, sink chan<- *WalletStage1StaticSignatureSet) (event.Subscription, error)
- type WalletStage1ImageHashUpdated
- type WalletStage1ImageHashUpdatedIterator
- type WalletStage1ImplementationUpdated
- type WalletStage1ImplementationUpdatedIterator
- type WalletStage1NonceChange
- type WalletStage1NonceChangeIterator
- type WalletStage1Raw
- func (_WalletStage1 *WalletStage1Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, ...) error
- func (_WalletStage1 *WalletStage1Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
- type WalletStage1Session
- func (_WalletStage1 *WalletStage1Session) AddHook(selector [4]byte, implementation common.Address) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) Entrypoint() (common.Address, error)
- func (_WalletStage1 *WalletStage1Session) Execute(_payload []byte, _signature []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) ExecuteUserOp(_payload []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) FACTORY() (common.Address, error)
- func (_WalletStage1 *WalletStage1Session) Fallback(calldata []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) GetImplementation() (common.Address, error)
- func (_WalletStage1 *WalletStage1Session) GetStaticSignature(_hash [32]byte) (common.Address, *big.Int, error)
- func (_WalletStage1 *WalletStage1Session) INITCODEHASH() ([32]byte, error)
- func (_WalletStage1 *WalletStage1Session) IsValidSignature(_hash [32]byte, _signature []byte) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Session) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, ...) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Session) OnERC1155Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 *big.Int, ...) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Session) OnERC721Received(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Session) ReadHook(selector [4]byte) (common.Address, error)
- func (_WalletStage1 *WalletStage1Session) ReadNonce(_space *big.Int) (*big.Int, error)
- func (_WalletStage1 *WalletStage1Session) Receive() (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) RecoverPartialSignature(_payload PayloadDecoded, _signature []byte) (struct{ ... }, error)
- func (_WalletStage1 *WalletStage1Session) RecoverSapientSignature(_payload PayloadDecoded, _signature []byte) ([32]byte, error)
- func (_WalletStage1 *WalletStage1Session) RemoveHook(selector [4]byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) STAGE2IMPLEMENTATION() (common.Address, error)
- func (_WalletStage1 *WalletStage1Session) SelfExecute(_payload []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) SetStaticSignature(_hash [32]byte, _address common.Address, _timestamp *big.Int) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) TokenReceived(arg0 common.Address, arg1 *big.Int, arg2 []byte) ([4]byte, error)
- func (_WalletStage1 *WalletStage1Session) TokensReceived(operator common.Address, from common.Address, to common.Address, ...) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) UpdateImageHash(_imageHash [32]byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) UpdateImplementation(_implementation common.Address) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Session) ValidateUserOp(userOp PackedUserOperation, userOpHash [32]byte, missingAccountFunds *big.Int) (*types.Transaction, error)
- type WalletStage1StaticSignatureSet
- type WalletStage1StaticSignatureSetIterator
- type WalletStage1Transactor
- func (_WalletStage1 *WalletStage1Transactor) AddHook(opts *bind.TransactOpts, selector [4]byte, implementation common.Address) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) Execute(opts *bind.TransactOpts, _payload []byte, _signature []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) ExecuteUserOp(opts *bind.TransactOpts, _payload []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) Fallback(opts *bind.TransactOpts, calldata []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) RemoveHook(opts *bind.TransactOpts, selector [4]byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) SelfExecute(opts *bind.TransactOpts, _payload []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) SetStaticSignature(opts *bind.TransactOpts, _hash [32]byte, _address common.Address, ...) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) TokensReceived(opts *bind.TransactOpts, operator common.Address, from common.Address, ...) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) UpdateImageHash(opts *bind.TransactOpts, _imageHash [32]byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) UpdateImplementation(opts *bind.TransactOpts, _implementation common.Address) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1Transactor) ValidateUserOp(opts *bind.TransactOpts, userOp PackedUserOperation, userOpHash [32]byte, ...) (*types.Transaction, error)
- type WalletStage1TransactorRaw
- type WalletStage1TransactorSession
- func (_WalletStage1 *WalletStage1TransactorSession) AddHook(selector [4]byte, implementation common.Address) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) Execute(_payload []byte, _signature []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) ExecuteUserOp(_payload []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) Fallback(calldata []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) Receive() (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) RemoveHook(selector [4]byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) SelfExecute(_payload []byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) SetStaticSignature(_hash [32]byte, _address common.Address, _timestamp *big.Int) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) TokensReceived(operator common.Address, from common.Address, to common.Address, ...) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) UpdateImageHash(_imageHash [32]byte) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) UpdateImplementation(_implementation common.Address) (*types.Transaction, error)
- func (_WalletStage1 *WalletStage1TransactorSession) ValidateUserOp(userOp PackedUserOperation, userOpHash [32]byte, missingAccountFunds *big.Int) (*types.Transaction, error)
Constants ¶
This section is empty.
Variables ¶
var WalletStage1ABI = WalletStage1MetaData.ABI
WalletStage1ABI is the input ABI used to generate the binding from. Deprecated: Use WalletStage1MetaData.ABI instead.
var WalletStage1Bin = WalletStage1MetaData.Bin
WalletStage1Bin is the compiled bytecode used for deploying new contracts. Deprecated: Use WalletStage1MetaData.Bin instead.
var WalletStage1MetaData = &bind.MetaData{
ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_factory\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_entryPoint\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"fallback\",\"stateMutability\":\"payable\"},{\"type\":\"receive\",\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"FACTORY\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"INIT_CODE_HASH\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"STAGE_2_IMPLEMENTATION\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"addHook\",\"inputs\":[{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"},{\"name\":\"implementation\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"entrypoint\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"execute\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"executeUserOp\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getImplementation\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getStaticSignature\",\"inputs\":[{\"name\":\"_hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isValidSignature\",\"inputs\":[{\"name\":\"_hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"onERC1155BatchReceived\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"uint256[]\",\"internalType\":\"uint256[]\"},{\"name\":\"\",\"type\":\"uint256[]\",\"internalType\":\"uint256[]\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"onERC1155Received\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"onERC721Received\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"readHook\",\"inputs\":[{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"readNonce\",\"inputs\":[{\"name\":\"_space\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"recoverPartialSignature\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"tuple\",\"internalType\":\"structPayload.Decoded\",\"components\":[{\"name\":\"kind\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"noChainId\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"calls\",\"type\":\"tuple[]\",\"internalType\":\"structPayload.Call[]\",\"components\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"delegateCall\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"onlyFallback\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"behaviorOnError\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"space\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"message\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"digest\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"parentWallets\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"threshold\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"weight\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"isValidImage\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"checkpoint\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"opHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"recoverSapientSignature\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"tuple\",\"internalType\":\"structPayload.Decoded\",\"components\":[{\"name\":\"kind\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"noChainId\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"calls\",\"type\":\"tuple[]\",\"internalType\":\"structPayload.Call[]\",\"components\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"delegateCall\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"onlyFallback\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"behaviorOnError\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"space\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"message\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"digest\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"parentWallets\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"removeHook\",\"inputs\":[{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"selfExecute\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"setStaticSignature\",\"inputs\":[{\"name\":\"_hash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_address\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_timestamp\",\"type\":\"uint96\",\"internalType\":\"uint96\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"tokenReceived\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"tokensReceived\",\"inputs\":[{\"name\":\"operator\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"operatorData\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateImageHash\",\"inputs\":[{\"name\":\"_imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateImplementation\",\"inputs\":[{\"name\":\"_implementation\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"validateUserOp\",\"inputs\":[{\"name\":\"userOp\",\"type\":\"tuple\",\"internalType\":\"structPackedUserOperation\",\"components\":[{\"name\":\"sender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"initCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"callData\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"accountGasLimits\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"preVerificationGas\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"gasFees\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"paymasterAndData\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"userOpHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"missingAccountFunds\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"validationData\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"CallAborted\",\"inputs\":[{\"name\":\"_opHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"_index\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"_returnData\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"CallFailed\",\"inputs\":[{\"name\":\"_opHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"_index\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"_returnData\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"CallSkipped\",\"inputs\":[{\"name\":\"_opHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"_index\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"CallSucceeded\",\"inputs\":[{\"name\":\"_opHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"_index\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"DefinedHook\",\"inputs\":[{\"name\":\"selector\",\"type\":\"bytes4\",\"indexed\":false,\"internalType\":\"bytes4\"},{\"name\":\"implementation\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ImageHashUpdated\",\"inputs\":[{\"name\":\"newImageHash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ImplementationUpdated\",\"inputs\":[{\"name\":\"newImplementation\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"NonceChange\",\"inputs\":[{\"name\":\"_space\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"_newNonce\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"StaticSignatureSet\",\"inputs\":[{\"name\":\"_hash\",\"type\":\"bytes32\",\"indexed\":false,\"internalType\":\"bytes32\"},{\"name\":\"_address\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"_timestamp\",\"type\":\"uint96\",\"indexed\":false,\"internalType\":\"uint96\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"BadNonce\",\"inputs\":[{\"name\":\"_space\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_provided\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_current\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ERC4337Disabled\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"HookAlreadyExists\",\"inputs\":[{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}]},{\"type\":\"error\",\"name\":\"HookDoesNotExist\",\"inputs\":[{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}]},{\"type\":\"error\",\"name\":\"ImageHashIsZero\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidERC1271Signature\",\"inputs\":[{\"name\":\"_opHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_signer\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"type\":\"error\",\"name\":\"InvalidEntryPoint\",\"inputs\":[{\"name\":\"_entrypoint\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"InvalidKind\",\"inputs\":[{\"name\":\"kind\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"type\":\"error\",\"name\":\"InvalidSapientSignature\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"tuple\",\"internalType\":\"structPayload.Decoded\",\"components\":[{\"name\":\"kind\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"noChainId\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"calls\",\"type\":\"tuple[]\",\"internalType\":\"structPayload.Call[]\",\"components\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"delegateCall\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"onlyFallback\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"behaviorOnError\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"space\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"message\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"digest\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"parentWallets\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"type\":\"error\",\"name\":\"InvalidSignature\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"tuple\",\"internalType\":\"structPayload.Decoded\",\"components\":[{\"name\":\"kind\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"noChainId\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"calls\",\"type\":\"tuple[]\",\"internalType\":\"structPayload.Call[]\",\"components\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"delegateCall\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"onlyFallback\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"behaviorOnError\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"space\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"message\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"digest\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"parentWallets\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"type\":\"error\",\"name\":\"InvalidSignatureFlag\",\"inputs\":[{\"name\":\"_flag\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"InvalidSignatureType\",\"inputs\":[{\"name\":\"_type\",\"type\":\"bytes1\",\"internalType\":\"bytes1\"}]},{\"type\":\"error\",\"name\":\"InvalidSignatureWeight\",\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_weight\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"InvalidStaticSignatureExpired\",\"inputs\":[{\"name\":\"_opHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_expires\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"InvalidStaticSignatureWrongCaller\",\"inputs\":[{\"name\":\"_opHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"_caller\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_expectedCaller\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"LowWeightChainedSignature\",\"inputs\":[{\"name\":\"_signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"_threshold\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_weight\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"NotEnoughGas\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"tuple\",\"internalType\":\"structPayload.Decoded\",\"components\":[{\"name\":\"kind\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"noChainId\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"calls\",\"type\":\"tuple[]\",\"internalType\":\"structPayload.Call[]\",\"components\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"delegateCall\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"onlyFallback\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"behaviorOnError\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"space\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"message\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"digest\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"parentWallets\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"_index\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_gasLeft\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"OnlySelf\",\"inputs\":[{\"name\":\"_sender\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ReentrantCall\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Reverted\",\"inputs\":[{\"name\":\"_payload\",\"type\":\"tuple\",\"internalType\":\"structPayload.Decoded\",\"components\":[{\"name\":\"kind\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"noChainId\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"calls\",\"type\":\"tuple[]\",\"internalType\":\"structPayload.Call[]\",\"components\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"gasLimit\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"delegateCall\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"onlyFallback\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"behaviorOnError\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"name\":\"space\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"message\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"digest\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"parentWallets\",\"type\":\"address[]\",\"internalType\":\"address[]\"}]},{\"name\":\"_index\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_returnData\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"type\":\"error\",\"name\":\"UnusedSnapshot\",\"inputs\":[{\"name\":\"_snapshot\",\"type\":\"tuple\",\"internalType\":\"structSnapshot\",\"components\":[{\"name\":\"imageHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"checkpoint\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}]},{\"type\":\"error\",\"name\":\"WrongChainedCheckpointOrder\",\"inputs\":[{\"name\":\"_nextCheckpoint\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"_checkpoint\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}]",
Bin: "0x61010080604052346101ae5760408161814f803803809161002082856101b3565b8339810103126101ae5761003f6020610038836101d6565b92016101d6565b604051909190613f17808201906001600160401b0382118383101761018c57602091839161423883396001600160a01b03861681520301906000f09081156101a257604051606081016001600160401b0381118282101761018c576040908152602f82527f6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d305460208301526e5af43d82803e903d91601f57fd5bf360881b82820152519060005b602f811061017757505030604f820152604f8152610104606f826101b3565b805160209091012060805260a0526001600160a01b031660c05260e05260405161404d90816101eb8239608051818181610c510152613c71015260a051818181610d9f0152613c42015260c051818181610d060152611244015260e0518181816110dd015281816112b30152611b470152f35b806020809284010151828286010152016100e5565b634e487b7160e01b600052604160045260246000fd5b6040513d6000823e3d90fd5b600080fd5b601f909101601f19168101906001600160401b0382119082101761018c57604052565b51906001600160a01b03821682036101ae5756fe6080604052600436101561001e575b361561001c5761001c611e05565b005b60003560e01c806223de29146101ad578063025b22bc146101a857806313792a4a146101a3578063150b7a021461019e5780631626ba7e1461019957806319822f7c146101945780631a9b23371461018f5780631f6a1eb91461018a578063257671f51461018557806329561426146101805780632dd310001461017b5780634fcf3eca146101765780636ea44577146101715780638943ec021461016c5780638c3f55631461016757806392dcb3fc146101625780639c145aed1461015d5780639f69ef5414610158578063a65d69d414610153578063aaf10f421461014e578063ad55366b14610149578063b93ea7ad14610144578063bc197c811461013f578063f23a6e611461013a5763f727ef1c0361000e57611632565b6115a5565b6114d3565b611374565b611328565b6112d7565b611268565b6111f9565b61106a565b61100c565b610fd0565b610f4c565b610f1d565b610dc3565b610d54565b610c74565b610c1b565b610aff565b610a9c565b6109e7565b61095f565b6108d2565b6107d5565b6102fb565b61026f565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d557565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101d557565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036101d557565b359073ffffffffffffffffffffffffffffffffffffffff821682036101d557565b9181601f840112156101d55782359167ffffffffffffffff83116101d557602083818601950101116101d557565b346101d55760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d5576102a66101b2565b506102af6101da565b506102b86101fd565b5060843567ffffffffffffffff81116101d5576102d9903690600401610241565b505060a43567ffffffffffffffff81116101d55761001c903690600401610241565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d55761032d6101b2565b30330361033d5761001c90611ece565b7fa19dbf00000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176103b657604052565b61036b565b6040810190811067ffffffffffffffff8211176103b657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b657604052565b6040519061042760e0836103d7565b565b60405190610427610120836103d7565b359060ff821682036101d557565b359081151582036101d557565b67ffffffffffffffff81116103b65760051b60200190565b67ffffffffffffffff81116103b657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926104b28261046c565b916104c060405193846103d7565b8294818452818301116101d5578281602093846000960137010152565b9080601f830112156101d5578160206104f8933591016104a6565b90565b81601f820112156101d55780359061051282610454565b9261052060405194856103d7565b82845260208085019360051b830101918183116101d55760208101935b83851061054c57505050505090565b843567ffffffffffffffff81116101d557820160e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082860301126101d557610593610418565b916105a060208301610220565b83526040820135602084015260608201359267ffffffffffffffff84116101d55760e0836105d58860208098819801016104dd565b6040840152608081013560608401526105f060a08201610447565b608084015261060160c08201610447565b60a0840152013560c082015281520194019361053d565b9080601f830112156101d557813561062f81610454565b9261063d60405194856103d7565b81845260208085019260051b8201019283116101d557602001905b8282106106655750505090565b6020809161067284610220565b815201910190610658565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126101d55760043567ffffffffffffffff81116101d5576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82850301126101d5576106ef610429565b906106fc81600401610439565b825261070a60248201610447565b6020830152604481013567ffffffffffffffff81116101d557846004610732928401016104fb565b6040830152606481013560608301526084810135608083015260a481013567ffffffffffffffff81116101d55784600461076e928401016104dd565b60a083015260c481013560c083015260e481013560e083015261010481013567ffffffffffffffff81116101d557600485916107ab930101610618565b610100820152916024359067ffffffffffffffff82116101d5576107d191600401610241565b9091565b346101d5576107e33661067d565b90916101008101926107fe6107f985515161173a565b61175a565b9160005b85518051821015610865579061085f61083a610820836001956117d8565b5173ffffffffffffffffffffffffffffffffffffffff1690565b61084483886117d8565b9073ffffffffffffffffffffffffffffffffffffffff169052565b01610802565b505083838661087a33610844835151856117d8565b52610886818484611f1d565b50156108985760405160018152602090f35b6108ce906040519384937ff58cc8b500000000000000000000000000000000000000000000000000000000855260048501611a33565b0390fd5b346101d55760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d5576109096101b2565b506109126101da565b5060643567ffffffffffffffff81116101d557610933903690600401610241565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b346101d55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d55760043560243567ffffffffffffffff81116101d5576020916109b76109bd923690600401610241565b91611a58565b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b346101d55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d55760043567ffffffffffffffff81116101d5576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82360301126101d557610a6a60209160243560443591600401611b2d565b604051908152f35b7fffffffff000000000000000000000000000000000000000000000000000000008116036101d557565b346101d55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d5576020610ae1600435610adc81610a72565b612102565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d55760043567ffffffffffffffff81116101d557610b49903690600401610241565b60243567ffffffffffffffff81116101d557610b69903690600401610241565b9160027ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde5414610be657610bc09360027ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde55611cce565b60017ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde55005b7f37ed32e80000000000000000000000000000000000000000000000000000000060005260046000fd5b60009103126101d557565b346101d55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d55760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101d55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d55760043530330361033d578015610d2a576020817f307ed6bd941ee9fc80f369c94af5fa11e25bab5102a6140191756c5474a30bfa927fea7157fa25e3aa17d0ae2d5280fa4e24d421c61842aa85e45194e1145aa72bf855604051908152a161001c7f0000000000000000000000000000000000000000000000000000000000000000611ece565b7f4294d1270000000000000000000000000000000000000000000000000000000060005260046000fd5b346101d55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d557600435610df981610a72565b30330361033d5773ffffffffffffffffffffffffffffffffffffffff610e1e82612102565b1615610e845760407fffffffff000000000000000000000000000000000000000000000000000000007f0d7fc113eaf016db4681a1ba86d083ce3e0961f321062a75ac2b0aeb33deeed19216610e75600082612e27565b815190815260006020820152a1005b7fffffffff00000000000000000000000000000000000000000000000000000000907f1c3812cc000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126101d5576004359067ffffffffffffffff82116101d5576107d191600401610241565b610f2636610ed4565b9030330361033d57610f3c61001c925a92612237565b90610f46826128b4565b90612590565b346101d55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d557610f836101b2565b5060443567ffffffffffffffff81116101d557610fa4903690600401610241565b505060206040517f8943ec02000000000000000000000000000000000000000000000000000000008152f35b346101d55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d5576020610a6a600435612948565b346101d55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d557604061104860043561298e565b73ffffffffffffffffffffffffffffffffffffffff8351921682526020820152f35b346101d55761107836610ed4565b9060027ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde5414610be65760027ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde5573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156111cf5733036111a157303b156101d55761114b9160009160405193849283927f6ea4457700000000000000000000000000000000000000000000000000000000845260048401611dc4565b038183305af1801561119c576111815760017ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde55005b806111906000611196936103d7565b80610c10565b38610bc0565b611aa4565b7f1d6ddbf4000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b7fd13d78350000000000000000000000000000000000000000000000000000000060005260046000fd5b346101d55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101d55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101d55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d5576020305473ffffffffffffffffffffffffffffffffffffffff60405191168152f35b346101d55760c061134460008061133e3661067d565b91612a56565b92611350839293613bde565b906040519586526020860152151560408501526060840152608083015260a0820152f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d5576004356113aa81610a72565b6113b26101da565b9030330361033d5773ffffffffffffffffffffffffffffffffffffffff6113d882612102565b16611452577f0d7fc113eaf016db4681a1ba86d083ce3e0961f321062a75ac2b0aeb33deeed19173ffffffffffffffffffffffffffffffffffffffff7fffffffff000000000000000000000000000000000000000000000000000000006040931691166114458183612e27565b82519182526020820152a1005b7fffffffff00000000000000000000000000000000000000000000000000000000907f5b4d6d6a000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b9181601f840112156101d55782359167ffffffffffffffff83116101d5576020808501948460051b0101116101d557565b346101d55760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d55761150a6101b2565b506115136101da565b5060443567ffffffffffffffff81116101d5576115349036906004016114a2565b505060643567ffffffffffffffff81116101d5576115569036906004016114a2565b505060843567ffffffffffffffff81116101d557611578903690600401610241565b50506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b346101d55760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d5576115dc6101b2565b506115e56101da565b5060843567ffffffffffffffff81116101d557611606903690600401610241565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b346101d55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d55760043561166c6101da565b604435916bffffffffffffffffffffffff83168093036101d55730330361033d578273ffffffffffffffffffffffffffffffffffffffff836116f77febf265acfac1c01de588ed7ef49743b9c3ce8d6d1edeaf510a1f5453228515b1967fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606097881b161785612da3565b6040519384521660208301526040820152a1005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b906001820180921161174857565b61170b565b9190820180921161174857565b9061176482610454565b61177160405191826103d7565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061179f8294610454565b0190602036910137565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80518210156117ec5760209160051b010190565b6117a9565b919082519283825260005b84811061183b5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b806020809284010151828286010152016117fc565b9080602083519182815201916020808360051b8301019401926000915b83831061187c57505050505090565b9091929394602080827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0856001950301865288519073ffffffffffffffffffffffffffffffffffffffff8251168152828201518382015260c0806118ef604085015160e0604086015260e08501906117f1565b936060810151606085015260808101511515608085015260a0810151151560a085015201519101529701930193019193929061186d565b906020808351928381520192019060005b8181106119445750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611937565b805160ff1682526104f8916020828101511515908201526101006119ce6119a860408501516101206040860152610120850190611850565b606085015160608501526080850151608085015260a085015184820360a08601526117f1565b9260c081015160c084015260e081015160e0840152015190610100818403910152611926565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b91611a4a6104f89492604085526040850190611970565b9260208185039101526119f4565b90611a759291611a666120a7565b906003825260e0820152611f1d565b5015611a9f577f1626ba7e0000000000000000000000000000000000000000000000000000000090565b600090565b6040513d6000823e3d90fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101d5570180359067ffffffffffffffff82116101d5576020019181360383136101d557565b908160209103126101d557516104f881610a72565b6040906104f89492815281602082015201916119f4565b91909173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169182156111cf578233036111a15780611c5f575b506020915080610100611b8f920190611ab0565b92611bc760405194859384937f1626ba7e00000000000000000000000000000000000000000000000000000000855260048501611b16565b0381305afa90811561119c577f1626ba7e00000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091611c30575b501603611c2b57600090565b600190565b611c52915060203d602011611c58575b611c4a81836103d7565b810190611b01565b38611c1f565b503d611c40565b823b156101d5576040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015292600091849160249183915af190811561119c57602092611b8f92611cb9575b5090611b7b565b806111906000611cc8936103d7565b38611cb2565b91939290611cdd905a93612237565b9160608301516080840151611cf182612948565b818103611d9057509060017f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881920190611d2a8282612de8565b604080519182526020820192909252a1611d45828685611f1d565b929015611d585750610427939450612590565b836108ce87926040519384937fa2b6d61b00000000000000000000000000000000000000000000000000000000855260048501611a33565b917f9b6514f40000000000000000000000000000000000000000000000000000000060005260045260245260445260646000fd5b9160206104f89381815201916119f4565b3d15611e00573d90611de68261046c565b91611df460405193846103d7565b82523d6000602084013e565b606090565b600436108015611e125750565b611e48906000357fffffffff00000000000000000000000000000000000000000000000000000000811691611e9a575b50612102565b73ffffffffffffffffffffffffffffffffffffffff8116611e665750565b60008091604051368382378036810184815203915af4611e84611dd5565b9015611e9257602081519101f35b602081519101fd5b7fffffffff000000000000000000000000000000000000000000000000000000008092503660040360031b1b161638611e42565b60207f310ba5f1d2ed074b51e2eccd052a47ae9ab7c6b800d1fca3db3999d6a592ca039180305573ffffffffffffffffffffffffffffffffffffffff60405191168152a1565b90156117ec5790565b91907f800000000000000000000000000000000000000000000000000000000000000080611f74611f4e8585611f14565b357fff000000000000000000000000000000000000000000000000000000000000001690565b1614611fd3576000918291611f8894612a56565b905091909192808210611fa3575050611fa090613bde565b91565b7ffd41fcba0000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b5050611fde906128b4565b90611fe88261298e565b42811115612075575073ffffffffffffffffffffffffffffffffffffffff8116801515908161206a575b5061201e575060019190565b7f8945c3130000000000000000000000000000000000000000000000000000000060005260048390523360245273ffffffffffffffffffffffffffffffffffffffff1660445260646000fd5b905033141538612012565b7ff95b6ab700000000000000000000000000000000000000000000000000000000600052600484905260245260446000fd5b60405190610120820182811067ffffffffffffffff8211176103b6576040526060610100836000815260006020820152826040820152600083820152600060808201528260a0820152600060c0820152600060e08201520152565b73ffffffffffffffffffffffffffffffffffffffff906040517fffffffff0000000000000000000000000000000000000000000000000000000060208201927fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1208452166040820152604081526121796060826103d7565b519020541690565b9061218b82610454565b61219860405191826103d7565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06121c68294610454565b019060005b8281106121d757505050565b6020906040516121e68161039a565b60008152600083820152606060408201526000606082015260006080820152600060a0820152600060c0820152828285010152016121cb565b909392938483116101d55784116101d5578101920390565b9190916122426120a7565b6000815292600190823560f81c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818316016124e45750600060608701525b600761229160ff831660011c90565b1680612493575b5060108181160361245e57506001925b6122b184612181565b92604087019384526000905b8582106122cc57505050505050565b8281013560f81c9060010190918160018085160361243c5750612310306122f48389516117d8565b519073ffffffffffffffffffffffffffffffffffffffff169052565b60028084161461241c575b6004808416146123ce575b60088084161461239b575b61238461237e60c08561235d8a60806123548860108060019c9d161493516117d8565b51019015159052565b6123748a60a06123548860208087161493516117d8565b1660061c60031690565b60ff1690565b60c06123918389516117d8565b51015201906122bd565b6001916123849061237e9060c0908781013590602001969060606123c0878d516117d8565b510152959450505050612331565b90612416908481013560e81c9060030161240f6123f66123ee848461174d565b838a8a61221f565b91906040612405888d516117d8565b51019236916104a6565b905261174d565b90612326565b908381013590602001919060206124348389516117d8565b51015261231b565b61245992508481013560601c9060140192906122f48389516117d8565b612310565b6020908116036124805761ffff918381013560f01c906002015b9216926122a8565b60ff918381013560f81c90600101612478565b6124d7919385929190928160031b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001821b019185013590610100031c16920190565b9290608087015238612298565b80850135606090811c908801526014019250612282565b61251360409295949395606083526060830190611970565b9460208201520152565b926104f896959260c09592855260208501526040840152606083015260808201528160a082015201906117f1565b6104f893926060928252602082015281604082015201906117f1565b61257d6104f89492606083526060830190611970565b92602082015260408184039101526117f1565b916000604082019384515190825b8281106125af575b50505050505050565b6125ba8188516117d8565b51936125c960a0860151151590565b806128ac575b61286c575060009360608101518015801580612863575b61282b5784906125f96080850151151590565b156127e5576126a492612620855173ffffffffffffffffffffffffffffffffffffffff1690565b91156127df57505a905b61269f8b61267360608d01516040890151908c8b604051998a967f4c4e814c0000000000000000000000000000000000000000000000000000000060208901526024880161251d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018552846103d7565b612d76565b156126e7575b506040805187815260208101839052600192917f5a589b1d8062f33451d29cae3dabd9b2e36c62aee644178c600977ca8dda661a91a15b0161259e565b60c001805115612796576001815114612757575160021461270857386126aa565b9493505050507fc2c704302430fe0dc8d95f272e2f4e54bbbc51a3327fd5d75ab41f9fc8fd129b925061274861273c612d88565b6040519384938461254b565b0390a1388080808080806125a6565b50846108ce612764612d88565b6040519384937f7f6b0bb100000000000000000000000000000000000000000000000000000000855260048501612567565b509250600180937f115f347c00e69f252cd6b63c4f81022a9564c6befe8aa719cb74640a4a306f0d6127d76127c9612d88565b604051918291858c8461254b565b0390a16126e1565b9061262a565b835161282093925073ffffffffffffffffffffffffffffffffffffffff169160208501519160001461282557505a905b604085015192612d64565b6126a4565b90612815565b83886108ce5a6040519384937f21395274000000000000000000000000000000000000000000000000000000008552600485016124fb565b50815a106125e6565b6040805188815260208101849052919550600192917f9ae934bf8a986157c889a24c3b3fa85e74b7e4ee4b1f8fc6e7362cb4c1d19d8b91819081016127d7565b5080156125cf565b6129166129426128d46128ce602085015115153090612e66565b93612f61565b60405192839160208301958690916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826103d7565b51902090565b60405160208101917f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e83526040820152604081526129876060826103d7565b5190205490565b60405160208101917fc852adf5e97c2fc3b38f405671e91b7af1697ef0287577f227ef10494c2a8e8683526040820152604081526129cd6060826103d7565b51902054906bffffffffffffffffffffffff8260601c921690565b604051906129f5826103bb565b60006020838281520152565b908160409103126101d557602060405191612a1b836103bb565b805183520151602082015290565b60409073ffffffffffffffffffffffffffffffffffffffff6104f8949316815281602082015201906117f1565b909491939291853560f81c60019093819087612a706129e8565b9360408089161480612d46575b612c49575b505050600180861614612c235760028581161460208501526007600286901c1688820135600382901b6101008190039190911c600190911b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01169101908096918196602016612af29060051c90565b612afb9061173a565b8a820135600382901b6101008190039190911c600190911b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01169101959098899a81612b47846128b4565b988993612b539361221f565b91612b5d93613378565b9098612b7191600052602052604060002090565b90612b8491600052602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff16612bad91600052602052604060002090565b94815190868215159283612c18575b505081612c09575b50612bcc5750565b6040517fccbb534f000000000000000000000000000000000000000000000000000000008152815160048201526020909101516024820152604490fd5b90506020820151101538612bc4565b141591508638612bbc565b86612c3e9792949550612c36939861221f565b939092613156565b919394909293929190565b8a81013560601c985060140192509087908a90849015612c6d575b50829150612a82565b60038101955073ffffffffffffffffffffffffffffffffffffffff945081013560e81c92604092612cf0929091612cbb91612cb4918990612cae898361174d565b9261221f565b36916104a6565b83519586809481937fccce3bc80000000000000000000000000000000000000000000000000000000083523060048401612a29565b0392165afa801561119c57612d0e92600091612d17575b509261174d565b86388981612c64565b612d39915060403d604011612d3f575b612d3181836103d7565b810190612a01565b38612d07565b503d612d27565b5073ffffffffffffffffffffffffffffffffffffffff891615612a7d565b9160009391849360208451940192f190565b9160009291839260208351930191f490565b3d90604051916020818401016040528083526000602084013e565b60405160208101917fc852adf5e97c2fc3b38f405671e91b7af1697ef0287577f227ef10494c2a8e868352604082015260408152612de26060826103d7565b51902055565b60405160208101917f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8352604082015260408152612de26060826103d7565b60405160208101917fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1208352604082015260408152612de26060826103d7565b15612f16576000905b73ffffffffffffffffffffffffffffffffffffffff6040519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f85527f4aa45ca7ad825ceb1bf35643f0a58c295239df563b1b565c2485f96477c5631860408501527f2a80e1ef1d7842f27f2e6be0972bb708b9a135c38860dbe73c27c3486c34f4de606085015260808401521660a082015260a0815261294260c0826103d7565b4690612e6f565b805160209091019060005b818110612f355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101612f28565b610100810151604051612f7c81612916602082018095612f1d565b51902090612f8b815160ff1690565b60ff81168061300457505090612942612fa76040840151613cdb565b9261291660806060830151920151936040519485936020850197889094939260809260a08301967f11e1e4079a79a66e4ade50033cfe2678cdd5341d2dfe5ef9513edb1a0be147a284526020840152604083015260608201520152565b6001810361306257505060a001518051602091820120604080517fe19a3b94fc3c7ece3f890d98a99bc422615537a08dea0603fa8425867d87d466938101938452908101919091526060810192909252906129428160808101612916565b600281036130b857505060c00151604080517f11fdeb7e8373a1aa96bfac8d0ea91526b2c5d15e5cee20e0543e780258f3e8e4602082019081529181019290925260608201929092526129428160808101612916565b60030361310c575060e00151604080517fe19a3b94fc3c7ece3f890d98a99bc422615537a08dea0603fa8425867d87d466602082019081529181019290925260608201929092526129428160808101612916565b7f048183200000000000000000000000000000000000000000000000000000000060005260ff1660045260246000fd5b9061251390604093969594966060845260608401916119f4565b91949290926000956000956000956000956000956131726120a7565b60028152937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9460005b8281106131c9575050505050505080511515806131bb575b612bcc5750565b5060208101518411156131b4565b600381019d50959b50939950919750929091906131ed908b9085013560e81c61174d565b958a6000848903613331575089915b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8c0361330157509060016132368961323d94878961221f565b908b612a56565b9c939c9b929b9a919a99909a9b9d8e9d9e8f905b106132bb5750928b8851146132b2575b808b101561328057508a60c0850152899295929594919493909361319c565b7f37daf62b0000000000000000000000000000000000000000000000000000000060005260048b905260245260446000fd5b60008852613261565b8d8f6108ce6132cc85858c8e61221f565b9390926040519485947fb006aba00000000000000000000000000000000000000000000000000000000086526004860161313c565b9798999a9160016133178b61331e94888a61221f565b9086612a56565b50929d919c909b929a9092918e8e613251565b916131fc565b73ffffffffffffffffffffffffffffffffffffffff6104f89593606093835216602082015281604082015201916119f4565b908160209103126101d5575190565b9391909360009460009460005b818110613393575050505050565b8481013560f881901c9860019092019788979692909160fc1c988915613b77575060018914613b37576002891461397a576003891461394b57600489146138ca576006891461382a57600589146137dc576007891461371557600889146136bf576009891461359657600a8914613433577fb2505f7c00000000000000000000000000000000000000000000000000000000600052600489905260246000fd5b90919293949596975060038916978815613585575b8381013560601c90601401909960021c60031660ff1684820135600382901b6101008190039190911c600190911b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0116910190810190816134ab91878761221f565b6040517f898bd921000000000000000000000000000000000000000000000000000000008152939184916134e3918a60048501611b16565b038373ffffffffffffffffffffffffffffffffffffffff8d1691815a93602094fa91821561119c5761352693600093613552575b5060ff909a168091019a613fa7565b90801561354c579061354091600052602052604060002090565b955b9392919093613385565b50613540565b60ff9193506135779060203d811161357e575b61356f81836103d7565b810190613369565b9290613517565b503d613565565b8084013560f81c9850600101613448565b909192939495969750600389169788156136ae575b8381013560601c90601401909960021c60031660ff1684820135600382901b6101008190039190911c600190911b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01169101908101908161360e91878761221f565b6040517f13792a4a00000000000000000000000000000000000000000000000000000000815293918491613646918b60048501611a33565b038373ffffffffffffffffffffffffffffffffffffffff8d1691815a93602094fa91821561119c5761368893600093613552575060ff909a168091019a613fa7565b9080156136a857906136a291600052602052604060002090565b95613542565b506136a2565b8084013560f81c98506001016135ab565b9850602087019750949593949293919290918201356136dd86613f4e565b81146136ed575b61368890613f68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff98506136e4565b975090919293949597600f169687156137ca575b6020600061373b6137a89a9b86613e16565b9c9092918a60405161377e816129168a82019485603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b51902092604051948594859094939260ff6060936080840197845216602083015260408201520152565b838052039060015afa1561119c576136889060ff6000519a1680910199613e59565b600189019883013560f81c9750613729565b985060208701975094959394929391929091820135808514613802575b61368890613f0f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff98506137f9565b989091929394959662ffffff985061384c61237e600c8416603f9060021c1690565b9182156138b6575b60031680156138a5575b90819061388990613881908781013560e81c906003019c168c01809c898961221f565b90898b613378565b91111561389c575b906136889291613ec4565b99820199613891565b50600281019084013560f01c61385e565b8482013560f81c9250600190910190613854565b97509761392061392d929394959697600f61393593169085929190928160031b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001821b019185013590610100031c16920190565b929083018093868661221f565b908688613378565b906136a292980198600052602052604060002090565b9850965093949293919290919080820135906020019680156136a857906136a291600052602052604060002090565b90919293949596975060038916978815613b26575b8084013560601c996139ee91601401906139ae9060021c60031661237e565b9085929190928160031b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001821b019185013590610100031c16920190565b90810190613a5260208c613a0485858b8b61221f565b919073ffffffffffffffffffffffffffffffffffffffff8c604051968795869485937f1626ba7e00000000000000000000000000000000000000000000000000000000855260048501611b16565b0392165afa90811561119c577f1626ba7e00000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091613b08575b501603613ac457509060ff61368892991680910199613e59565b6108ce613ad58c938993898961221f565b906040519485947fb2fed7ae00000000000000000000000000000000000000000000000000000000865260048601613337565b613b20915060203d8111611c5857611c4a81836103d7565b38613aaa565b8381013560f81c985060010161398f565b98600f91929394959697985016968715613b66575b60148101976136889160ff9091169084013560601c613e59565b8281013560f81c9750600101613b4c565b98509091929394959698600f16978815613bc9575b5060206000613b9f6137a89a9b86613e16565b9c90916040519384938c859094939260ff6060936080840197845216602083015260408201520152565b60018101995083013560f81c97506020613b8c565b73ffffffffffffffffffffffffffffffffffffffff9060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060601b16602183015260358201527f0000000000000000000000000000000000000000000000000000000000000000605582015260558152613ca46075826103d7565b51902016301490565b805160209091019060005b818110613cc55750505090565b8251845260209384019390920191600101613cb8565b9081517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613d21613d0b83610454565b92613d1960405194856103d7565b808452610454565b0136602083013760005b8351811015613dfd5780613d41600192866117d8565b5173ffffffffffffffffffffffffffffffffffffffff81511690602081015190604081015160208151910120906060810151608082015115159060c060a08401511515930151936040519560208701977f0603985259a953da1f65a522f589c17bd1d0117ec1d3abb7c0788aef251ef437895260408801526060870152608086015260a085015260c084015260e08301526101008201526101008152613de9610120826103d7565b519020613df682856117d8565b5201613d2b565b5090915060405161294281612916602082018095613cad565b8101916040602084359401359201601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c0160ff81116117485791565b90604051907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208301937f53657175656e6365207369676e65723a0a000000000000000000000000000000855260601b1660318301526045820152604581526129426065826103d7565b916040519160208301937f53657175656e6365206e657374656420636f6e6669673a0a00000000000000008552603884015260588301526078820152607881526129426098826103d7565b60405160208101917f53657175656e636520737461746963206469676573743a0a000000000000000083526038820152603881526129426058826103d7565b6129166129426128d46128ce600060208601511515612e66565b60405160208101917f53657175656e636520616e792061646472657373207375626469676573743a0a83526040820152604081526129426060826103d7565b91604051917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208401947f53657175656e63652073617069656e7420636f6e6669673a0a00000000000000865260601b166039840152604d830152606d820152606d8152612942608d826103d756fea264697066735822122087a48abc01376affb53cab3dcf4b976377072726f6053a6646463ec2e59c180964736f6c634300081c003360a034607457601f613f1738819003918201601f19168301916001600160401b03831184841017607957808492602094604052833981010312607457516001600160a01b0381168103607457608052604051613e8790816100908239608051818181611066015281816111cd0152611a610152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001e575b361561001c5761001c611d1f565b005b60003560e01c806223de291461018d578063025b22bc1461018857806313792a4a14610183578063150b7a021461017e5780631626ba7e1461017957806319822f7c146101745780631a9b23371461016f5780631f6a1eb91461016a57806329561426146101655780634fcf3eca1461016057806351605d801461015b5780636ea44577146101565780638943ec02146101515780638c3f55631461014c57806392dcb3fc146101475780639c145aed14610142578063a65d69d41461013d578063aaf10f4214610138578063ad55366b14610133578063b93ea7ad1461012e578063bc197c8114610129578063f23a6e61146101245763f727ef1c0361000e5761154c565b6114bf565b6113ed565b61128e565b611242565b6111f1565b611182565b610ff3565b610f95565b610f59565b610ed5565b610ea6565b610e02565b610ce6565b610c2d565b610b1c565b610ab9565b610a04565b61097c565b6108ef565b6107f2565b6102db565b61024f565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101b557565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101b557565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036101b557565b359073ffffffffffffffffffffffffffffffffffffffff821682036101b557565b9181601f840112156101b55782359167ffffffffffffffff83116101b557602083818601950101116101b557565b346101b55760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610286610192565b5061028f6101ba565b506102986101dd565b5060843567ffffffffffffffff81116101b5576102b9903690600401610221565b505060a43567ffffffffffffffff81116101b55761001c903690600401610221565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55761030d610192565b30330361035a576020817f310ba5f1d2ed074b51e2eccd052a47ae9ab7c6b800d1fca3db3999d6a592ca0392305573ffffffffffffffffffffffffffffffffffffffff60405191168152a1005b7fa19dbf00000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176103d357604052565b610388565b6040810190811067ffffffffffffffff8211176103d357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103d357604052565b6040519061044460e0836103f4565b565b60405190610444610120836103f4565b359060ff821682036101b557565b359081151582036101b557565b67ffffffffffffffff81116103d35760051b60200190565b67ffffffffffffffff81116103d357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926104cf82610489565b916104dd60405193846103f4565b8294818452818301116101b5578281602093846000960137010152565b9080601f830112156101b557816020610515933591016104c3565b90565b81601f820112156101b55780359061052f82610471565b9261053d60405194856103f4565b82845260208085019360051b830101918183116101b55760208101935b83851061056957505050505090565b843567ffffffffffffffff81116101b557820160e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082860301126101b5576105b0610435565b916105bd60208301610200565b83526040820135602084015260608201359267ffffffffffffffff84116101b55760e0836105f28860208098819801016104fa565b60408401526080810135606084015261060d60a08201610464565b608084015261061e60c08201610464565b60a0840152013560c082015281520194019361055a565b9080601f830112156101b557813561064c81610471565b9261065a60405194856103f4565b81845260208085019260051b8201019283116101b557602001905b8282106106825750505090565b6020809161068f84610200565b815201910190610675565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126101b55760043567ffffffffffffffff81116101b5576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82850301126101b55761070c610446565b9061071981600401610456565b825261072760248201610464565b6020830152604481013567ffffffffffffffff81116101b55784600461074f92840101610518565b6040830152606481013560608301526084810135608083015260a481013567ffffffffffffffff81116101b55784600461078b928401016104fa565b60a083015260c481013560c083015260e481013560e083015261010481013567ffffffffffffffff81116101b557600485916107c8930101610635565b610100820152916024359067ffffffffffffffff82116101b5576107ee91600401610221565b9091565b346101b5576108003661069a565b909161010081019261081b610816855151611654565b611674565b9160005b85518051821015610882579061087c61085761083d836001956116f2565b5173ffffffffffffffffffffffffffffffffffffffff1690565b61086183886116f2565b9073ffffffffffffffffffffffffffffffffffffffff169052565b0161081f565b505083838661089733610861835151856116f2565b526108a3818484611df1565b50156108b55760405160018152602090f35b6108eb906040519384937ff58cc8b50000000000000000000000000000000000000000000000000000000085526004850161194d565b0390fd5b346101b55760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610926610192565b5061092f6101ba565b5060643567ffffffffffffffff81116101b557610950903690600401610221565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b346101b55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760043560243567ffffffffffffffff81116101b5576020916109d46109da923690600401610221565b91611972565b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b346101b55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760043567ffffffffffffffff81116101b5576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82360301126101b557610a8760209160243560443591600401611a47565b604051908152f35b7fffffffff000000000000000000000000000000000000000000000000000000008116036101b557565b346101b55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576020610afe600435610af981610a8f565b611fd6565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760043567ffffffffffffffff81116101b557610b66903690600401610221565b60243567ffffffffffffffff81116101b557610b86903690600401610221565b9160027ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde5414610c0357610bdd9360027ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde55611be8565b60017ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde55005b7f37ed32e80000000000000000000000000000000000000000000000000000000060005260046000fd5b346101b55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760043530330361035a578015610cbc576020817f307ed6bd941ee9fc80f369c94af5fa11e25bab5102a6140191756c5474a30bfa927fea7157fa25e3aa17d0ae2d5280fa4e24d421c61842aa85e45194e1145aa72bf855604051908152a1005b7f4294d1270000000000000000000000000000000000000000000000000000000060005260046000fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557600435610d1c81610a8f565b30330361035a5773ffffffffffffffffffffffffffffffffffffffff610d4182611fd6565b1615610da75760407fffffffff000000000000000000000000000000000000000000000000000000007f0d7fc113eaf016db4681a1ba86d083ce3e0961f321062a75ac2b0aeb33deeed19216610d98600082612cfb565b815190815260006020820152a1005b7fffffffff00000000000000000000000000000000000000000000000000000000907f1c3812cc000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b60009103126101b557565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55760207fea7157fa25e3aa17d0ae2d5280fa4e24d421c61842aa85e45194e1145aa72bf854604051908152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126101b5576004359067ffffffffffffffff82116101b5576107ee91600401610221565b610eaf36610e5d565b9030330361035a57610ec561001c925a9261210b565b90610ecf82612788565b90612464565b346101b55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610f0c610192565b5060443567ffffffffffffffff81116101b557610f2d903690600401610221565b505060206040517f8943ec02000000000000000000000000000000000000000000000000000000008152f35b346101b55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576020610a8760043561281c565b346101b55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576040610fd1600435612862565b73ffffffffffffffffffffffffffffffffffffffff8351921682526020820152f35b346101b55761100136610e5d565b9060027ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde5414610c035760027ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde5573ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016801561115857330361112a57303b156101b5576110d49160009160405193849283927f6ea4457700000000000000000000000000000000000000000000000000000000845260048401611cde565b038183305af180156111255761110a5760017ffc6e07e3992c7c3694a921dc9e412b6cfe475380556756a19805a9e3ddfe2fde55005b80611119600061111f936103f4565b80610df7565b38610bdd565b6119be565b7f1d6ddbf4000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b7fd13d78350000000000000000000000000000000000000000000000000000000060005260046000fd5b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576020305473ffffffffffffffffffffffffffffffffffffffff60405191168152f35b346101b55760c061125e6000806112583661069a565b9161292a565b9261126a839293613ab2565b906040519586526020860152151560408501526060840152608083015260a0820152f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576004356112c481610a8f565b6112cc6101ba565b9030330361035a5773ffffffffffffffffffffffffffffffffffffffff6112f282611fd6565b1661136c577f0d7fc113eaf016db4681a1ba86d083ce3e0961f321062a75ac2b0aeb33deeed19173ffffffffffffffffffffffffffffffffffffffff7fffffffff0000000000000000000000000000000000000000000000000000000060409316911661135f8183612cfb565b82519182526020820152a1005b7fffffffff00000000000000000000000000000000000000000000000000000000907f5b4d6d6a000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b9181601f840112156101b55782359167ffffffffffffffff83116101b5576020808501948460051b0101116101b557565b346101b55760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557611424610192565b5061142d6101ba565b5060443567ffffffffffffffff81116101b55761144e9036906004016113bc565b505060643567ffffffffffffffff81116101b5576114709036906004016113bc565b505060843567ffffffffffffffff81116101b557611492903690600401610221565b50506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b346101b55760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576114f6610192565b506114ff6101ba565b5060843567ffffffffffffffff81116101b557611520903690600401610221565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b346101b55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576004356115866101ba565b604435916bffffffffffffffffffffffff83168093036101b55730330361035a578273ffffffffffffffffffffffffffffffffffffffff836116117febf265acfac1c01de588ed7ef49743b9c3ce8d6d1edeaf510a1f5453228515b1967fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606097881b161785612c77565b6040519384521660208301526040820152a1005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b906001820180921161166257565b611625565b9190820180921161166257565b9061167e82610471565b61168b60405191826103f4565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06116b98294610471565b0190602036910137565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80518210156117065760209160051b010190565b6116c3565b919082519283825260005b8481106117555750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201611716565b9080602083519182815201916020808360051b8301019401926000915b83831061179657505050505090565b9091929394602080827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0856001950301865288519073ffffffffffffffffffffffffffffffffffffffff8251168152828201518382015260c080611809604085015160e0604086015260e085019061170b565b936060810151606085015260808101511515608085015260a0810151151560a0850152015191015297019301930191939290611787565b906020808351928381520192019060005b81811061185e5750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611851565b805160ff168252610515916020828101511515908201526101006118e86118c26040850151610120604086015261012085019061176a565b606085015160608501526080850151608085015260a085015184820360a086015261170b565b9260c081015160c084015260e081015160e0840152015190610100818403910152611840565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b91611964610515949260408552604085019061188a565b92602081850391015261190e565b9061198f9291611980611f7b565b906003825260e0820152611df1565b50156119b9577f1626ba7e0000000000000000000000000000000000000000000000000000000090565b600090565b6040513d6000823e3d90fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b5570180359067ffffffffffffffff82116101b5576020019181360383136101b557565b908160209103126101b5575161051581610a8f565b60409061051594928152816020820152019161190e565b91909173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169182156111585782330361112a5780611b79575b506020915080610100611aa99201906119ca565b92611ae160405194859384937f1626ba7e00000000000000000000000000000000000000000000000000000000855260048501611a30565b0381305afa908115611125577f1626ba7e00000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091611b4a575b501603611b4557600090565b600190565b611b6c915060203d602011611b72575b611b6481836103f4565b810190611a1b565b38611b39565b503d611b5a565b823b156101b5576040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015292600091849160249183915af190811561112557602092611aa992611bd3575b5090611a95565b806111196000611be2936103f4565b38611bcc565b91939290611bf7905a9361210b565b9160608301516080840151611c0b8261281c565b818103611caa57509060017f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881920190611c448282612cbc565b604080519182526020820192909252a1611c5f828685611df1565b929015611c725750610444939450612464565b836108eb87926040519384937fa2b6d61b0000000000000000000000000000000000000000000000000000000085526004850161194d565b917f9b6514f40000000000000000000000000000000000000000000000000000000060005260045260245260445260646000fd5b91602061051593818152019161190e565b3d15611d1a573d90611d0082610489565b91611d0e60405193846103f4565b82523d6000602084013e565b606090565b600436108015611d2c5750565b611d62906000357fffffffff00000000000000000000000000000000000000000000000000000000811691611db4575b50611fd6565b73ffffffffffffffffffffffffffffffffffffffff8116611d805750565b60008091604051368382378036810184815203915af4611d9e611cef565b9015611dac57602081519101f35b602081519101fd5b7fffffffff000000000000000000000000000000000000000000000000000000008092503660040360031b1b161638611d5c565b90156117065790565b91907f800000000000000000000000000000000000000000000000000000000000000080611e48611e228585611de8565b357fff000000000000000000000000000000000000000000000000000000000000001690565b1614611ea7576000918291611e5c9461292a565b905091909192808210611e77575050611e7490613ab2565b91565b7ffd41fcba0000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b5050611eb290612788565b90611ebc82612862565b42811115611f49575073ffffffffffffffffffffffffffffffffffffffff81168015159081611f3e575b50611ef2575060019190565b7f8945c3130000000000000000000000000000000000000000000000000000000060005260048390523360245273ffffffffffffffffffffffffffffffffffffffff1660445260646000fd5b905033141538611ee6565b7ff95b6ab700000000000000000000000000000000000000000000000000000000600052600484905260245260446000fd5b60405190610120820182811067ffffffffffffffff8211176103d3576040526060610100836000815260006020820152826040820152600083820152600060808201528260a0820152600060c0820152600060e08201520152565b73ffffffffffffffffffffffffffffffffffffffff906040517fffffffff0000000000000000000000000000000000000000000000000000000060208201927fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12084521660408201526040815261204d6060826103f4565b519020541690565b9061205f82610471565b61206c60405191826103f4565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061209a8294610471565b019060005b8281106120ab57505050565b6020906040516120ba816103b7565b60008152600083820152606060408201526000606082015260006080820152600060a0820152600060c08201528282850101520161209f565b909392938483116101b55784116101b5578101920390565b919091612116611f7b565b6000815292600190823560f81c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818316016123b85750600060608701525b600761216560ff831660011c90565b1680612367575b5060108181160361233257506001925b61218584612055565b92604087019384526000905b8582106121a057505050505050565b8281013560f81c9060010190918160018085160361231057506121e4306121c88389516116f2565b519073ffffffffffffffffffffffffffffffffffffffff169052565b6002808416146122f0575b6004808416146122a2575b60088084161461226f575b61225861225260c0856122318a60806122288860108060019c9d161493516116f2565b51019015159052565b6122488a60a06122288860208087161493516116f2565b1660061c60031690565b60ff1690565b60c06122658389516116f2565b5101520190612191565b600191612258906122529060c090878101359060200196906060612294878d516116f2565b510152959450505050612205565b906122ea908481013560e81c906003016122e36122ca6122c28484611667565b838a8a6120f3565b919060406122d9888d516116f2565b51019236916104c3565b9052611667565b906121fa565b908381013590602001919060206123088389516116f2565b5101526121ef565b61232d92508481013560601c9060140192906121c88389516116f2565b6121e4565b6020908116036123545761ffff918381013560f01c906002015b92169261217c565b60ff918381013560f81c9060010161234c565b6123ab919385929190928160031b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001821b019185013590610100031c16920190565b929060808701523861216c565b80850135606090811c908801526014019250612156565b6123e76040929594939560608352606083019061188a565b9460208201520152565b9261051596959260c09592855260208501526040840152606083015260808201528160a0820152019061170b565b610515939260609282526020820152816040820152019061170b565b612451610515949260608352606083019061188a565b926020820152604081840391015261170b565b916000604082019384515190825b828110612483575b50505050505050565b61248e8188516116f2565b519361249d60a0860151151590565b80612780575b612740575060009360608101518015801580612737575b6126ff5784906124cd6080850151151590565b156126b957612578926124f4855173ffffffffffffffffffffffffffffffffffffffff1690565b91156126b357505a905b6125738b61254760608d01516040890151908c8b604051998a967f4c4e814c000000000000000000000000000000000000000000000000000000006020890152602488016123f1565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018552846103f4565b612c4a565b156125bb575b506040805187815260208101839052600192917f5a589b1d8062f33451d29cae3dabd9b2e36c62aee644178c600977ca8dda661a91a15b01612472565b60c00180511561266a57600181511461262b57516002146125dc573861257e565b9493505050507fc2c704302430fe0dc8d95f272e2f4e54bbbc51a3327fd5d75ab41f9fc8fd129b925061261c612610612c5c565b6040519384938461241f565b0390a13880808080808061247a565b50846108eb612638612c5c565b6040519384937f7f6b0bb10000000000000000000000000000000000000000000000000000000085526004850161243b565b509250600180937f115f347c00e69f252cd6b63c4f81022a9564c6befe8aa719cb74640a4a306f0d6126ab61269d612c5c565b604051918291858c8461241f565b0390a16125b5565b906124fe565b83516126f493925073ffffffffffffffffffffffffffffffffffffffff16916020850151916000146126f957505a905b604085015192612c38565b612578565b906126e9565b83886108eb5a6040519384937f21395274000000000000000000000000000000000000000000000000000000008552600485016123cf565b50815a106124ba565b6040805188815260208101849052919550600192917f9ae934bf8a986157c889a24c3b3fa85e74b7e4ee4b1f8fc6e7362cb4c1d19d8b91819081016126ab565b5080156124a3565b6127ea6128166127a86127a2602085015115153090612d3a565b93612e35565b60405192839160208301958690916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826103f4565b51902090565b60405160208101917f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e835260408201526040815261285b6060826103f4565b5190205490565b60405160208101917fc852adf5e97c2fc3b38f405671e91b7af1697ef0287577f227ef10494c2a8e8683526040820152604081526128a16060826103f4565b51902054906bffffffffffffffffffffffff8260601c921690565b604051906128c9826103d8565b60006020838281520152565b908160409103126101b5576020604051916128ef836103d8565b805183520151602082015290565b60409073ffffffffffffffffffffffffffffffffffffffff6105159493168152816020820152019061170b565b909491939291853560f81c600190938190876129446128bc565b9360408089161480612c1a575b612b1d575b505050600180861614612af75760028581161460208501526007600286901c1688820135600382901b6101008190039190911c600190911b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691019080969181966020166129c69060051c90565b6129cf90611654565b8a820135600382901b6101008190039190911c600190911b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01169101959098899a81612a1b84612788565b988993612a27936120f3565b91612a319361324c565b9098612a4591600052602052604060002090565b90612a5891600052602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff16612a8191600052602052604060002090565b94815190868215159283612aec575b505081612add575b50612aa05750565b6040517fccbb534f000000000000000000000000000000000000000000000000000000008152815160048201526020909101516024820152604490fd5b90506020820151101538612a98565b141591508638612a90565b86612b129792949550612b0a93986120f3565b93909261302a565b919394909293929190565b8a81013560601c985060140192509087908a90849015612b41575b50829150612956565b60038101955073ffffffffffffffffffffffffffffffffffffffff945081013560e81c92604092612bc4929091612b8f91612b88918990612b828983611667565b926120f3565b36916104c3565b83519586809481937fccce3bc800000000000000000000000000000000000000000000000000000000835230600484016128fd565b0392165afa801561112557612be292600091612beb575b5092611667565b86388981612b38565b612c0d915060403d604011612c13575b612c0581836103f4565b8101906128d5565b38612bdb565b503d612bfb565b5073ffffffffffffffffffffffffffffffffffffffff891615612951565b9160009391849360208451940192f190565b9160009291839260208351930191f490565b3d90604051916020818401016040528083526000602084013e565b60405160208101917fc852adf5e97c2fc3b38f405671e91b7af1697ef0287577f227ef10494c2a8e868352604082015260408152612cb66060826103f4565b51902055565b60405160208101917f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8352604082015260408152612cb66060826103f4565b60405160208101917fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1208352604082015260408152612cb66060826103f4565b15612dea576000905b73ffffffffffffffffffffffffffffffffffffffff6040519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f85527f4aa45ca7ad825ceb1bf35643f0a58c295239df563b1b565c2485f96477c5631860408501527f2a80e1ef1d7842f27f2e6be0972bb708b9a135c38860dbe73c27c3486c34f4de606085015260808401521660a082015260a0815261281660c0826103f4565b4690612d43565b805160209091019060005b818110612e095750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101612dfc565b610100810151604051612e50816127ea602082018095612df1565b51902090612e5f815160ff1690565b60ff811680612ed857505090612816612e7b6040840151613b15565b926127ea60806060830151920151936040519485936020850197889094939260809260a08301967f11e1e4079a79a66e4ade50033cfe2678cdd5341d2dfe5ef9513edb1a0be147a284526020840152604083015260608201520152565b60018103612f3657505060a001518051602091820120604080517fe19a3b94fc3c7ece3f890d98a99bc422615537a08dea0603fa8425867d87d4669381019384529081019190915260608101929092529061281681608081016127ea565b60028103612f8c57505060c00151604080517f11fdeb7e8373a1aa96bfac8d0ea91526b2c5d15e5cee20e0543e780258f3e8e46020820190815291810192909252606082019290925261281681608081016127ea565b600303612fe0575060e00151604080517fe19a3b94fc3c7ece3f890d98a99bc422615537a08dea0603fa8425867d87d4666020820190815291810192909252606082019290925261281681608081016127ea565b7f048183200000000000000000000000000000000000000000000000000000000060005260ff1660045260246000fd5b906123e7906040939695949660608452606084019161190e565b9194929092600095600095600095600095600095613046611f7b565b60028152937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9460005b82811061309d5750505050505050805115158061308f575b612aa05750565b506020810151841115613088565b600381019d50959b50939950919750929091906130c1908b9085013560e81c611667565b958a6000848903613205575089915b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8c036131d5575090600161310a896131119487896120f3565b908b61292a565b9c939c9b929b9a919a99909a9b9d8e9d9e8f905b1061318f5750928b885114613186575b808b101561315457508a60c08501528992959295949194939093613070565b7f37daf62b0000000000000000000000000000000000000000000000000000000060005260048b905260245260446000fd5b60008852613135565b8d8f6108eb6131a085858c8e6120f3565b9390926040519485947fb006aba000000000000000000000000000000000000000000000000000000000865260048601613010565b9798999a9160016131eb8b6131f294888a6120f3565b908661292a565b50929d919c909b929a9092918e8e613125565b916130d0565b73ffffffffffffffffffffffffffffffffffffffff61051595936060938352166020820152816040820152019161190e565b908160209103126101b5575190565b9391909360009460009460005b818110613267575050505050565b8481013560f881901c9860019092019788979692909160fc1c988915613a4b575060018914613a0b576002891461384e576003891461381f576004891461379e57600689146136fe57600589146136b057600789146135e95760088914613593576009891461346a57600a8914613307577fb2505f7c00000000000000000000000000000000000000000000000000000000600052600489905260246000fd5b90919293949596975060038916978815613459575b8381013560601c90601401909960021c60031660ff1684820135600382901b6101008190039190911c600190911b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01169101908101908161337f9187876120f3565b6040517f898bd921000000000000000000000000000000000000000000000000000000008152939184916133b7918a60048501611a30565b038373ffffffffffffffffffffffffffffffffffffffff8d1691815a93602094fa918215611125576133fa93600093613426575b5060ff909a168091019a613de1565b908015613420579061341491600052602052604060002090565b955b9392919093613259565b50613414565b60ff91935061344b9060203d8111613452575b61344381836103f4565b81019061323d565b92906133eb565b503d613439565b8084013560f81c985060010161331c565b90919293949596975060038916978815613582575b8381013560601c90601401909960021c60031660ff1684820135600382901b6101008190039190911c600190911b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0116910190810190816134e29187876120f3565b6040517f13792a4a0000000000000000000000000000000000000000000000000000000081529391849161351a918b6004850161194d565b038373ffffffffffffffffffffffffffffffffffffffff8d1691815a93602094fa9182156111255761355c93600093613426575060ff909a168091019a613de1565b90801561357c579061357691600052602052604060002090565b95613416565b50613576565b8084013560f81c985060010161347f565b9850602087019750949593949293919290918201356135b186613d88565b81146135c1575b61355c90613da2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff98506135b8565b975090919293949597600f1696871561369e575b6020600061360f61367c9a9b86613c50565b9c9092918a604051613652816127ea8a82019485603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b51902092604051948594859094939260ff6060936080840197845216602083015260408201520152565b838052039060015afa156111255761355c9060ff6000519a1680910199613c93565b600189019883013560f81c97506135fd565b9850602087019750949593949293919290918201358085146136d6575b61355c90613d49565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff98506136cd565b989091929394959662ffffff9850613720612252600c8416603f9060021c1690565b91821561378a575b6003168015613779575b90819061375d90613755908781013560e81c906003019c168c01809c89896120f3565b90898b61324c565b911115613770575b9061355c9291613cfe565b99820199613765565b50600281019084013560f01c613732565b8482013560f81c9250600190910190613728565b9750976137f4613801929394959697600f61380993169085929190928160031b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001821b019185013590610100031c16920190565b92908301809386866120f3565b90868861324c565b9061357692980198600052602052604060002090565b98509650939492939192909190808201359060200196801561357c579061357691600052602052604060002090565b909192939495969750600389169788156139fa575b8084013560601c996138c291601401906138829060021c600316612252565b9085929190928160031b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001821b019185013590610100031c16920190565b9081019061392660208c6138d885858b8b6120f3565b919073ffffffffffffffffffffffffffffffffffffffff8c604051968795869485937f1626ba7e00000000000000000000000000000000000000000000000000000000855260048501611a30565b0392165afa908115611125577f1626ba7e00000000000000000000000000000000000000000000000000000000917fffffffff00000000000000000000000000000000000000000000000000000000916000916139dc575b50160361399857509060ff61355c92991680910199613c93565b6108eb6139a98c93899389896120f3565b906040519485947fb2fed7ae0000000000000000000000000000000000000000000000000000000086526004860161320b565b6139f4915060203d8111611b7257611b6481836103f4565b3861397e565b8381013560f81c9850600101613863565b98600f91929394959697985016968715613a3a575b601481019761355c9160ff9091169084013560601c613c93565b8281013560f81c9750600101613a20565b98509091929394959698600f16978815613a9d575b5060206000613a7361367c9a9b86613c50565b9c90916040519384938c859094939260ff6060936080840197845216602083015260408201520152565b60018101995083013560f81c97506020613a60565b8015159081613abf575090565b90507fea7157fa25e3aa17d0ae2d5280fa4e24d421c61842aa85e45194e1145aa72bf8541490565b805160209091019060005b818110613aff5750505090565b8251845260209384019390920191600101613af2565b9081517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613b5b613b4583610471565b92613b5360405194856103f4565b808452610471565b0136602083013760005b8351811015613c375780613b7b600192866116f2565b5173ffffffffffffffffffffffffffffffffffffffff81511690602081015190604081015160208151910120906060810151608082015115159060c060a08401511515930151936040519560208701977f0603985259a953da1f65a522f589c17bd1d0117ec1d3abb7c0788aef251ef437895260408801526060870152608086015260a085015260c084015260e08301526101008201526101008152613c23610120826103f4565b519020613c3082856116f2565b5201613b65565b50909150604051612816816127ea602082018095613ae7565b8101916040602084359401359201601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c0160ff81116116625791565b90604051907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208301937f53657175656e6365207369676e65723a0a000000000000000000000000000000855260601b1660318301526045820152604581526128166065826103f4565b916040519160208301937f53657175656e6365206e657374656420636f6e6669673a0a00000000000000008552603884015260588301526078820152607881526128166098826103f4565b60405160208101917f53657175656e636520737461746963206469676573743a0a000000000000000083526038820152603881526128166058826103f4565b6127ea6128166127a86127a2600060208601511515612d3a565b60405160208101917f53657175656e636520616e792061646472657373207375626469676573743a0a83526040820152604081526128166060826103f4565b91604051917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208401947f53657175656e63652073617069656e7420636f6e6669673a0a00000000000000865260601b166039840152604d830152606d820152606d8152612816608d826103f456fea2646970667358221220d5007cb61d5841018c0eb8bc2011eb6e83e6d492740725436fcb56293e6f60b964736f6c634300081c0033",
}
WalletStage1MetaData contains all meta data concerning the WalletStage1 contract.
Functions ¶
This section is empty.
Types ¶
type PackedUserOperation ¶
type PackedUserOperation struct { Sender common.Address Nonce *big.Int InitCode []byte CallData []byte AccountGasLimits [32]byte PreVerificationGas *big.Int GasFees [32]byte PaymasterAndData []byte Signature []byte }
PackedUserOperation is an auto generated low-level Go binding around an user-defined struct.
type PayloadCall ¶
type PayloadCall struct { To common.Address Value *big.Int Data []byte GasLimit *big.Int DelegateCall bool OnlyFallback bool BehaviorOnError *big.Int }
PayloadCall is an auto generated low-level Go binding around an user-defined struct.
type PayloadDecoded ¶
type PayloadDecoded struct { Kind uint8 NoChainId bool Calls []PayloadCall Space *big.Int Nonce *big.Int Message []byte ImageHash [32]byte Digest [32]byte ParentWallets []common.Address }
PayloadDecoded is an auto generated low-level Go binding around an user-defined struct.
type WalletStage1 ¶
type WalletStage1 struct { WalletStage1Caller // Read-only binding to the contract WalletStage1Transactor // Write-only binding to the contract WalletStage1Filterer // Log filterer for contract events }
WalletStage1 is an auto generated Go binding around an Ethereum contract.
func DeployWalletStage1 ¶
func DeployWalletStage1(auth *bind.TransactOpts, backend bind.ContractBackend, _factory common.Address, _entryPoint common.Address) (common.Address, *types.Transaction, *WalletStage1, error)
DeployWalletStage1 deploys a new Ethereum contract, binding an instance of WalletStage1 to it.
func NewWalletStage1 ¶
func NewWalletStage1(address common.Address, backend bind.ContractBackend) (*WalletStage1, error)
NewWalletStage1 creates a new instance of WalletStage1, bound to a specific deployed contract.
type WalletStage1CallAborted ¶
type WalletStage1CallAborted struct { OpHash [32]byte Index *big.Int ReturnData []byte Raw types.Log // Blockchain specific contextual infos }
WalletStage1CallAborted represents a CallAborted event raised by the WalletStage1 contract.
type WalletStage1CallAbortedIterator ¶
type WalletStage1CallAbortedIterator struct { Event *WalletStage1CallAborted // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1CallAbortedIterator is returned from FilterCallAborted and is used to iterate over the raw logs and unpacked data for CallAborted events raised by the WalletStage1 contract.
func (*WalletStage1CallAbortedIterator) Close ¶
func (it *WalletStage1CallAbortedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1CallAbortedIterator) Error ¶
func (it *WalletStage1CallAbortedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1CallAbortedIterator) Next ¶
func (it *WalletStage1CallAbortedIterator) 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 WalletStage1CallFailed ¶
type WalletStage1CallFailed struct { OpHash [32]byte Index *big.Int ReturnData []byte Raw types.Log // Blockchain specific contextual infos }
WalletStage1CallFailed represents a CallFailed event raised by the WalletStage1 contract.
type WalletStage1CallFailedIterator ¶
type WalletStage1CallFailedIterator struct { Event *WalletStage1CallFailed // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1CallFailedIterator is returned from FilterCallFailed and is used to iterate over the raw logs and unpacked data for CallFailed events raised by the WalletStage1 contract.
func (*WalletStage1CallFailedIterator) Close ¶
func (it *WalletStage1CallFailedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1CallFailedIterator) Error ¶
func (it *WalletStage1CallFailedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1CallFailedIterator) Next ¶
func (it *WalletStage1CallFailedIterator) 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 WalletStage1CallSkipped ¶
type WalletStage1CallSkipped struct { OpHash [32]byte Index *big.Int Raw types.Log // Blockchain specific contextual infos }
WalletStage1CallSkipped represents a CallSkipped event raised by the WalletStage1 contract.
type WalletStage1CallSkippedIterator ¶
type WalletStage1CallSkippedIterator struct { Event *WalletStage1CallSkipped // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1CallSkippedIterator is returned from FilterCallSkipped and is used to iterate over the raw logs and unpacked data for CallSkipped events raised by the WalletStage1 contract.
func (*WalletStage1CallSkippedIterator) Close ¶
func (it *WalletStage1CallSkippedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1CallSkippedIterator) Error ¶
func (it *WalletStage1CallSkippedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1CallSkippedIterator) Next ¶
func (it *WalletStage1CallSkippedIterator) 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 WalletStage1CallSucceeded ¶
type WalletStage1CallSucceeded struct { OpHash [32]byte Index *big.Int Raw types.Log // Blockchain specific contextual infos }
WalletStage1CallSucceeded represents a CallSucceeded event raised by the WalletStage1 contract.
type WalletStage1CallSucceededIterator ¶
type WalletStage1CallSucceededIterator struct { Event *WalletStage1CallSucceeded // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1CallSucceededIterator is returned from FilterCallSucceeded and is used to iterate over the raw logs and unpacked data for CallSucceeded events raised by the WalletStage1 contract.
func (*WalletStage1CallSucceededIterator) Close ¶
func (it *WalletStage1CallSucceededIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1CallSucceededIterator) Error ¶
func (it *WalletStage1CallSucceededIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1CallSucceededIterator) Next ¶
func (it *WalletStage1CallSucceededIterator) 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 WalletStage1Caller ¶
type WalletStage1Caller struct {
// contains filtered or unexported fields
}
WalletStage1Caller is an auto generated read-only Go binding around an Ethereum contract.
func NewWalletStage1Caller ¶
func NewWalletStage1Caller(address common.Address, caller bind.ContractCaller) (*WalletStage1Caller, error)
NewWalletStage1Caller creates a new read-only instance of WalletStage1, bound to a specific deployed contract.
func (*WalletStage1Caller) Entrypoint ¶
Entrypoint is a free data retrieval call binding the contract method 0xa65d69d4.
Solidity: function entrypoint() view returns(address)
func (*WalletStage1Caller) FACTORY ¶
FACTORY is a free data retrieval call binding the contract method 0x2dd31000.
Solidity: function FACTORY() view returns(address)
func (*WalletStage1Caller) GetImplementation ¶
func (_WalletStage1 *WalletStage1Caller) GetImplementation(opts *bind.CallOpts) (common.Address, error)
GetImplementation is a free data retrieval call binding the contract method 0xaaf10f42.
Solidity: function getImplementation() view returns(address)
func (*WalletStage1Caller) GetStaticSignature ¶
func (_WalletStage1 *WalletStage1Caller) GetStaticSignature(opts *bind.CallOpts, _hash [32]byte) (common.Address, *big.Int, error)
GetStaticSignature is a free data retrieval call binding the contract method 0x92dcb3fc.
Solidity: function getStaticSignature(bytes32 _hash) view returns(address, uint256)
func (*WalletStage1Caller) INITCODEHASH ¶
func (_WalletStage1 *WalletStage1Caller) INITCODEHASH(opts *bind.CallOpts) ([32]byte, error)
INITCODEHASH is a free data retrieval call binding the contract method 0x257671f5.
Solidity: function INIT_CODE_HASH() view returns(bytes32)
func (*WalletStage1Caller) IsValidSignature ¶
func (_WalletStage1 *WalletStage1Caller) IsValidSignature(opts *bind.CallOpts, _hash [32]byte, _signature []byte) ([4]byte, error)
IsValidSignature is a free data retrieval call binding the contract method 0x1626ba7e.
Solidity: function isValidSignature(bytes32 _hash, bytes _signature) view returns(bytes4)
func (*WalletStage1Caller) OnERC1155BatchReceived ¶
func (_WalletStage1 *WalletStage1Caller) OnERC1155BatchReceived(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error)
OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81.
Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4)
func (*WalletStage1Caller) OnERC1155Received ¶
func (_WalletStage1 *WalletStage1Caller) 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 (*WalletStage1Caller) OnERC721Received ¶
func (_WalletStage1 *WalletStage1Caller) 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 (*WalletStage1Caller) ReadHook ¶
func (_WalletStage1 *WalletStage1Caller) ReadHook(opts *bind.CallOpts, selector [4]byte) (common.Address, error)
ReadHook is a free data retrieval call binding the contract method 0x1a9b2337.
Solidity: function readHook(bytes4 selector) view returns(address)
func (*WalletStage1Caller) ReadNonce ¶
func (_WalletStage1 *WalletStage1Caller) ReadNonce(opts *bind.CallOpts, _space *big.Int) (*big.Int, error)
ReadNonce is a free data retrieval call binding the contract method 0x8c3f5563.
Solidity: function readNonce(uint256 _space) view returns(uint256)
func (*WalletStage1Caller) RecoverPartialSignature ¶
func (_WalletStage1 *WalletStage1Caller) RecoverPartialSignature(opts *bind.CallOpts, _payload PayloadDecoded, _signature []byte) (struct { Threshold *big.Int Weight *big.Int IsValidImage bool ImageHash [32]byte Checkpoint *big.Int OpHash [32]byte }, error)
RecoverPartialSignature is a free data retrieval call binding the contract method 0xad55366b.
Solidity: function recoverPartialSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]) _payload, bytes _signature) view returns(uint256 threshold, uint256 weight, bool isValidImage, bytes32 imageHash, uint256 checkpoint, bytes32 opHash)
func (*WalletStage1Caller) RecoverSapientSignature ¶
func (_WalletStage1 *WalletStage1Caller) RecoverSapientSignature(opts *bind.CallOpts, _payload PayloadDecoded, _signature []byte) ([32]byte, error)
RecoverSapientSignature is a free data retrieval call binding the contract method 0x13792a4a.
Solidity: function recoverSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]) _payload, bytes _signature) view returns(bytes32)
func (*WalletStage1Caller) STAGE2IMPLEMENTATION ¶
func (_WalletStage1 *WalletStage1Caller) STAGE2IMPLEMENTATION(opts *bind.CallOpts) (common.Address, error)
STAGE2IMPLEMENTATION is a free data retrieval call binding the contract method 0x9f69ef54.
Solidity: function STAGE_2_IMPLEMENTATION() view returns(address)
func (*WalletStage1Caller) TokenReceived ¶
func (_WalletStage1 *WalletStage1Caller) TokenReceived(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int, arg2 []byte) ([4]byte, error)
TokenReceived is a free data retrieval call binding the contract method 0x8943ec02.
Solidity: function tokenReceived(address , uint256 , bytes ) pure returns(bytes4)
type WalletStage1CallerRaw ¶
type WalletStage1CallerRaw struct {
Contract *WalletStage1Caller // Generic read-only contract binding to access the raw methods on
}
WalletStage1CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
func (*WalletStage1CallerRaw) Call ¶
func (_WalletStage1 *WalletStage1CallerRaw) 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 WalletStage1CallerSession ¶
type WalletStage1CallerSession struct { Contract *WalletStage1Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session }
WalletStage1CallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.
func (*WalletStage1CallerSession) Entrypoint ¶
func (_WalletStage1 *WalletStage1CallerSession) Entrypoint() (common.Address, error)
Entrypoint is a free data retrieval call binding the contract method 0xa65d69d4.
Solidity: function entrypoint() view returns(address)
func (*WalletStage1CallerSession) FACTORY ¶
func (_WalletStage1 *WalletStage1CallerSession) FACTORY() (common.Address, error)
FACTORY is a free data retrieval call binding the contract method 0x2dd31000.
Solidity: function FACTORY() view returns(address)
func (*WalletStage1CallerSession) GetImplementation ¶
func (_WalletStage1 *WalletStage1CallerSession) GetImplementation() (common.Address, error)
GetImplementation is a free data retrieval call binding the contract method 0xaaf10f42.
Solidity: function getImplementation() view returns(address)
func (*WalletStage1CallerSession) GetStaticSignature ¶
func (_WalletStage1 *WalletStage1CallerSession) GetStaticSignature(_hash [32]byte) (common.Address, *big.Int, error)
GetStaticSignature is a free data retrieval call binding the contract method 0x92dcb3fc.
Solidity: function getStaticSignature(bytes32 _hash) view returns(address, uint256)
func (*WalletStage1CallerSession) INITCODEHASH ¶
func (_WalletStage1 *WalletStage1CallerSession) INITCODEHASH() ([32]byte, error)
INITCODEHASH is a free data retrieval call binding the contract method 0x257671f5.
Solidity: function INIT_CODE_HASH() view returns(bytes32)
func (*WalletStage1CallerSession) IsValidSignature ¶
func (_WalletStage1 *WalletStage1CallerSession) IsValidSignature(_hash [32]byte, _signature []byte) ([4]byte, error)
IsValidSignature is a free data retrieval call binding the contract method 0x1626ba7e.
Solidity: function isValidSignature(bytes32 _hash, bytes _signature) view returns(bytes4)
func (*WalletStage1CallerSession) OnERC1155BatchReceived ¶
func (_WalletStage1 *WalletStage1CallerSession) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error)
OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81.
Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4)
func (*WalletStage1CallerSession) OnERC1155Received ¶
func (_WalletStage1 *WalletStage1CallerSession) 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 (*WalletStage1CallerSession) OnERC721Received ¶
func (_WalletStage1 *WalletStage1CallerSession) 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 (*WalletStage1CallerSession) ReadHook ¶
func (_WalletStage1 *WalletStage1CallerSession) ReadHook(selector [4]byte) (common.Address, error)
ReadHook is a free data retrieval call binding the contract method 0x1a9b2337.
Solidity: function readHook(bytes4 selector) view returns(address)
func (*WalletStage1CallerSession) ReadNonce ¶
ReadNonce is a free data retrieval call binding the contract method 0x8c3f5563.
Solidity: function readNonce(uint256 _space) view returns(uint256)
func (*WalletStage1CallerSession) RecoverPartialSignature ¶
func (_WalletStage1 *WalletStage1CallerSession) RecoverPartialSignature(_payload PayloadDecoded, _signature []byte) (struct { Threshold *big.Int Weight *big.Int IsValidImage bool ImageHash [32]byte Checkpoint *big.Int OpHash [32]byte }, error)
RecoverPartialSignature is a free data retrieval call binding the contract method 0xad55366b.
Solidity: function recoverPartialSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]) _payload, bytes _signature) view returns(uint256 threshold, uint256 weight, bool isValidImage, bytes32 imageHash, uint256 checkpoint, bytes32 opHash)
func (*WalletStage1CallerSession) RecoverSapientSignature ¶
func (_WalletStage1 *WalletStage1CallerSession) RecoverSapientSignature(_payload PayloadDecoded, _signature []byte) ([32]byte, error)
RecoverSapientSignature is a free data retrieval call binding the contract method 0x13792a4a.
Solidity: function recoverSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]) _payload, bytes _signature) view returns(bytes32)
func (*WalletStage1CallerSession) STAGE2IMPLEMENTATION ¶
func (_WalletStage1 *WalletStage1CallerSession) STAGE2IMPLEMENTATION() (common.Address, error)
STAGE2IMPLEMENTATION is a free data retrieval call binding the contract method 0x9f69ef54.
Solidity: function STAGE_2_IMPLEMENTATION() view returns(address)
func (*WalletStage1CallerSession) TokenReceived ¶
func (_WalletStage1 *WalletStage1CallerSession) TokenReceived(arg0 common.Address, arg1 *big.Int, arg2 []byte) ([4]byte, error)
TokenReceived is a free data retrieval call binding the contract method 0x8943ec02.
Solidity: function tokenReceived(address , uint256 , bytes ) pure returns(bytes4)
type WalletStage1DefinedHook ¶
type WalletStage1DefinedHook struct { Selector [4]byte Implementation common.Address Raw types.Log // Blockchain specific contextual infos }
WalletStage1DefinedHook represents a DefinedHook event raised by the WalletStage1 contract.
type WalletStage1DefinedHookIterator ¶
type WalletStage1DefinedHookIterator struct { Event *WalletStage1DefinedHook // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1DefinedHookIterator is returned from FilterDefinedHook and is used to iterate over the raw logs and unpacked data for DefinedHook events raised by the WalletStage1 contract.
func (*WalletStage1DefinedHookIterator) Close ¶
func (it *WalletStage1DefinedHookIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1DefinedHookIterator) Error ¶
func (it *WalletStage1DefinedHookIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1DefinedHookIterator) Next ¶
func (it *WalletStage1DefinedHookIterator) 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 WalletStage1Filterer ¶
type WalletStage1Filterer struct {
// contains filtered or unexported fields
}
WalletStage1Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
func NewWalletStage1Filterer ¶
func NewWalletStage1Filterer(address common.Address, filterer bind.ContractFilterer) (*WalletStage1Filterer, error)
NewWalletStage1Filterer creates a new log filterer instance of WalletStage1, bound to a specific deployed contract.
func (*WalletStage1Filterer) FilterCallAborted ¶
func (_WalletStage1 *WalletStage1Filterer) FilterCallAborted(opts *bind.FilterOpts) (*WalletStage1CallAbortedIterator, error)
FilterCallAborted is a free log retrieval operation binding the contract event 0xc2c704302430fe0dc8d95f272e2f4e54bbbc51a3327fd5d75ab41f9fc8fd129b.
Solidity: event CallAborted(bytes32 _opHash, uint256 _index, bytes _returnData)
func (*WalletStage1Filterer) FilterCallFailed ¶
func (_WalletStage1 *WalletStage1Filterer) FilterCallFailed(opts *bind.FilterOpts) (*WalletStage1CallFailedIterator, error)
FilterCallFailed is a free log retrieval operation binding the contract event 0x115f347c00e69f252cd6b63c4f81022a9564c6befe8aa719cb74640a4a306f0d.
Solidity: event CallFailed(bytes32 _opHash, uint256 _index, bytes _returnData)
func (*WalletStage1Filterer) FilterCallSkipped ¶
func (_WalletStage1 *WalletStage1Filterer) FilterCallSkipped(opts *bind.FilterOpts) (*WalletStage1CallSkippedIterator, error)
FilterCallSkipped is a free log retrieval operation binding the contract event 0x9ae934bf8a986157c889a24c3b3fa85e74b7e4ee4b1f8fc6e7362cb4c1d19d8b.
Solidity: event CallSkipped(bytes32 _opHash, uint256 _index)
func (*WalletStage1Filterer) FilterCallSucceeded ¶
func (_WalletStage1 *WalletStage1Filterer) FilterCallSucceeded(opts *bind.FilterOpts) (*WalletStage1CallSucceededIterator, error)
FilterCallSucceeded is a free log retrieval operation binding the contract event 0x5a589b1d8062f33451d29cae3dabd9b2e36c62aee644178c600977ca8dda661a.
Solidity: event CallSucceeded(bytes32 _opHash, uint256 _index)
func (*WalletStage1Filterer) FilterDefinedHook ¶
func (_WalletStage1 *WalletStage1Filterer) FilterDefinedHook(opts *bind.FilterOpts) (*WalletStage1DefinedHookIterator, error)
FilterDefinedHook is a free log retrieval operation binding the contract event 0x0d7fc113eaf016db4681a1ba86d083ce3e0961f321062a75ac2b0aeb33deeed1.
Solidity: event DefinedHook(bytes4 selector, address implementation)
func (*WalletStage1Filterer) FilterImageHashUpdated ¶
func (_WalletStage1 *WalletStage1Filterer) FilterImageHashUpdated(opts *bind.FilterOpts) (*WalletStage1ImageHashUpdatedIterator, error)
FilterImageHashUpdated is a free log retrieval operation binding the contract event 0x307ed6bd941ee9fc80f369c94af5fa11e25bab5102a6140191756c5474a30bfa.
Solidity: event ImageHashUpdated(bytes32 newImageHash)
func (*WalletStage1Filterer) FilterImplementationUpdated ¶
func (_WalletStage1 *WalletStage1Filterer) FilterImplementationUpdated(opts *bind.FilterOpts) (*WalletStage1ImplementationUpdatedIterator, error)
FilterImplementationUpdated is a free log retrieval operation binding the contract event 0x310ba5f1d2ed074b51e2eccd052a47ae9ab7c6b800d1fca3db3999d6a592ca03.
Solidity: event ImplementationUpdated(address newImplementation)
func (*WalletStage1Filterer) FilterNonceChange ¶
func (_WalletStage1 *WalletStage1Filterer) FilterNonceChange(opts *bind.FilterOpts) (*WalletStage1NonceChangeIterator, error)
FilterNonceChange is a free log retrieval operation binding the contract event 0x1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881.
Solidity: event NonceChange(uint256 _space, uint256 _newNonce)
func (*WalletStage1Filterer) FilterStaticSignatureSet ¶
func (_WalletStage1 *WalletStage1Filterer) FilterStaticSignatureSet(opts *bind.FilterOpts) (*WalletStage1StaticSignatureSetIterator, error)
FilterStaticSignatureSet is a free log retrieval operation binding the contract event 0xebf265acfac1c01de588ed7ef49743b9c3ce8d6d1edeaf510a1f5453228515b1.
Solidity: event StaticSignatureSet(bytes32 _hash, address _address, uint96 _timestamp)
func (*WalletStage1Filterer) ParseCallAborted ¶
func (_WalletStage1 *WalletStage1Filterer) ParseCallAborted(log types.Log) (*WalletStage1CallAborted, error)
ParseCallAborted is a log parse operation binding the contract event 0xc2c704302430fe0dc8d95f272e2f4e54bbbc51a3327fd5d75ab41f9fc8fd129b.
Solidity: event CallAborted(bytes32 _opHash, uint256 _index, bytes _returnData)
func (*WalletStage1Filterer) ParseCallFailed ¶
func (_WalletStage1 *WalletStage1Filterer) ParseCallFailed(log types.Log) (*WalletStage1CallFailed, error)
ParseCallFailed is a log parse operation binding the contract event 0x115f347c00e69f252cd6b63c4f81022a9564c6befe8aa719cb74640a4a306f0d.
Solidity: event CallFailed(bytes32 _opHash, uint256 _index, bytes _returnData)
func (*WalletStage1Filterer) ParseCallSkipped ¶
func (_WalletStage1 *WalletStage1Filterer) ParseCallSkipped(log types.Log) (*WalletStage1CallSkipped, error)
ParseCallSkipped is a log parse operation binding the contract event 0x9ae934bf8a986157c889a24c3b3fa85e74b7e4ee4b1f8fc6e7362cb4c1d19d8b.
Solidity: event CallSkipped(bytes32 _opHash, uint256 _index)
func (*WalletStage1Filterer) ParseCallSucceeded ¶
func (_WalletStage1 *WalletStage1Filterer) ParseCallSucceeded(log types.Log) (*WalletStage1CallSucceeded, error)
ParseCallSucceeded is a log parse operation binding the contract event 0x5a589b1d8062f33451d29cae3dabd9b2e36c62aee644178c600977ca8dda661a.
Solidity: event CallSucceeded(bytes32 _opHash, uint256 _index)
func (*WalletStage1Filterer) ParseDefinedHook ¶
func (_WalletStage1 *WalletStage1Filterer) ParseDefinedHook(log types.Log) (*WalletStage1DefinedHook, error)
ParseDefinedHook is a log parse operation binding the contract event 0x0d7fc113eaf016db4681a1ba86d083ce3e0961f321062a75ac2b0aeb33deeed1.
Solidity: event DefinedHook(bytes4 selector, address implementation)
func (*WalletStage1Filterer) ParseImageHashUpdated ¶
func (_WalletStage1 *WalletStage1Filterer) ParseImageHashUpdated(log types.Log) (*WalletStage1ImageHashUpdated, error)
ParseImageHashUpdated is a log parse operation binding the contract event 0x307ed6bd941ee9fc80f369c94af5fa11e25bab5102a6140191756c5474a30bfa.
Solidity: event ImageHashUpdated(bytes32 newImageHash)
func (*WalletStage1Filterer) ParseImplementationUpdated ¶
func (_WalletStage1 *WalletStage1Filterer) ParseImplementationUpdated(log types.Log) (*WalletStage1ImplementationUpdated, error)
ParseImplementationUpdated is a log parse operation binding the contract event 0x310ba5f1d2ed074b51e2eccd052a47ae9ab7c6b800d1fca3db3999d6a592ca03.
Solidity: event ImplementationUpdated(address newImplementation)
func (*WalletStage1Filterer) ParseNonceChange ¶
func (_WalletStage1 *WalletStage1Filterer) ParseNonceChange(log types.Log) (*WalletStage1NonceChange, error)
ParseNonceChange is a log parse operation binding the contract event 0x1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881.
Solidity: event NonceChange(uint256 _space, uint256 _newNonce)
func (*WalletStage1Filterer) ParseStaticSignatureSet ¶
func (_WalletStage1 *WalletStage1Filterer) ParseStaticSignatureSet(log types.Log) (*WalletStage1StaticSignatureSet, error)
ParseStaticSignatureSet is a log parse operation binding the contract event 0xebf265acfac1c01de588ed7ef49743b9c3ce8d6d1edeaf510a1f5453228515b1.
Solidity: event StaticSignatureSet(bytes32 _hash, address _address, uint96 _timestamp)
func (*WalletStage1Filterer) WatchCallAborted ¶
func (_WalletStage1 *WalletStage1Filterer) WatchCallAborted(opts *bind.WatchOpts, sink chan<- *WalletStage1CallAborted) (event.Subscription, error)
WatchCallAborted is a free log subscription operation binding the contract event 0xc2c704302430fe0dc8d95f272e2f4e54bbbc51a3327fd5d75ab41f9fc8fd129b.
Solidity: event CallAborted(bytes32 _opHash, uint256 _index, bytes _returnData)
func (*WalletStage1Filterer) WatchCallFailed ¶
func (_WalletStage1 *WalletStage1Filterer) WatchCallFailed(opts *bind.WatchOpts, sink chan<- *WalletStage1CallFailed) (event.Subscription, error)
WatchCallFailed is a free log subscription operation binding the contract event 0x115f347c00e69f252cd6b63c4f81022a9564c6befe8aa719cb74640a4a306f0d.
Solidity: event CallFailed(bytes32 _opHash, uint256 _index, bytes _returnData)
func (*WalletStage1Filterer) WatchCallSkipped ¶
func (_WalletStage1 *WalletStage1Filterer) WatchCallSkipped(opts *bind.WatchOpts, sink chan<- *WalletStage1CallSkipped) (event.Subscription, error)
WatchCallSkipped is a free log subscription operation binding the contract event 0x9ae934bf8a986157c889a24c3b3fa85e74b7e4ee4b1f8fc6e7362cb4c1d19d8b.
Solidity: event CallSkipped(bytes32 _opHash, uint256 _index)
func (*WalletStage1Filterer) WatchCallSucceeded ¶
func (_WalletStage1 *WalletStage1Filterer) WatchCallSucceeded(opts *bind.WatchOpts, sink chan<- *WalletStage1CallSucceeded) (event.Subscription, error)
WatchCallSucceeded is a free log subscription operation binding the contract event 0x5a589b1d8062f33451d29cae3dabd9b2e36c62aee644178c600977ca8dda661a.
Solidity: event CallSucceeded(bytes32 _opHash, uint256 _index)
func (*WalletStage1Filterer) WatchDefinedHook ¶
func (_WalletStage1 *WalletStage1Filterer) WatchDefinedHook(opts *bind.WatchOpts, sink chan<- *WalletStage1DefinedHook) (event.Subscription, error)
WatchDefinedHook is a free log subscription operation binding the contract event 0x0d7fc113eaf016db4681a1ba86d083ce3e0961f321062a75ac2b0aeb33deeed1.
Solidity: event DefinedHook(bytes4 selector, address implementation)
func (*WalletStage1Filterer) WatchImageHashUpdated ¶
func (_WalletStage1 *WalletStage1Filterer) WatchImageHashUpdated(opts *bind.WatchOpts, sink chan<- *WalletStage1ImageHashUpdated) (event.Subscription, error)
WatchImageHashUpdated is a free log subscription operation binding the contract event 0x307ed6bd941ee9fc80f369c94af5fa11e25bab5102a6140191756c5474a30bfa.
Solidity: event ImageHashUpdated(bytes32 newImageHash)
func (*WalletStage1Filterer) WatchImplementationUpdated ¶
func (_WalletStage1 *WalletStage1Filterer) WatchImplementationUpdated(opts *bind.WatchOpts, sink chan<- *WalletStage1ImplementationUpdated) (event.Subscription, error)
WatchImplementationUpdated is a free log subscription operation binding the contract event 0x310ba5f1d2ed074b51e2eccd052a47ae9ab7c6b800d1fca3db3999d6a592ca03.
Solidity: event ImplementationUpdated(address newImplementation)
func (*WalletStage1Filterer) WatchNonceChange ¶
func (_WalletStage1 *WalletStage1Filterer) WatchNonceChange(opts *bind.WatchOpts, sink chan<- *WalletStage1NonceChange) (event.Subscription, error)
WatchNonceChange is a free log subscription operation binding the contract event 0x1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881.
Solidity: event NonceChange(uint256 _space, uint256 _newNonce)
func (*WalletStage1Filterer) WatchStaticSignatureSet ¶
func (_WalletStage1 *WalletStage1Filterer) WatchStaticSignatureSet(opts *bind.WatchOpts, sink chan<- *WalletStage1StaticSignatureSet) (event.Subscription, error)
WatchStaticSignatureSet is a free log subscription operation binding the contract event 0xebf265acfac1c01de588ed7ef49743b9c3ce8d6d1edeaf510a1f5453228515b1.
Solidity: event StaticSignatureSet(bytes32 _hash, address _address, uint96 _timestamp)
type WalletStage1ImageHashUpdated ¶
type WalletStage1ImageHashUpdated struct { NewImageHash [32]byte Raw types.Log // Blockchain specific contextual infos }
WalletStage1ImageHashUpdated represents a ImageHashUpdated event raised by the WalletStage1 contract.
type WalletStage1ImageHashUpdatedIterator ¶
type WalletStage1ImageHashUpdatedIterator struct { Event *WalletStage1ImageHashUpdated // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1ImageHashUpdatedIterator is returned from FilterImageHashUpdated and is used to iterate over the raw logs and unpacked data for ImageHashUpdated events raised by the WalletStage1 contract.
func (*WalletStage1ImageHashUpdatedIterator) Close ¶
func (it *WalletStage1ImageHashUpdatedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1ImageHashUpdatedIterator) Error ¶
func (it *WalletStage1ImageHashUpdatedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1ImageHashUpdatedIterator) Next ¶
func (it *WalletStage1ImageHashUpdatedIterator) 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 WalletStage1ImplementationUpdated ¶
type WalletStage1ImplementationUpdated struct { NewImplementation common.Address Raw types.Log // Blockchain specific contextual infos }
WalletStage1ImplementationUpdated represents a ImplementationUpdated event raised by the WalletStage1 contract.
type WalletStage1ImplementationUpdatedIterator ¶
type WalletStage1ImplementationUpdatedIterator struct { Event *WalletStage1ImplementationUpdated // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1ImplementationUpdatedIterator is returned from FilterImplementationUpdated and is used to iterate over the raw logs and unpacked data for ImplementationUpdated events raised by the WalletStage1 contract.
func (*WalletStage1ImplementationUpdatedIterator) Close ¶
func (it *WalletStage1ImplementationUpdatedIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1ImplementationUpdatedIterator) Error ¶
func (it *WalletStage1ImplementationUpdatedIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1ImplementationUpdatedIterator) Next ¶
func (it *WalletStage1ImplementationUpdatedIterator) 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 WalletStage1NonceChange ¶
type WalletStage1NonceChange struct { Space *big.Int NewNonce *big.Int Raw types.Log // Blockchain specific contextual infos }
WalletStage1NonceChange represents a NonceChange event raised by the WalletStage1 contract.
type WalletStage1NonceChangeIterator ¶
type WalletStage1NonceChangeIterator struct { Event *WalletStage1NonceChange // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1NonceChangeIterator is returned from FilterNonceChange and is used to iterate over the raw logs and unpacked data for NonceChange events raised by the WalletStage1 contract.
func (*WalletStage1NonceChangeIterator) Close ¶
func (it *WalletStage1NonceChangeIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1NonceChangeIterator) Error ¶
func (it *WalletStage1NonceChangeIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1NonceChangeIterator) Next ¶
func (it *WalletStage1NonceChangeIterator) 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 WalletStage1Raw ¶
type WalletStage1Raw struct {
Contract *WalletStage1 // Generic contract binding to access the raw methods on
}
WalletStage1Raw is an auto generated low-level Go binding around an Ethereum contract.
func (*WalletStage1Raw) Call ¶
func (_WalletStage1 *WalletStage1Raw) 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 (*WalletStage1Raw) Transact ¶
func (_WalletStage1 *WalletStage1Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
Transact invokes the (paid) contract method with params as input values.
func (*WalletStage1Raw) Transfer ¶
func (_WalletStage1 *WalletStage1Raw) 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 WalletStage1Session ¶
type WalletStage1Session struct { Contract *WalletStage1 // 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 }
WalletStage1Session is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.
func (*WalletStage1Session) AddHook ¶
func (_WalletStage1 *WalletStage1Session) AddHook(selector [4]byte, implementation common.Address) (*types.Transaction, error)
AddHook is a paid mutator transaction binding the contract method 0xb93ea7ad.
Solidity: function addHook(bytes4 selector, address implementation) payable returns()
func (*WalletStage1Session) Entrypoint ¶
func (_WalletStage1 *WalletStage1Session) Entrypoint() (common.Address, error)
Entrypoint is a free data retrieval call binding the contract method 0xa65d69d4.
Solidity: function entrypoint() view returns(address)
func (*WalletStage1Session) Execute ¶
func (_WalletStage1 *WalletStage1Session) Execute(_payload []byte, _signature []byte) (*types.Transaction, error)
Execute is a paid mutator transaction binding the contract method 0x1f6a1eb9.
Solidity: function execute(bytes _payload, bytes _signature) payable returns()
func (*WalletStage1Session) ExecuteUserOp ¶
func (_WalletStage1 *WalletStage1Session) ExecuteUserOp(_payload []byte) (*types.Transaction, error)
ExecuteUserOp is a paid mutator transaction binding the contract method 0x9c145aed.
Solidity: function executeUserOp(bytes _payload) returns()
func (*WalletStage1Session) FACTORY ¶
func (_WalletStage1 *WalletStage1Session) FACTORY() (common.Address, error)
FACTORY is a free data retrieval call binding the contract method 0x2dd31000.
Solidity: function FACTORY() view returns(address)
func (*WalletStage1Session) Fallback ¶
func (_WalletStage1 *WalletStage1Session) Fallback(calldata []byte) (*types.Transaction, error)
Fallback is a paid mutator transaction binding the contract fallback function.
Solidity: fallback() payable returns()
func (*WalletStage1Session) GetImplementation ¶
func (_WalletStage1 *WalletStage1Session) GetImplementation() (common.Address, error)
GetImplementation is a free data retrieval call binding the contract method 0xaaf10f42.
Solidity: function getImplementation() view returns(address)
func (*WalletStage1Session) GetStaticSignature ¶
func (_WalletStage1 *WalletStage1Session) GetStaticSignature(_hash [32]byte) (common.Address, *big.Int, error)
GetStaticSignature is a free data retrieval call binding the contract method 0x92dcb3fc.
Solidity: function getStaticSignature(bytes32 _hash) view returns(address, uint256)
func (*WalletStage1Session) INITCODEHASH ¶
func (_WalletStage1 *WalletStage1Session) INITCODEHASH() ([32]byte, error)
INITCODEHASH is a free data retrieval call binding the contract method 0x257671f5.
Solidity: function INIT_CODE_HASH() view returns(bytes32)
func (*WalletStage1Session) IsValidSignature ¶
func (_WalletStage1 *WalletStage1Session) IsValidSignature(_hash [32]byte, _signature []byte) ([4]byte, error)
IsValidSignature is a free data retrieval call binding the contract method 0x1626ba7e.
Solidity: function isValidSignature(bytes32 _hash, bytes _signature) view returns(bytes4)
func (*WalletStage1Session) OnERC1155BatchReceived ¶
func (_WalletStage1 *WalletStage1Session) OnERC1155BatchReceived(arg0 common.Address, arg1 common.Address, arg2 []*big.Int, arg3 []*big.Int, arg4 []byte) ([4]byte, error)
OnERC1155BatchReceived is a free data retrieval call binding the contract method 0xbc197c81.
Solidity: function onERC1155BatchReceived(address , address , uint256[] , uint256[] , bytes ) pure returns(bytes4)
func (*WalletStage1Session) OnERC1155Received ¶
func (_WalletStage1 *WalletStage1Session) 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 (*WalletStage1Session) OnERC721Received ¶
func (_WalletStage1 *WalletStage1Session) 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 (*WalletStage1Session) ReadHook ¶
func (_WalletStage1 *WalletStage1Session) ReadHook(selector [4]byte) (common.Address, error)
ReadHook is a free data retrieval call binding the contract method 0x1a9b2337.
Solidity: function readHook(bytes4 selector) view returns(address)
func (*WalletStage1Session) ReadNonce ¶
ReadNonce is a free data retrieval call binding the contract method 0x8c3f5563.
Solidity: function readNonce(uint256 _space) view returns(uint256)
func (*WalletStage1Session) Receive ¶
func (_WalletStage1 *WalletStage1Session) Receive() (*types.Transaction, error)
Receive is a paid mutator transaction binding the contract receive function.
Solidity: receive() payable returns()
func (*WalletStage1Session) RecoverPartialSignature ¶
func (_WalletStage1 *WalletStage1Session) RecoverPartialSignature(_payload PayloadDecoded, _signature []byte) (struct { Threshold *big.Int Weight *big.Int IsValidImage bool ImageHash [32]byte Checkpoint *big.Int OpHash [32]byte }, error)
RecoverPartialSignature is a free data retrieval call binding the contract method 0xad55366b.
Solidity: function recoverPartialSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]) _payload, bytes _signature) view returns(uint256 threshold, uint256 weight, bool isValidImage, bytes32 imageHash, uint256 checkpoint, bytes32 opHash)
func (*WalletStage1Session) RecoverSapientSignature ¶
func (_WalletStage1 *WalletStage1Session) RecoverSapientSignature(_payload PayloadDecoded, _signature []byte) ([32]byte, error)
RecoverSapientSignature is a free data retrieval call binding the contract method 0x13792a4a.
Solidity: function recoverSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]) _payload, bytes _signature) view returns(bytes32)
func (*WalletStage1Session) RemoveHook ¶
func (_WalletStage1 *WalletStage1Session) RemoveHook(selector [4]byte) (*types.Transaction, error)
RemoveHook is a paid mutator transaction binding the contract method 0x4fcf3eca.
Solidity: function removeHook(bytes4 selector) payable returns()
func (*WalletStage1Session) STAGE2IMPLEMENTATION ¶
func (_WalletStage1 *WalletStage1Session) STAGE2IMPLEMENTATION() (common.Address, error)
STAGE2IMPLEMENTATION is a free data retrieval call binding the contract method 0x9f69ef54.
Solidity: function STAGE_2_IMPLEMENTATION() view returns(address)
func (*WalletStage1Session) SelfExecute ¶
func (_WalletStage1 *WalletStage1Session) SelfExecute(_payload []byte) (*types.Transaction, error)
SelfExecute is a paid mutator transaction binding the contract method 0x6ea44577.
Solidity: function selfExecute(bytes _payload) payable returns()
func (*WalletStage1Session) SetStaticSignature ¶
func (_WalletStage1 *WalletStage1Session) SetStaticSignature(_hash [32]byte, _address common.Address, _timestamp *big.Int) (*types.Transaction, error)
SetStaticSignature is a paid mutator transaction binding the contract method 0xf727ef1c.
Solidity: function setStaticSignature(bytes32 _hash, address _address, uint96 _timestamp) returns()
func (*WalletStage1Session) TokenReceived ¶
func (_WalletStage1 *WalletStage1Session) TokenReceived(arg0 common.Address, arg1 *big.Int, arg2 []byte) ([4]byte, error)
TokenReceived is a free data retrieval call binding the contract method 0x8943ec02.
Solidity: function tokenReceived(address , uint256 , bytes ) pure returns(bytes4)
func (*WalletStage1Session) TokensReceived ¶
func (_WalletStage1 *WalletStage1Session) TokensReceived(operator common.Address, from common.Address, to common.Address, amount *big.Int, data []byte, operatorData []byte) (*types.Transaction, error)
TokensReceived is a paid mutator transaction binding the contract method 0x0023de29.
Solidity: function tokensReceived(address operator, address from, address to, uint256 amount, bytes data, bytes operatorData) returns()
func (*WalletStage1Session) UpdateImageHash ¶
func (_WalletStage1 *WalletStage1Session) UpdateImageHash(_imageHash [32]byte) (*types.Transaction, error)
UpdateImageHash is a paid mutator transaction binding the contract method 0x29561426.
Solidity: function updateImageHash(bytes32 _imageHash) returns()
func (*WalletStage1Session) UpdateImplementation ¶
func (_WalletStage1 *WalletStage1Session) UpdateImplementation(_implementation common.Address) (*types.Transaction, error)
UpdateImplementation is a paid mutator transaction binding the contract method 0x025b22bc.
Solidity: function updateImplementation(address _implementation) payable returns()
func (*WalletStage1Session) ValidateUserOp ¶
func (_WalletStage1 *WalletStage1Session) ValidateUserOp(userOp PackedUserOperation, userOpHash [32]byte, missingAccountFunds *big.Int) (*types.Transaction, error)
ValidateUserOp is a paid mutator transaction binding the contract method 0x19822f7c.
Solidity: function validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes) userOp, bytes32 userOpHash, uint256 missingAccountFunds) returns(uint256 validationData)
type WalletStage1StaticSignatureSet ¶
type WalletStage1StaticSignatureSet struct { Hash [32]byte Address common.Address Timestamp *big.Int Raw types.Log // Blockchain specific contextual infos }
WalletStage1StaticSignatureSet represents a StaticSignatureSet event raised by the WalletStage1 contract.
type WalletStage1StaticSignatureSetIterator ¶
type WalletStage1StaticSignatureSetIterator struct { Event *WalletStage1StaticSignatureSet // Event containing the contract specifics and raw log // contains filtered or unexported fields }
WalletStage1StaticSignatureSetIterator is returned from FilterStaticSignatureSet and is used to iterate over the raw logs and unpacked data for StaticSignatureSet events raised by the WalletStage1 contract.
func (*WalletStage1StaticSignatureSetIterator) Close ¶
func (it *WalletStage1StaticSignatureSetIterator) Close() error
Close terminates the iteration process, releasing any pending underlying resources.
func (*WalletStage1StaticSignatureSetIterator) Error ¶
func (it *WalletStage1StaticSignatureSetIterator) Error() error
Error returns any retrieval or parsing error occurred during filtering.
func (*WalletStage1StaticSignatureSetIterator) Next ¶
func (it *WalletStage1StaticSignatureSetIterator) 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 WalletStage1Transactor ¶
type WalletStage1Transactor struct {
// contains filtered or unexported fields
}
WalletStage1Transactor is an auto generated write-only Go binding around an Ethereum contract.
func NewWalletStage1Transactor ¶
func NewWalletStage1Transactor(address common.Address, transactor bind.ContractTransactor) (*WalletStage1Transactor, error)
NewWalletStage1Transactor creates a new write-only instance of WalletStage1, bound to a specific deployed contract.
func (*WalletStage1Transactor) AddHook ¶
func (_WalletStage1 *WalletStage1Transactor) AddHook(opts *bind.TransactOpts, selector [4]byte, implementation common.Address) (*types.Transaction, error)
AddHook is a paid mutator transaction binding the contract method 0xb93ea7ad.
Solidity: function addHook(bytes4 selector, address implementation) payable returns()
func (*WalletStage1Transactor) Execute ¶
func (_WalletStage1 *WalletStage1Transactor) Execute(opts *bind.TransactOpts, _payload []byte, _signature []byte) (*types.Transaction, error)
Execute is a paid mutator transaction binding the contract method 0x1f6a1eb9.
Solidity: function execute(bytes _payload, bytes _signature) payable returns()
func (*WalletStage1Transactor) ExecuteUserOp ¶
func (_WalletStage1 *WalletStage1Transactor) ExecuteUserOp(opts *bind.TransactOpts, _payload []byte) (*types.Transaction, error)
ExecuteUserOp is a paid mutator transaction binding the contract method 0x9c145aed.
Solidity: function executeUserOp(bytes _payload) returns()
func (*WalletStage1Transactor) Fallback ¶
func (_WalletStage1 *WalletStage1Transactor) Fallback(opts *bind.TransactOpts, calldata []byte) (*types.Transaction, error)
Fallback is a paid mutator transaction binding the contract fallback function.
Solidity: fallback() payable returns()
func (*WalletStage1Transactor) Receive ¶
func (_WalletStage1 *WalletStage1Transactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error)
Receive is a paid mutator transaction binding the contract receive function.
Solidity: receive() payable returns()
func (*WalletStage1Transactor) RemoveHook ¶
func (_WalletStage1 *WalletStage1Transactor) RemoveHook(opts *bind.TransactOpts, selector [4]byte) (*types.Transaction, error)
RemoveHook is a paid mutator transaction binding the contract method 0x4fcf3eca.
Solidity: function removeHook(bytes4 selector) payable returns()
func (*WalletStage1Transactor) SelfExecute ¶
func (_WalletStage1 *WalletStage1Transactor) SelfExecute(opts *bind.TransactOpts, _payload []byte) (*types.Transaction, error)
SelfExecute is a paid mutator transaction binding the contract method 0x6ea44577.
Solidity: function selfExecute(bytes _payload) payable returns()
func (*WalletStage1Transactor) SetStaticSignature ¶
func (_WalletStage1 *WalletStage1Transactor) SetStaticSignature(opts *bind.TransactOpts, _hash [32]byte, _address common.Address, _timestamp *big.Int) (*types.Transaction, error)
SetStaticSignature is a paid mutator transaction binding the contract method 0xf727ef1c.
Solidity: function setStaticSignature(bytes32 _hash, address _address, uint96 _timestamp) returns()
func (*WalletStage1Transactor) TokensReceived ¶
func (_WalletStage1 *WalletStage1Transactor) TokensReceived(opts *bind.TransactOpts, operator common.Address, from common.Address, to common.Address, amount *big.Int, data []byte, operatorData []byte) (*types.Transaction, error)
TokensReceived is a paid mutator transaction binding the contract method 0x0023de29.
Solidity: function tokensReceived(address operator, address from, address to, uint256 amount, bytes data, bytes operatorData) returns()
func (*WalletStage1Transactor) UpdateImageHash ¶
func (_WalletStage1 *WalletStage1Transactor) UpdateImageHash(opts *bind.TransactOpts, _imageHash [32]byte) (*types.Transaction, error)
UpdateImageHash is a paid mutator transaction binding the contract method 0x29561426.
Solidity: function updateImageHash(bytes32 _imageHash) returns()
func (*WalletStage1Transactor) UpdateImplementation ¶
func (_WalletStage1 *WalletStage1Transactor) UpdateImplementation(opts *bind.TransactOpts, _implementation common.Address) (*types.Transaction, error)
UpdateImplementation is a paid mutator transaction binding the contract method 0x025b22bc.
Solidity: function updateImplementation(address _implementation) payable returns()
func (*WalletStage1Transactor) ValidateUserOp ¶
func (_WalletStage1 *WalletStage1Transactor) ValidateUserOp(opts *bind.TransactOpts, userOp PackedUserOperation, userOpHash [32]byte, missingAccountFunds *big.Int) (*types.Transaction, error)
ValidateUserOp is a paid mutator transaction binding the contract method 0x19822f7c.
Solidity: function validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes) userOp, bytes32 userOpHash, uint256 missingAccountFunds) returns(uint256 validationData)
type WalletStage1TransactorRaw ¶
type WalletStage1TransactorRaw struct {
Contract *WalletStage1Transactor // Generic write-only contract binding to access the raw methods on
}
WalletStage1TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
func (*WalletStage1TransactorRaw) Transact ¶
func (_WalletStage1 *WalletStage1TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
Transact invokes the (paid) contract method with params as input values.
func (*WalletStage1TransactorRaw) Transfer ¶
func (_WalletStage1 *WalletStage1TransactorRaw) 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 WalletStage1TransactorSession ¶
type WalletStage1TransactorSession struct { Contract *WalletStage1Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session }
WalletStage1TransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.
func (*WalletStage1TransactorSession) AddHook ¶
func (_WalletStage1 *WalletStage1TransactorSession) AddHook(selector [4]byte, implementation common.Address) (*types.Transaction, error)
AddHook is a paid mutator transaction binding the contract method 0xb93ea7ad.
Solidity: function addHook(bytes4 selector, address implementation) payable returns()
func (*WalletStage1TransactorSession) Execute ¶
func (_WalletStage1 *WalletStage1TransactorSession) Execute(_payload []byte, _signature []byte) (*types.Transaction, error)
Execute is a paid mutator transaction binding the contract method 0x1f6a1eb9.
Solidity: function execute(bytes _payload, bytes _signature) payable returns()
func (*WalletStage1TransactorSession) ExecuteUserOp ¶
func (_WalletStage1 *WalletStage1TransactorSession) ExecuteUserOp(_payload []byte) (*types.Transaction, error)
ExecuteUserOp is a paid mutator transaction binding the contract method 0x9c145aed.
Solidity: function executeUserOp(bytes _payload) returns()
func (*WalletStage1TransactorSession) Fallback ¶
func (_WalletStage1 *WalletStage1TransactorSession) Fallback(calldata []byte) (*types.Transaction, error)
Fallback is a paid mutator transaction binding the contract fallback function.
Solidity: fallback() payable returns()
func (*WalletStage1TransactorSession) Receive ¶
func (_WalletStage1 *WalletStage1TransactorSession) Receive() (*types.Transaction, error)
Receive is a paid mutator transaction binding the contract receive function.
Solidity: receive() payable returns()
func (*WalletStage1TransactorSession) RemoveHook ¶
func (_WalletStage1 *WalletStage1TransactorSession) RemoveHook(selector [4]byte) (*types.Transaction, error)
RemoveHook is a paid mutator transaction binding the contract method 0x4fcf3eca.
Solidity: function removeHook(bytes4 selector) payable returns()
func (*WalletStage1TransactorSession) SelfExecute ¶
func (_WalletStage1 *WalletStage1TransactorSession) SelfExecute(_payload []byte) (*types.Transaction, error)
SelfExecute is a paid mutator transaction binding the contract method 0x6ea44577.
Solidity: function selfExecute(bytes _payload) payable returns()
func (*WalletStage1TransactorSession) SetStaticSignature ¶
func (_WalletStage1 *WalletStage1TransactorSession) SetStaticSignature(_hash [32]byte, _address common.Address, _timestamp *big.Int) (*types.Transaction, error)
SetStaticSignature is a paid mutator transaction binding the contract method 0xf727ef1c.
Solidity: function setStaticSignature(bytes32 _hash, address _address, uint96 _timestamp) returns()
func (*WalletStage1TransactorSession) TokensReceived ¶
func (_WalletStage1 *WalletStage1TransactorSession) TokensReceived(operator common.Address, from common.Address, to common.Address, amount *big.Int, data []byte, operatorData []byte) (*types.Transaction, error)
TokensReceived is a paid mutator transaction binding the contract method 0x0023de29.
Solidity: function tokensReceived(address operator, address from, address to, uint256 amount, bytes data, bytes operatorData) returns()
func (*WalletStage1TransactorSession) UpdateImageHash ¶
func (_WalletStage1 *WalletStage1TransactorSession) UpdateImageHash(_imageHash [32]byte) (*types.Transaction, error)
UpdateImageHash is a paid mutator transaction binding the contract method 0x29561426.
Solidity: function updateImageHash(bytes32 _imageHash) returns()
func (*WalletStage1TransactorSession) UpdateImplementation ¶
func (_WalletStage1 *WalletStage1TransactorSession) UpdateImplementation(_implementation common.Address) (*types.Transaction, error)
UpdateImplementation is a paid mutator transaction binding the contract method 0x025b22bc.
Solidity: function updateImplementation(address _implementation) payable returns()
func (*WalletStage1TransactorSession) ValidateUserOp ¶
func (_WalletStage1 *WalletStage1TransactorSession) ValidateUserOp(userOp PackedUserOperation, userOpHash [32]byte, missingAccountFunds *big.Int) (*types.Transaction, error)
ValidateUserOp is a paid mutator transaction binding the contract method 0x19822f7c.
Solidity: function validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes) userOp, bytes32 userOpHash, uint256 missingAccountFunds) returns(uint256 validationData)