Skip to main content

Assets

export interface Assets {
  add(other: Assets): Assets
  addAssetClassQuantity(
    assetClass: AssetClassLike,
    qty: IntLike
  ): void
  addPolicyTokenQuantity(
    mph: MintingPolicyHashLike,
    tokenName: BytesLike,
    qty: IntLike
  ): void
  addPolicyTokens(
    mph: MintingPolicyHashLike,
    tokens: [BytesLike, IntLike][]
  ): void
  assertAllPositive(): void
  assertSorted(): void
  assetClasses: AssetClass<unknown>[]
  assets: [MintingPolicyHash<unknown>, [number[], bigint][]][]
  copy(): Assets
  countTokens(): number
  dump(): any
  getAssetClassQuantity(assetClass: AssetClassLike): bigint
  getPolicies(): MintingPolicyHash<unknown>[]
  getPolicyTokenNames(policy: MintingPolicyHashLike): number[][]
  getPolicyTokenQuantity(
    mph: MintingPolicyHashLike,
    tokenName: BytesLike
  ): bigint
  getPolicyTokens(policy: MintingPolicyHashLike): [number[], bigint][]
  hasAssetClass(assetClass: AssetClassLike): boolean
  hasPolicyToken(
    mph: MintingPolicyHashLike,
    tokenName: BytesLike
  ): boolean
  isAllPositive(): boolean
  isEqual(other: Assets): boolean
  isGreaterOrEqual(other: Assets): boolean
  isGreaterThan(other: Assets): boolean
  isZero(): boolean
  kind: "Assets"
  multiply(scalar: IntLike): Assets
  normalize(): void
  removeZeroes(): void
  sort(shortestFirst?: boolean): void
  subtract(other: Assets): Assets
  toCbor(): number[]
  toUplcData(isInScriptContext?: boolean): MapData
}
Represents a list of non-Ada tokens.

Properties

add

add(other: Assets): Assets

addAssetClassQuantity

addAssetClassQuantity(
  assetClass: AssetClassLike,
  qty: IntLike
): void
Mutates this

addPolicyTokenQuantity

addPolicyTokenQuantity(
  mph: MintingPolicyHashLike,
  tokenName: BytesLike,
  qty: IntLike
): void
Mutates this

addPolicyTokens

addPolicyTokens(
  mph: MintingPolicyHashLike,
  tokens: [BytesLike, IntLike][]
): void
Mutates 'this'. Throws error if mph is already contained in 'this'.

assertAllPositive

assertAllPositive(): void
Throws an error if any contained quantity <= 0n

assertSorted

assertSorted(): void

assetClasses

assetClasses: AssetClass<unknown>[]

assets

assets: [MintingPolicyHash<unknown>, [number[], bigint][]][]

copy

copy(): Assets

countTokens

countTokens(): number
Returns the number of unique tokens

dump

dump(): any

getAssetClassQuantity

getAssetClassQuantity(assetClass: AssetClassLike): bigint
Returns 0n if not found

getPolicies

getPolicies(): MintingPolicyHash<unknown>[]
Returns a list of all the minting policies.

getPolicyTokenNames

getPolicyTokenNames(policy: MintingPolicyHashLike): number[][]
Returns an empty list if the policy isn't found

getPolicyTokenQuantity

getPolicyTokenQuantity(
  mph: MintingPolicyHashLike,
  tokenName: BytesLike
): bigint
Returns 0n if not found

getPolicyTokens

getPolicyTokens(policy: MintingPolicyHashLike): [number[], bigint][]
Returns an empty list if the policy isn't found

hasAssetClass

hasAssetClass(assetClass: AssetClassLike): boolean

hasPolicyToken

hasPolicyToken(
  mph: MintingPolicyHashLike,
  tokenName: BytesLike
): boolean

isAllPositive

isAllPositive(): boolean

isEqual

isEqual(other: Assets): boolean

isGreaterOrEqual

isGreaterOrEqual(other: Assets): boolean

isGreaterThan

isGreaterThan(other: Assets): boolean

isZero

isZero(): boolean

kind

kind: "Assets"

multiply

multiply(scalar: IntLike): Assets

normalize

normalize(): void
Removes zeroes and merges duplicates. In-place algorithm. Keeps the same order as much as possible.

removeZeroes

removeZeroes(): void
Mutates this

sort

sort(shortestFirst?: boolean): void
Makes sure minting policies are in correct order, and for each minting policy make sure the tokens are in the correct order Mutates this

shortestFirst

If shortestFirst is true: tokens are sorted in shortest-first order.

The shortest-first order (also called "canonical order") is required by some hardware wallets when calculating the tx hash. But the lexicographical order (i.e. alphabetical order independent of length) is used when evaluating a validator script.

subtract

subtract(other: Assets): Assets

toCbor

toCbor(): number[]

toUplcData

toUplcData(isInScriptContext?: boolean): MapData
Used when generating redeemers, datums or script contexts for running programs.

isInScriptContext

If isInScriptContext is true: for each minting policy, tokens are sorted in strict lexicographical order instead of shortest-first order.

The shortest-first order (also called "canonical order") is required by some hardware wallets when calculating the tx hash. But the lexicographical order (i.e. alphabetical order independent of length) is used when evaluating a validator script.