API Reference
Account API
All calls target the currently connected wallet address as the contract address.
3 sectionsaccount-api
01
App management and execution
- enableApp / disableApp require address(this); frontends normally submit a wallet self-call.
- executeRuntimeApp may be externally triggered but must pass both local and global gates.
- isAppEnabled reports local state only, not final executability.
interface IAccountAppRuntime {
event AppEnabled(address indexed account, address indexed app);
event AppDisabled(address indexed account, address indexed app);
function executeRuntimeApp(address app, bytes calldata data)
external payable returns (bytes memory result);
function enableApp(address app) external;
function disableApp(address app) external;
function isAppEnabled(address app) external view returns (bool);
}02
Assets and batching
- executeBatch((target,value,data)[]) is wallet-self only.
- executeWithTokenPull / executeWithNftPull are also wallet-self only.
- tokenPullToCaller / nftPullToCaller are available only to the target in the active transient context.
interface IWalletAssetPullExecutor {
function executeWithTokenPull(
address target, bytes calldata data, address asset, uint256 maxAmount
) external;
function executeWithNftPull(
address target, bytes calldata data, address asset, uint256 tokenId
) external;
function tokenPullToCaller(address asset, uint256 amount) external;
function nftPullToCaller(address asset, uint256 tokenId) external;
}03
ExecuteWithSig
function executeWithSigNonce() external view returns (uint256);
function executeWithSig(
SignedCall calldata call, uint256 deadline, bytes calldata signature
) external payable returns (bytes memory result);