Represent a provider internal base wallet. Basically it is a list ProviderInternalWalletAccount used to contain account data into provider. A provider internal wallet is able to generate a signer when it is needed by the provider.

e.g., Provider can need the Signer with methods like eth_sendTransaction, ...

To be compatible with provider-internal-wallet stack it is better to implement this interface for each kind of provider internal wallet you want to use.

interface ProviderInternalWallet {
    accounts: ProviderInternalWalletAccount[];
    gasPayer?: SignTransactionOptions;
    getAccount: ((addressOrIndex?: string | number) => Promise<ProviderInternalWalletAccount>);
    getAccountSync: ((addressOrIndex?: string | number) => ProviderInternalWalletAccount);
    getAddresses: (() => Promise<string[]>);
    getAddressesSync: (() => string[]);
    getGasPayer: (() => Promise<SignTransactionOptions>);
    getGasPayerSync: (() => SignTransactionOptions);
    getSigner: ((parentProvider: AvailableVeChainProviders, addressOrIndex?: string | number) => Promise<VeChainSigner>);
    getSignerSync: ((parentProvider: AvailableVeChainProviders, addressOrIndex?: string | number) => VeChainSigner);
}

Properties

List of accounts in the wallet.

Options for signing a transaction with gasPayer.

getAccount: ((addressOrIndex?: string | number) => Promise<ProviderInternalWalletAccount>)

Get an account given an address or an index.

Type declaration

getAccountSync: ((addressOrIndex?: string | number) => ProviderInternalWalletAccount)

SYNC Version of getAccount()

Get an account given an address or an index.

Type declaration

getAddresses: (() => Promise<string[]>)

Get the list of addresses in the wallet.

Type declaration

    • (): Promise<string[]>
    • Returns Promise<string[]>

      The list of addresses in the wallet.

getAddressesSync: (() => string[])

SYNC Version of getAddresses()

Get the list of addresses in the wallet.

Type declaration

    • (): string[]
    • Returns string[]

      The list of addresses in the wallet.

getGasPayer: (() => Promise<SignTransactionOptions>)

Get the options for signing a transaction with gasPayer (if any).

Type declaration

getGasPayerSync: (() => SignTransactionOptions)

SYNC Version of getGasPayer()

Get the options for signing a transaction with gasPayer (if any).

Type declaration

getSigner: ((parentProvider: AvailableVeChainProviders, addressOrIndex?: string | number) => Promise<VeChainSigner>)

Get a signer into the internal wallet provider for the given address.

Type declaration

    • (parentProvider, addressOrIndex?): Promise<VeChainSigner>
    • Parameters

      • parentProvider: AvailableVeChainProviders

        The parent provider of the Internal Wallet.

      • OptionaladdressOrIndex: string | number

        Address or index of the account.

      Returns Promise<VeChainSigner>

      The signer for the given address.

getSignerSync: ((parentProvider: AvailableVeChainProviders, addressOrIndex?: string | number) => VeChainSigner)

SYNC Version of getSigner()

Get a signer into the internal wallet provider for the given address.

Type declaration

    • (parentProvider, addressOrIndex?): VeChainSigner
    • Parameters

      • parentProvider: AvailableVeChainProviders

        The parent provider of the Internal Wallet.

      • OptionaladdressOrIndex: string | number

        Address or index of the account.

      Returns VeChainSigner

      The signer for the given address.