WalletHelper
High-level helper for Wallet instances.
export interface WalletHelper {
allAddresses: Promise<Address[]>
baseAddress: Promise<Address>
calcBalance(): Promise<Value>
changeAddress: Promise<Address>
collateral: Promise<TxInput[]>
isMainnet(): Promise<boolean>
isOwnAddress(addr: Address): Promise<boolean>
isOwnPubKeyHash(pkh: PubKeyHash): Promise<boolean>
refUtxo: Promise<undefined | TxInput>
selectCollateral(amount: bigint): Promise<TxInput>
selectUtxo(value: Value): Promise<TxInput>
selectUtxos(
amount: Value,
coinSelection: CoinSelection<SpendingCredential>
): Promise<TxInput[]>
signData: unknown
signTx: unknown
stakingAddresses: Promise<StakingAddress[]>
submitTx: unknown
toJsonSafe(): Promise<OfflineWalletJsonSafe>
toOfflineWallet(): Promise<OfflineWallet>
unusedAddresses: Promise<Address[]>
usedAddresses: Promise<Address[]>
utxos: Promise<TxInput[]>
wallet: W
}
Properties
allAddresses
Concatenation of usedAddresses
and unusedAddresses
.
walletHelper.allAddresses satisfies Promise<Address[]>
baseAddress
First Address
in allAddresses
.
Throws an error if there aren't any addresses.
walletHelper.baseAddress satisfies Promise<Address>
calcBalance
Sums the values of all the utxos.
walletHelper.calcBalance satisfies () => Promise<Value>
changeAddress
First Address
in unusedAddresses
(falls back to last Address
in usedAddresses
if unusedAddresses
is empty or not defined).
walletHelper.changeAddress satisfies Promise<Address>
collateral
Returns a list of utxos suitable for use as collateral
walletHelper.collateral satisfies Promise<TxInput[]>
isMainnet
Returns true
if the wallet is connected to the mainnet.
walletHelper.isMainnet satisfies () => Promise<boolean>
isOwnAddress
Returns true
if the PubKeyHash
in the given Address
is controlled by the wallet.
walletHelper.isOwnAddress satisfies (addr: Address) => Promise<boolean>
isOwnPubKeyHash
Returns true
if the given PubKeyHash
is controlled by the wallet.
walletHelper.isOwnPubKeyHash satisfies (pkh: PubKeyHash) => Promise<boolean>
refUtxo
First UTxO in utxos
. Can be used to distinguish between preview and preprod networks.
walletHelper.refUtxo satisfies Promise<undefined | TxInput>
selectCollateral
Picks a single UTxO intended as collateral. The amount defaults to 2 Ada, which should cover most things
walletHelper.selectCollateral satisfies (amount: bigint) => Promise<TxInput>
selectUtxo
Returns only a single utxo. Throws an error if a UTxO containing the given value isn't found.
walletHelper.selectUtxo satisfies (value: Value) => Promise<TxInput>
selectUtxos
Pick a number of UTxOs needed to cover a given Value. The default coin selection strategy is to pick the smallest first.
walletHelper.selectUtxos satisfies (
amount: Value,
coinSelection: CoinSelection<SpendingCredential>
) => Promise<TxInput[]>
signData
Signs a message, returning an object containing the Signature that can be used to verify/authenticate the message later. Only available if the underlying wallet isn't a ReadonlyWallet
walletHelper.signData satisfies unknown
signTx
Signs a transaction, returning a list of signatures needed for submitting a valid transaction. Only available if the underlying wallet isn't a ReadonlyWallet
walletHelper.signTx satisfies unknown
stakingAddresses
Returns a list of the reward addresses.
walletHelper.stakingAddresses satisfies Promise<StakingAddress[]>
submitTx
Submits a transaction to the blockchain and returns the id of that transaction upon success. Only available if the underlying wallet isn't a ReadonlyWallet
walletHelper.submitTx satisfies unknown
toJsonSafe
walletHelper.toJsonSafe satisfies () => Promise<OfflineWalletJsonSafe>
toOfflineWallet
walletHelper.toOfflineWallet satisfies () => Promise<OfflineWallet>
unusedAddresses
Returns a list of unique unused addresses which can be used to send UTxOs to with increased anonimity.
walletHelper.unusedAddresses satisfies Promise<Address[]>
usedAddresses
Returns a list of addresses which already contain UTxOs.
walletHelper.usedAddresses satisfies Promise<Address[]>
utxos
Uses the fallback if the list returned from underlying wallet is empty.
walletHelper.utxos satisfies Promise<TxInput[]>
wallet
Returns the underlying wallet
walletHelper.wallet satisfies W