Account
Interact with ERC-4337 accounts
Exposes useful functions available on account contracts.
const contract = await sdk.getContract("{{contract_address}}");await contract.account.getAllAdminsAndSigners();
class Account implements DetectableFeature {}
function constructor(  contractWrapper: ContractWrapper<IAccountCore>,
let returnType: {  address: Address;  onTransactionRequested?: (  ) => Promise<void>;  sendBatchTransaction?: (    txs: Array<SendTransactionOption>,  ) => Promise<SendTransactionResult>;  sendRawTransaction?: (    tx: SendRawTransactionOptions,  ) => Promise<SendTransactionResult>;  sendTransaction: (    tx: SendTransactionOption,  ) => Promise<SendTransactionResult>;  signMessage: ({    message,  }: {    message: SignableMessage;  }) => Promise<Hex>;  signTransaction?: (tx: SerializableTransaction) => Promise<Hex>;  signTypedData: (    _typedData: ox__TypedData.Definition<typedData, primaryType>,  ) => Promise<Hex>;  watchAsset?: (asset: WatchAssetParams) => Promise<boolean>;};
Get all admins of the account.
const allAdmins = await contract.account.getAllAdmins();
function getAllAdmins(): Promise<Array<string>>;
Get all admins and non-admin signers with permissions to use the account.
const allAdminsAndSigners =  await contract.account.getAllAdminsAndSigners();
function getAllAdminsAndSigners(): Promise<>;
All admins and non-admin signers with permissions to use the account.
Get all (non-admin) signers with permissions to use the account.
const allSigners = await contract.account.getAllSigners();
All (non-admin) signers with permissions to use the account.
Get whether a signer is an admin on the account.
const isAdmin = await contract.account.isAdmin(signer);
function isAdmin(signerAddress: string): Promise<boolean>;
Get whether a signer has permissions to use the account.
const isAdmin = await contract.account.isSigner(signer);
function isSigner(signerAddress: string): Promise<boolean>;
function approveTargetForSigner(  signerAddress: string,  target: string,): Promise<TResult>;
Preparable
You can also prepare the transaction without executing it by calling approveTargetForSigner.prepare() with same arguments.Learn more
function disapproveTargetForSigner(  signerAddress: string,  target: string,): Promise<TResult>;
Preparable
You can also prepare the transaction without executing it by calling disapproveTargetForSigner.prepare() with same arguments.Learn more
function grantAdminPermissions(  signerAddress: string,): Promise<TResult>;
Preparable
You can also prepare the transaction without executing it by calling grantAdminPermissions.prepare() with same arguments.Learn more
function grantPermissions(  signerAddress: string,  permissions: {    approvedCallTargets: Array<string> | "*";    expirationDate?: number | Date;    nativeTokenLimitPerTransaction?: string | number;    startDate?: number | Date;  },): Promise<TResult>;
Preparable
You can also prepare the transaction without executing it by calling grantPermissions.prepare() with same arguments.Learn more
function resetAllPermissions(  permissionSnapshot: Array<{    makeAdmin: boolean;    permissions: {      approvedCallTargets: Array<string> | "*";      expirationDate?: number | Date;      nativeTokenLimitPerTransaction?: string | number;      startDate?: number | Date;    };    signer: string;  }>,): Promise<TResult>;
Preparable
You can also prepare the transaction without executing it by calling resetAllPermissions.prepare() with same arguments.Learn more
function revokeAccess(signerAddress: string): Promise<TResult>;
Preparable
You can also prepare the transaction without executing it by calling revokeAccess.prepare() with same arguments.Learn more
function revokeAdminPermissions(  signerAddress: string,): Promise<TResult>;
Preparable
You can also prepare the transaction without executing it by calling revokeAdminPermissions.prepare() with same arguments.Learn more
function updatePermissions(  signerAddress: string,  permissions: {    approvedCallTargets: Array<string> | "*";    expirationDate?: number | Date;    nativeTokenLimitPerTransaction?: string | number;    startDate?: number | Date;  },): Promise<TResult>;
Preparable
You can also prepare the transaction without executing it by calling updatePermissions.prepare() with same arguments.Learn more
let featureName: "Account";