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