TWAccountRouter
Methods
DEFAULT_ADMIN_ROLE
function DEFAULT_ADMIN_ROLE() external view returns (bytes32)
Returns
_0
bytes32
undefined
EXTENSION_ADMIN_ROLE
function EXTENSION_ADMIN_ROLE() external view returns (bytes32)
Returns
_0
bytes32
undefined
SIGNER_ROLE
function SIGNER_ROLE() external view returns (bytes32)
Returns
_0
bytes32
undefined
addDeposit
function addDeposit() external payable
Deposit funds for this account in Entrypoint.
addExtension
function addExtension(IExtension.Extension _extension) external nonpayable
Parameters
_extension
IExtension.Extension
undefined
contractURI
function contractURI() external view returns (string)
Returns the contract metadata URI.
Returns
_0
string
undefined
entryPoint
function entryPoint() external view returns (contract IEntryPoint)
Returns the EIP 4337 entrypoint contract.
Returns
_0
contract IEntryPoint
undefined
execute
function execute(address _target, uint256 _value, bytes _calldata) external nonpayable
Executes a transaction (called directly from an admin, or by entryPoint)
Parameters
_target
address
undefined
_value
uint256
undefined
_calldata
bytes
undefined
executeBatch
function executeBatch(address[] _target, uint256[] _value, bytes[] _calldata) external nonpayable
Executes a sequence transaction (called directly from an admin, or by entryPoint)
Parameters
_target
address[]
undefined
_value
uint256[]
undefined
_calldata
bytes[]
undefined
getAllExtensions
function getAllExtensions() external view returns (struct IExtension.Extension[] allExtensions)
Returns all extensions stored. Override default lugins stored in router are given precedence over default extensions in DefaultExtensionSet.
Returns
allExtensions
IExtension.Extension[]
undefined
getAllFunctionsOfExtension
function getAllFunctionsOfExtension(string _extensionName) external view returns (struct IExtension.ExtensionFunction[])
Returns all functions that belong to the given extension contract.
Parameters
_extensionName
string
undefined
Returns
_0
IExtension.ExtensionFunction[]
undefined
getDeposit
function getDeposit() external view returns (uint256)
Returns the balance of the account in Entrypoint.
Returns
_0
uint256
undefined
getExtension
function getExtension(string _extensionName) external view returns (struct IExtension.Extension)
Returns the extension metadata and functions for a given extension.
Parameters
_extensionName
string
undefined
Returns
_0
IExtension.Extension
undefined
getExtensionForFunction
function getExtensionForFunction(bytes4 _functionSelector) external view returns (struct IExtension.ExtensionMetadata)
Returns the extension metadata for a given function.
Parameters
_functionSelector
bytes4
undefined
Returns
_0
IExtension.ExtensionMetadata
undefined
getExtensionImplementation
function getExtensionImplementation(string _extensionName) external view returns (address)
Returns the extension's implementation smart contract address.
Parameters
_extensionName
string
undefined
Returns
_0
address
undefined
getImplementationForFunction
function getImplementationForFunction(bytes4 _functionSelector) external view returns (address extensionAddress)
Returns the extension implementation address stored in router, for the given function.
Parameters
_functionSelector
bytes4
undefined
Returns
extensionAddress
address
undefined
getRoleAdmin
function getRoleAdmin(bytes32 role) external view returns (bytes32)
Returns the admin role that controls the specified role.
See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.
Parameters
role
bytes32
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
Returns
_0
bytes32
undefined
getRoleMember
function getRoleMember(bytes32 role, uint256 index) external view returns (address member)
Returns the role-member from a list of members for a role, at a given index.
Returns member
who has role
, at index
of role-members list. See struct {RoleMembers}, and mapping {roleMembers}
Parameters
role
bytes32
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
index
uint256
Index in list of current members for the role.
Returns
member
address
Address of account that has role
getRoleMemberCount
function getRoleMemberCount(bytes32 role) external view returns (uint256 count)
Returns total number of accounts that have a role.
Returns count
of accounts that have role
. See struct {RoleMembers}, and mapping {roleMembers}
Parameters
role
bytes32
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
Returns
count
uint256
Total number of accounts that have role
grantRole
function grantRole(bytes32 role, address account) external nonpayable
Grants a role to an account, if not previously granted.
Caller must have admin role for the role
. Emits {RoleGranted Event}.
Parameters
role
bytes32
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
account
address
Address of the account to which the role is being granted.
hasRole
function hasRole(bytes32 role, address account) external view returns (bool)
Checks whether an account has a particular role.
Returns true
if account
has been granted role
.
Parameters
role
bytes32
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
account
address
Address of the account for which the role is being checked.
Returns
_0
bool
undefined
hasRoleWithSwitch
function hasRoleWithSwitch(bytes32 role, address account) external view returns (bool)
Checks whether an account has a particular role; role restrictions can be swtiched on and off.
Returns true
if account
has been granted role
. Role restrictions can be swtiched on and off: - If address(0) has ROLE, then the ROLE restrictions don't apply. - If address(0) does not have ROLE, then the ROLE restrictions will apply.
Parameters
role
bytes32
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
account
address
Address of the account for which the role is being checked.
Returns
_0
bool
undefined
initialize
function initialize(address _defaultAdmin, string _contractURI) external nonpayable
Parameters
_defaultAdmin
address
undefined
_contractURI
string
undefined
isValidSigner
function isValidSigner(address _signer) external view returns (bool)
Returns whether a signer is authorized to perform transactions using the wallet.
Parameters
_signer
address
undefined
Returns
_0
bool
undefined
multicall
function multicall(bytes[] data) external nonpayable returns (bytes[] results)
Receives and executes a batch of function calls on this contract.
Receives and executes a batch of function calls on this contract.
Parameters
data
bytes[]
The bytes data that makes up the batch of function calls to execute.
Returns
results
bytes[]
The bytes data that makes up the result of the batch of function calls executed.
nonce
function nonce() external view returns (uint256)
Returns the nonce of the account.
Returns
_0
uint256
undefined
onERC1155BatchReceived
function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) external nonpayable returns (bytes4)
Parameters
_0
address
undefined
_1
address
undefined
_2
uint256[]
undefined
_3
uint256[]
undefined
_4
bytes
undefined
Returns
_0
bytes4
undefined
onERC1155Received
function onERC1155Received(address, address, uint256, uint256, bytes) external nonpayable returns (bytes4)
Parameters
_0
address
undefined
_1
address
undefined
_2
uint256
undefined
_3
uint256
undefined
_4
bytes
undefined
Returns
_0
bytes4
undefined
onERC721Received
function onERC721Received(address, address, uint256, bytes) external nonpayable returns (bytes4)
See {IERC721Receiver-onERC721Received}. Always returns IERC721Receiver.onERC721Received.selector
.
Parameters
_0
address
undefined
_1
address
undefined
_2
uint256
undefined
_3
bytes
undefined
Returns
_0
bytes4
undefined
removeExtension
function removeExtension(string _extensionName) external nonpayable
Removes an existing extension from the router.
Parameters
_extensionName
string
undefined
renounceRole
function renounceRole(bytes32 role, address account) external nonpayable
Revokes role from the account.
Caller must have the role
, with caller being the same as account
. Emits {RoleRevoked Event}.
Parameters
role
bytes32
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
account
address
Address of the account from which the role is being revoked.
revokeRole
function revokeRole(bytes32 role, address account) external nonpayable
Revokes role from an account.
Caller must have admin role for the role
. Emits {RoleRevoked Event}.
Parameters
role
bytes32
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
account
address
Address of the account from which the role is being revoked.
setContractURI
function setContractURI(string _uri) external nonpayable
Lets a contract admin set the URI for contract-level metadata.
Caller should be authorized to setup contractURI, e.g. contract admin. See {_canSetContractURI}. Emits {ContractURIUpdated Event}.
Parameters
_uri
string
keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
supportsInterface
function supportsInterface(bytes4 interfaceId) external view returns (bool)
See {IERC165-supportsInterface}.
Parameters
interfaceId
bytes4
undefined
Returns
_0
bool
undefined
updateExtension
function updateExtension(IExtension.Extension _extension) external nonpayable
Parameters
_extension
IExtension.Extension
undefined
validateUserOp
function validateUserOp(UserOperation userOp, bytes32 userOpHash, uint256 missingAccountFunds) external nonpayable returns (uint256 validationData)
Parameters
userOp
UserOperation
undefined
userOpHash
bytes32
undefined
missingAccountFunds
uint256
undefined
Returns
validationData
uint256
undefined
withdrawDepositTo
function withdrawDepositTo(address payable withdrawAddress, uint256 amount) external nonpayable
Withdraw funds for this account from Entrypoint.
Parameters
withdrawAddress
address payable
undefined
amount
uint256
undefined
Events
ContractURIUpdated
event ContractURIUpdated(string prevURI, string newURI)
Parameters
prevURI
string
undefined
newURI
string
undefined
ExtensionAdded
event ExtensionAdded(address indexed extensionAddress, bytes4 indexed functionSelector, string functionSignature)
Parameters
extensionAddress indexed
address
undefined
functionSelector indexed
bytes4
undefined
functionSignature
string
undefined
ExtensionRemoved
event ExtensionRemoved(address indexed extensionAddress, bytes4 indexed functionSelector, string functionSignature)
Parameters
extensionAddress indexed
address
undefined
functionSelector indexed
bytes4
undefined
functionSignature
string
undefined
ExtensionUpdated
event ExtensionUpdated(address indexed oldExtensionAddress, address indexed newExtensionAddress, bytes4 indexed functionSelector, string functionSignature)
Parameters
oldExtensionAddress indexed
address
undefined
newExtensionAddress indexed
address
undefined
functionSelector indexed
bytes4
undefined
functionSignature
string
undefined
Initialized
event Initialized(uint8 version)
Parameters
version
uint8
undefined
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
Parameters
role indexed
bytes32
undefined
previousAdminRole indexed
bytes32
undefined
newAdminRole indexed
bytes32
undefined
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
Parameters
role indexed
bytes32
undefined
account indexed
address
undefined
sender indexed
address
undefined
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Parameters
role indexed
bytes32
undefined
account indexed
address
undefined
sender indexed
address
undefined
Last updated