Smart Account V1 Methods
export interface IBiconomySmartAccount extends ISmartAccount {
init(initilizationData?: InitilizationData): Promise<this>;
initializeAccountAtIndex(accountIndex: number): void;
getExecuteCallData(to: string, value: BigNumberish, data: BytesLike): string;
getExecuteBatchCallData(
to: Array<string>,
value: Array<BigNumberish>,
data: Array<BytesLike>,
): string;
buildUserOp(
transactions: Transaction[],
overrides?: Overrides,
): Promise<Partial<UserOperation>>;
getAllTokenBalances(balancesDto: BalancesDto): Promise<BalancesResponse>;
getTotalBalanceInUsd(balancesDto: BalancesDto): Promise<UsdBalanceResponse>;
getSmartAccountsByOwner(
smartAccountByOwnerDto: SmartAccountByOwnerDto,
): Promise<SmartAccountsResponse>;
getTransactionsByAddress(
chainId: number,
address: string,
): Promise<SCWTransactionResponse[]>;
getTransactionByHash(txHash: string): Promise<SCWTransactionResponse>;
getAllSupportedChains(): Promise<SupportedChainsResponse>;
}
IBiconomySmartAccount Interface
The IBiconomySmartAccount interface extends the ISmartAccount interface and provides additional methods for interacting with a Biconomy Smart Account.
| Method | Parameters | Description | |
|---|---|---|---|
| init | initilizationData?: InitilizationData | Initializes the smart account with the provided initilizationData, if provided. Returns a Promise that resolves to the initialized IBiconomySmartAccount. | |
| initializeAccountAtIndex | accountIndex: number | Initializes the smart account at the specified accountIndex. | |
| getExecuteCallData | to: string, value: BigNumberish, data: BytesLike | Returns the call data for executing a single transaction to the specified address (to) with the given value and data. | |
| getExecuteBatchCallData | to: Array string , value: Array BigNumberish, data: Array BytesLike | Returns the call data for executing a batch of transactions to multiple addresses (to) with the corresponding value and data arrays. | |
| buildUserOp | transactions: Transaction[], overrides?: Overrides | Builds a UserOperation object from the provided array of Transactions. It also accepts optional overrides for specifying gas limits and gas prices. Returns a Promise that resolves to the partial UserOperation. | |
| getAllTokenBalances | balancesDto: BalancesDto | Retrieves the balances of multiple tokens for the smart account based on the provided balancesDto. Returns a Promise that resolves to the BalancesResponse containing the token balances. | |
| getTotalBalanceInUsd | balancesDto: BalancesDto | Retrieves the total balance of all tokens in USD for the smart account based on the provided balancesDto. Returns a Promise that resolves to the UsdBalanceResponse. | |
| getSmartAccountsByOwner | smartAccountByOwnerDto: SmartAccountByOwnerDto | Retrieves all smart accounts owned by the specified address based on the provided smartAccountByOwnerDto. Returns a Promise that resolves to the SmartAccountsResponse containing the array of smart account addresses. | |
| getTransactionsByAddress | chainId: number, address: string | Retrieves the transactions associated with the specified address on the given chainId. Returns a Promise that resolves to an array of SCWTransactionResponse objects containing information about the transactions. | |
| getTransactionByHash | txHash: string | Retrieves the transaction details for the specified transaction hash (txHash). Returns a Promise that resolves to a SCWTransactionResponse object containing information about the transaction. | |
| getAllSupportedChains | N/A | Retrieves information about all supported chains. Returns a Promise that resolves to the SupportedChainsResponse containing the list of supported chains. |
ISmartAccount Interface
The ISmartAccount interface provides essential methods for interacting with a Biconomy Smart Account.
import { UserOperation } from "@biconomy/core-types";
import { UserOpResponse } from "@biconomy/bundler";
export interface ISmartAccount {
getSmartAccountAddress(accountIndex: number): Promise<string>;
signUserOp(userOperation: UserOperation): Promise<UserOperation>;
sendUserOp(userOperation: UserOperation): Promise<UserOpResponse>;
sendSignedUserOp(userOperation: UserOperation): Promise<UserOpResponse>;
}
| Method | Parameters | Description |
|---|---|---|
| getSmartAccountAddress | accountIndex: number | Retrieves the address of the smart account at the specified accountIndex. Returns a Promise that resolves to the smart account address. |
| signUserOp | userOperation: UserOperation | Signs the given UserOperation with the necessary cryptographic signature. Returns a Promise that resolves to the signed UserOperation. |
| sendUserOp | userOperation: UserOperation | Sends the provided UserOperation to the Biconomy network for execution. Returns a Promise that resolves to a UserOpResponse containing the response from the network. |
| sendSignedUserOp | userOperation: UserOperation | Sends the pre-signed UserOperation to the Biconomy network for execution. Returns a Promise that resolves to a UserOpResponse containing the response from the network. |