Skip to main content

TransactionBuilder

open class TransactionBuilder : Disposable, AutoCloseable, TransactionBuilderInterface

A builder for creating transactions. Use finish to finalize the transaction data.

Constructors

TransactionBuilderconstructor(sender: Address)
Create a new transaction builder and initialize its elements to default.

Functions

NameSummary
close@Synchronized
open override fun close()
destroyopen override fun destroy()
executeWithGasStationopen suspend override fun executeWithGasStation(signer: TransactionSigner): Value
Execute the transaction using the gas station and return the JSON transaction effects. This will fail unless data is set with the gas_station_sponsor function.
expirationopen override fun expiration(epoch: ULong): TransactionBuilder
Set the expiration of the transaction to be a specific epoch.
finishopen override fun finish(): Transaction
Convert this builder into a transaction.
gasopen override fun gas(objectRefs: List<ObjectReference>): TransactionBuilder
Add gas coins that will be consumed. Optional.
gasBudgetopen override fun gasBudget(budget: ULong): TransactionBuilder
Set the gas budget for the transaction.
gasPriceopen override fun gasPrice(price: ULong): TransactionBuilder
Set the gas price for the transaction.
gasStationSponsoropen override fun gasStationSponsor(url: String, duration: Duration?, headers: Map<String, List<String>>?): TransactionBuilder
Set the gas station sponsor.
makeMoveVecopen override fun makeMoveVec(elements: List<MoveArg>, typeTag: TypeTag, name: String): TransactionBuilder
Make a move vector from a list of elements. The elements must all be of the type indicated by type_tag.
mergeCoinsopen override fun mergeCoins(primaryCoin: PtbArgument, consumedCoins: List<PtbArgument>): TransactionBuilder
Merge multiple coins into one.
moveCallopen override fun moveCall(package: Address, module: Identifier, function: Identifier, arguments: List<PtbArgument>, typeArgs: List<TypeTag>, names: List<String>): TransactionBuilder
Call a Move function with the given arguments.
payopen override fun pay(coins: List<PtbArgument>, payments: List<Payment>): TransactionBuilder
Send coins to multiple recipients, each paired with the amount to send.
payIotaopen override fun payIota(payments: List<Payment>): TransactionBuilder
Send IOTA to multiple recipients, each paired with the amount to send.
publishPackageopen override fun publishPackage(packageData: MovePackageData, upgradeCapName: String): TransactionBuilder
Publish a list of modules with the given dependencies. The result assigned to upgrade_cap_name is the 0x2::package::UpgradeCap Move type. Note that the upgrade capability needs to be handled after this call:
sendCoinsopen override fun sendCoins(coins: List<PtbArgument>, recipient: Address, amount: PtbArgument?): TransactionBuilder
Transfer some coins to a recipient address. If multiple coins are provided then they will be merged.
sendIotaopen override fun sendIota(recipient: Address, amount: PtbArgument): TransactionBuilder
Send IOTA to a recipient address.
setSenderopen override fun setSender(sender: Address)
Set the sender address.
splitCoinsopen override fun splitCoins(coin: PtbArgument, amounts: List<PtbArgument>, names: List<String>): TransactionBuilder
Split a coin by the provided amounts.
sponsoropen override fun sponsor(sponsor: Address): TransactionBuilder
Set the sponsor of the transaction.
stakeopen override fun stake(stake: PtbArgument, validatorAddress: Address): TransactionBuilder
Add stake to a validator's staking pool.
toStringopen override fun toString(): String
transferObjectsopen override fun transferObjects(recipient: Address, objects: List<PtbArgument>): TransactionBuilder
Transfer a list of objects to the given address, without producing any result.
unstakeopen override fun unstake(stakedIota: PtbArgument): TransactionBuilder
Withdraw stake from a validator's staking pool.
upgradeopen override fun upgrade(packageId: ObjectId, packageData: MovePackageData, upgradeTicket: PtbArgument, name: String?): TransactionBuilder
Upgrade a Move package.
withClientopen override fun withClient(client: GraphQlClient): ClientTransactionBuilder

Companion object functions

NameSummary
fromProgrammableTransactionfun fromProgrammableTransaction(ptb: ProgrammableTransaction): TransactionBuilder
Create a transaction builder from a programmable transaction.
fromTransactionfun fromTransaction(transaction: Transaction): TransactionBuilder
Reconstruct a transaction builder from a finalized transaction. Calling finish on the returned builder produces a transaction equal to the input.