@gotake/gotake-sdk
Version:
SDK for interacting with GoTake blockchain contracts
72 lines • 2.35 kB
TypeScript
import { ethers } from 'ethers';
import { Provider } from '@ethersproject/providers';
import { BaseTransactionWrapper } from './base-transaction-wrapper';
import { TransactionOptions } from '../types';
/**
* Wrapper for Token Bound Account contract operations
*/
export declare class TBAWrapper extends BaseTransactionWrapper {
/**
* Create TBA wrapper instance
* @param provider Provider instance
* @param signer Signer instance
*/
constructor(provider: Provider, signer: ethers.Signer);
/**
* Get TBA account contract instance
* @param address Account address
* @returns ERC6551Account contract instance
*/
private getAccountContract;
/**
* Get token information of a TBA
* @param accountAddress TBA address
* @returns Token information
*/
tokenOf(accountAddress: string): Promise<{
chainId: ethers.BigNumber;
tokenContract: string;
tokenId: ethers.BigNumber;
}>;
/**
* Get state of a TBA
* @param accountAddress TBA address
* @returns State as BigNumber
*/
getState(accountAddress: string): Promise<ethers.BigNumber>;
/**
* Initialize a TBA
* @param params Initialization parameters
* @param options Transaction options
* @returns Transaction
*/
initialize(params: {
accountAddress: string;
chainId: number;
tokenContract: string;
tokenId: ethers.BigNumber | number | string;
}, options?: TransactionOptions): Promise<ethers.ContractTransaction>;
/**
* Execute a transaction from a TBA
* @param params Execution parameters
* @param options Transaction options
* @returns Transaction and result
*/
execute(params: {
accountAddress: string;
to: string;
value: ethers.BigNumber | number | string;
data: string;
}, options?: TransactionOptions): Promise<{
tx: ethers.ContractTransaction;
result: string;
}>;
/**
* Check if address is a valid signer for a TBA
* @param accountAddress TBA address
* @param signerAddress Signer address to check
* @returns Whether the address is a valid signer
*/
isValidSigner(accountAddress: string, signerAddress: string): Promise<boolean>;
}
//# sourceMappingURL=tba-wrapper.d.ts.map