ScTransactionBuilder class

Assembles an SC transaction through the signing-digest pipeline.

Two factories are available:

final builder = await ScTransactionBuilder.create();
final txData = await builder.build(unsignedTx);

Constructors

ScTransactionBuilder({required ScWasmBridge wasmBridge})

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
wasmBridge → ScWasmBridge
final

Methods

build(ScUnsignedTransaction unsignedTx) → Future<ScTxData>
dispose() → void
Releases resources owned by a bridge created by this builder.
extractV2TransactionSemantics(Map<String, dynamic> unsignedTransaction, {Iterable<String> changeAddresses = const []}) → Future<ScV2TransactionSemantics>
Extracts canonical signing semantics from the complete unsigned V2 transaction map and computes its InputSigHash through Sia core.
inspectV2TransactionSemantics(Uint8List semanticBytes, {Iterable<String> changeAddresses = const []}) → Future<ScV2TransactionSemantics>
Strictly parses canonical semantic bytes and recomputes InputSigHash through the same Sia core implementation used by the hot side.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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

Static Methods

create({ScWasmLoader? wasmLoader}) → Future<ScTransactionBuilder>
Creates a builder backed by ScWasmIsolateBridge, loading sc.wasm from the package bundle. WASM parsing and transaction processing run outside the caller's isolate. No native library is required.
createWithFfi(DynamicLibrary library) → ScTransactionBuilder
Creates a builder backed by the native Go FFI bridge (ScGoFfiBridge), which is much faster. The caller supplies an already-loaded library (e.g. DynamicLibrary.open(path)) built for the current platform — see lib/src/forked_lib/sia-wasi/build.sh; this package does not bundle one.