@gotake/gotake-sdk
Version:
SDK for interacting with GoTake blockchain contracts
54 lines • 1.96 kB
TypeScript
import { ethers } from 'ethers';
import { Provider } from '@ethersproject/providers';
import { BaseTransactionWrapper } from './base-transaction-wrapper';
import { TransactionOptions } from '../types';
/**
* Wrapper for ERC6551Registry contract, used to create and manage Token Bound Accounts (TBA)
*/
export declare class ERC6551RegistryWrapper extends BaseTransactionWrapper {
private _registry;
/**
* Create ERC6551Registry wrapper instance
* @param provider Provider instance
* @param signer Signer instance
*/
constructor(provider: Provider, signer: ethers.Signer);
/**
* Get ERC6551Registry contract instance
* @returns ERC6551Registry contract instance
*/
private getRegistry;
/**
* Calculate TBA account address
* @param implementation Account implementation contract address
* @param salt Salt
* @param chainId Chain ID
* @param tokenContract Token contract address
* @param tokenId Token ID
* @returns Account address
*/
account(implementation: string, salt: string | ethers.BigNumber, chainId: number, tokenContract: string, tokenId: number | string): Promise<string>;
/**
* Create TBA account
* @param params Account creation parameters
* @param options Transaction options
* @returns Created account address and transaction
*/
createAccount(params: {
implementation: string;
salt: string | ethers.BigNumber;
chainId: number;
tokenContract: string;
tokenId: number | string;
}, options?: TransactionOptions): Promise<{
accountAddress: string;
tx: ethers.ContractTransaction;
}>;
/**
* Update connection information (when network changes)
* @param provider New Provider
* @param signer New Signer
*/
updateConnection(provider: Provider, signer: ethers.Signer): void;
}
//# sourceMappingURL=erc6551-registry-wrapper.d.ts.map