Deployment Address
Mainnet implementation: 0x51c676fC24C776eBcb78B8ca3e6Ca2E810Dd6B80
Code: KintoWallet.sol
Interface: IKintoWallet.sol
Basics
Executes transactions according to the Account Abstraction standard.
Validates user operations signatures.
Manages signers and signers policy.
The emergency recovery process can be triggered through a unique signer.
Approves applications explicitly.
Manages the funder whitelist.
Implements an insurance policy system.
State functions
initialize(address anOwner, address _recoverer) external virtual initializer onlyFactory
execute(address dest, uint256 value, bytes calldata func) external override
executeBatch(address[] calldata dest, uint256[] calldata values, bytes[] calldata func) external override
setSignerPolicy(uint8 newPolicy) public override onlySelf
resetSigners(address[] calldata newSigners, uint8 newPolicy) external override onlySelf
setFunderWhitelist(address[] calldata newWhitelist, bool[] calldata flags) external override onlySelf
whitelistApp(address[] calldata apps, bool[] calldata flags) external override onlySelf
setAppKey(address app, address signer) public override onlySelf
whitelistAppAndSetKey(address app, address signer) external override onlySelf
startRecovery() external override onlyFactory
completeRecovery(address[] calldata newSigners) external override onlyFactory
changeRecoverer(address newRecoverer) external override onlyFactory
cancelRecovery() public override onlySelf
setInsurancePolicy(uint256 newPolicy, address paymentToken) external override onlySelf
1. initialize (Factory only)
Initializes the KintoWallet with an owner and a recoverer.
function initialize(address anOwner, address _recoverer) external virtual initializer onlyFactory;
2. execute (EntryPoint only)
Executes a transaction.
function execute(address dest, uint256 value, bytes calldata func) external override;
3. executeBatch (EntryPoint only)
Executes a batch of transactions.
function executeBatch(address[] calldata dest, uint256[] calldata values, bytes[] calldata func) external override;
4. setSignerPolicy (only callable by Wallet itself)
Sets the signer policy of the wallet.
function setSignerPolicy(uint8 newPolicy) public override onlySelf;
5. resetSigners (only callable by Wallet itself)
Resets the signers of the wallet.
function resetSigners(address[] calldata newSigners, uint8 newPolicy) external override onlySelf;
6. setFunderWhitelist (only callable by Wallet itself)
Sets the funder whitelist.
function setFunderWhitelist(address[] calldata newWhitelist, bool[] calldata flags) external override onlySelf;
7. whitelistApp (only callable by Wallet itself)
Sets the app whitelist.
function whitelistApp(address[] calldata apps, bool[] calldata flags) external override onlySelf;
8. setAppKey (only callable by Wallet itself)
Sets the app key for a specific app.
function setAppKey(address app, address signer) public override onlySelf;
9. whitelistAppAndSetKey (only callable by Wallet itself)
Whitelists an app and sets its app key.
function whitelistAppAndSetKey(address app, address signer) external override onlySelf;
10. startRecovery (only callable by Wallet Factory)
Starts the recovery process.
function startRecovery() external override onlyFactory;
No parameters.
11. completeRecovery (only callable by Wallet Factory)
Completes the recovery process and resets the signers.
function completeRecovery(address[] calldata newSigners) external override onlyFactory;
12. changeRecoverer (only callable by Wallet Factory)
Changes the recoverer.
function changeRecoverer(address newRecoverer) external override onlyFactory;
13. cancelRecovery (only callable by Wallet itself)
Cancels the recovery process.
function cancelRecovery() public override onlySelf;
No parameters.
14. setInsurancePolicy (only callable by Wallet itself)
Sets the insurance policy for the wallet.
function setInsurancePolicy(uint256 newPolicy, address paymentToken) external override onlySelf;
View Functions
isFunderWhitelisted(address funder) external view override returns (bool)
entryPoint() public view virtual override returns (IEntryPoint)
getNonce() public view virtual override(BaseAccount, IKintoWallet) returns (uint256)
getOwnersCount() external view override returns (uint256)
getOwners() external view override returns (address[] memory)
getInsurancePrice(uint256 newPolicy, address paymentToken) public pure override returns (uint256)
1. isFunderWhitelisted
Checks if a funder is whitelisted.
function isFunderWhitelisted(address funder) external view override returns (bool);
2. entryPoint
Returns the entry point of the wallet.
function entryPoint() public view virtual override returns (IEntryPoint);
No parameters.
3. getNonce
Gets the current nonce of the wallet.
function getNonce() public view virtual override(BaseAccount, IKintoWallet) returns (uint256);
No parameters.
4. getOwnersCount
Returns the count of owners of the wallet.
function getOwnersCount() external view override returns (uint256);
No parameters.
5. getOwners
Returns an array of the wallet's owners.
function getOwners() external view override returns (address[] memory);
No parameters.
6. getInsurancePrice
Returns the price of the insurance policy.
function getInsurancePrice(uint256 newPolicy, address paymentToken) public pure override returns (uint256);
Last updated