WalrusTransactionBuilder class

Builds Walrus-specific Sui transactions.

Usage:

final builder = WalrusTransactionBuilder(
  packageConfig: testnetWalrusPackageConfig,
  walrusPackageId: '<discovered-package-id>',
);

// With proper WAL payment:
final tx = builder.registerBlobWithWal(
  RegisterBlobOptions(
    size: data.length,
    epochs: 3,
    blobId: metadata.blobId,
    rootHash: metadata.rootHash,
    deletable: true,
    owner: myAddress,
  ),
  walCoinObjectId: myWalCoinId,
  walType: '0x...::wal::WAL',
  storageCost: storageCostAmount,
  writeCost: writeCostAmount,
  encodedSize: computedEncodedSize,
);

Constructors

WalrusTransactionBuilder({required WalrusPackageConfig packageConfig, required String walrusPackageId})

Properties

hashCode int
The hash code for this object.
no setterinherited
packageConfig WalrusPackageConfig
On-chain Walrus system config for the target network.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
walrusPackageId String
The resolved Walrus Move package ID on the target network.
final

Methods

addMetadata({required Transaction tx, required dynamic blobObject, required dynamic metadata}) → void
Build a transaction that adds metadata to a blob.
addOrReplaceMetadata({required Transaction tx, required dynamic blobObject, required dynamic metadata}) → dynamic
Build a transaction that adds or replaces metadata on a blob.
certifyBlobTransaction(CertifyBlobOptions options, {Transaction? transaction}) → Transaction
Build a transaction that certifies a blob using a certificate.
createMetadata({required Transaction tx}) → dynamic
Build a transaction that creates a new empty Metadata object.
createStorageTransaction({required int encodedSize, required int epochs, required String walCoinObjectId, required BigInt storageCost, String? walType, String? owner, Transaction? transaction}) → Transaction
Build a transaction that creates a storage reservation.
deleteBlobTransaction({required String blobObjectId, Transaction? transaction}) → Transaction
Build a transaction that deletes a deletable blob.
exchangeAllForSuiTransaction({required String exchangeObjectId, required String walCoinObjectId, required String walExchangePackageId, Transaction? transaction}) → dynamic
Build a transaction that exchanges all WAL in a coin for SUI.
exchangeAllForWalTransaction({required String exchangeObjectId, required String suiCoinObjectId, required String walExchangePackageId, Transaction? transaction}) → dynamic
Build a transaction that exchanges all SUI in a coin for WAL.
exchangeForSuiTransaction({required String exchangeObjectId, required String walCoinObjectId, required BigInt amountWal, required String walExchangePackageId, Transaction? transaction}) → dynamic
Build a transaction that exchanges a specific amount of WAL for SUI.
exchangeForWalTransaction({required String exchangeObjectId, required String suiCoinObjectId, required BigInt amountSui, required String walExchangePackageId, Transaction? transaction}) → dynamic
Build a transaction that exchanges a specific amount of SUI for WAL.
extendBlobTransaction({required String blobObjectId, required int epochs, String? walCoinObjectId, BigInt? extensionCost, String? walType, Transaction? transaction}) → Transaction
Build a transaction that extends the validity period of a blob.
insertOrUpdateMetadataPair({required Transaction tx, required dynamic blobObject, required String key, required String value}) → void
Build a transaction that inserts or updates a single key-value pair in the blob's metadata. Creates metadata if not present.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerBlobTransaction(RegisterBlobOptions options, {Transaction? transaction}) → Transaction
Build a transaction that registers a blob using gas coin as payment.
registerBlobWithWal(RegisterBlobOptions options, {String? walCoinObjectId, Map<String, dynamic>? walCoinInput, required String walType, required BigInt storageCost, required BigInt writeCost, required int encodedSize, Transaction? transaction}) → Transaction
Build a transaction that registers a new blob with proper WAL payment.
removeMetadataPair({required Transaction tx, required dynamic blobObject, required String key}) → void
Build a transaction that removes a metadata key-value pair from the blob. Aborts if the key does not exist.
removeMetadataPairIfExists({required Transaction tx, required dynamic blobObject, required String key}) → void
Build a transaction that removes a metadata key-value pair if it exists (does not abort if absent).
sendUploadRelayTip({required int size, required Uint8List blobDigest, required Uint8List nonce, required UploadRelayTipConfig tipConfig, Transaction? transaction}) → Transaction
Add an upload relay tip payment + auth payload to transaction.
toString() String
A string representation of this object.
inherited
writeBlobAttributesTransaction({required String blobObjectId, required Map<String, String?> attributes, Map<String, String>? existingAttributes, Transaction? transaction}) → Transaction
Build a complete write-blob-attributes transaction.

Operators

operator ==(Object other) bool
The equality operator.
inherited