Skip to main content

SimpleWallet

export interface SimpleWallet {
  address: ShelleyAddress<PubKeyHash>
  cardanoClient: CardanoClient
  collateral: Promise<TxInput<PubKeyHash>[]>
  isMainnet(): Promise<boolean>
  signData(
    addr: ShelleyAddress<PubKeyHash>,
    data: BytesLike
  ): Promise<{
    key: PubKey
    signature: Cip30CoseSign1
  }>
  signTx(tx: Tx): Promise<Signature[]>
  spendingPrivateKey: Bip32PrivateKey
  spendingPubKey: PubKey
  spendingPubKeyHash: PubKeyHash
  stakingAddress: undefined | StakingAddress
  stakingAddresses: Promise<StakingAddress[]>
  stakingPubKey: undefined | PubKey
  stakingPubKeyHash: undefined | PubKeyHash
  submitTx(tx: Tx): Promise<TxId>
  unusedAddresses: Promise<ShelleyAddress<PubKeyHash>[]>
  usedAddresses: Promise<ShelleyAddress<PubKeyHash>[]>
  utxos: Promise<TxInput<PubKeyHash>[]>
}

Properties

address

simpleWallet.address satisfies ShelleyAddress<PubKeyHash>

cardanoClient

simpleWallet.cardanoClient satisfies CardanoClient

collateral

Don't define any collateral, let the TxBuilder use the regular inputs

simpleWallet.collateral satisfies Promise<TxInput<PubKeyHash>[]>

isMainnet

simpleWallet.isMainnet satisfies () => Promise<boolean>

signData

This method has the same interface as the Cip30Wallet.signData() method, using either the spendingCredential pubKey or the stakingCredential pubKey depending on which address is given.

simpleWallet.signData satisfies (
  addr: ShelleyAddress<PubKeyHash>,
  data: BytesLike
) => Promise<{
  key: PubKey
  signature: Cip30CoseSign1
}>

signTx

Simply assumes the tx needs to by signed by this wallet without checking.

simpleWallet.signTx satisfies (tx: Tx) => Promise<Signature[]>

spendingPrivateKey

simpleWallet.spendingPrivateKey satisfies Bip32PrivateKey

spendingPubKey

simpleWallet.spendingPubKey satisfies PubKey

spendingPubKeyHash

simpleWallet.spendingPubKeyHash satisfies PubKeyHash

stakingAddress

simpleWallet.stakingAddress satisfies undefined | StakingAddress

stakingAddresses

simpleWallet.stakingAddresses satisfies Promise<StakingAddress[]>

stakingPubKey

simpleWallet.stakingPubKey satisfies undefined | PubKey

stakingPubKeyHash

simpleWallet.stakingPubKeyHash satisfies undefined | PubKeyHash

submitTx

simpleWallet.submitTx satisfies (tx: Tx) => Promise<TxId>

unusedAddresses

Returns an empty list

simpleWallet.unusedAddresses satisfies Promise<ShelleyAddress<PubKeyHash>[]>

usedAddresses

Assumed wallet was initiated with at least 1 UTxO at the pubkeyhash address.

simpleWallet.usedAddresses satisfies Promise<ShelleyAddress<PubKeyHash>[]>

utxos

simpleWallet.utxos satisfies Promise<TxInput<PubKeyHash>[]>