Like coin but produces a Balance<[type]> value — for Move functions
that take a balance directly, and for gasless address-balance transfers
(e.g. 0x2::balance::send_funds<T>).
Produces a Coin<[type]> of exactly balance base units, sourced from the
sender's owned coin objects and/or per-address balance. The exact commands
(merge + split of owned coins, or an address-balance withdrawal) are chosen
at build time by the CoinWithBalance resolver based on what the sender
holds. For SUI, useGasCoin (the default) splits from the gas coin.
Resolve Move Registry (@org/app) names in this transaction's moveCall
commands — both the package name and any type arguments — using the given
resolver callbacks. Rewrites the commands in place. No-op if no MVR names
are present. Mirrors the TypeScript SDK's NamedPackagesPlugin.
Serialize the transaction to a string so that it can be sent to a separate context.
This is different from build in that it does not serialize to BCS bytes, and instead
uses a separate format that is unique to the transaction builder. This allows
us to serialize partially-complete transactions, that can then be completed and
built in a separate context.
Sets the sender only if it has not already been set.
This is useful for sponsored transaction flows where the sender may not be the same as the signer address.
Bounds this transaction's validity to a window (epochs and/or timestamps)
with a random nonce. Required for transactions carrying no gas payment
(address-balance / gasless): validators use the window + nonce instead of
an owned gas object to prevent equivocation. chain is the chain
identifier (genesis checkpoint digest, base58 — e.g. from
getChainIdentifier()).
Add a new shared object input to the transaction using the fully-resolved shared object reference.
If you only have an object ID, use builder.object(id) instead.
Converts from a serialize transaction kind (built with build({ onlyTransactionKind: true })) to a Transaction class.
Supports either a byte array, or base64-encoded bytes.