Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions lib/src/transaction_builder/transaction_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class BitcoinTransactionBuilder implements BasedBitcoinTransacationBuilder {
final bool isFakeTransaction;
final BitcoinOrdering inputOrdering;
final BitcoinOrdering outputOrdering;
final List<int> locktime;
BitcoinTransactionBuilder({
required this.outPuts,
required this.fee,
Expand All @@ -45,6 +46,7 @@ class BitcoinTransactionBuilder implements BasedBitcoinTransacationBuilder {
this.memo,
this.enableRBF = false,
this.isFakeTransaction = false,
this.locktime = BitcoinOpCodeConst.defaultTxLocktime,
}) : utxosInfo = utxos {
_validateBuilder();
}
Expand Down Expand Up @@ -490,7 +492,7 @@ that demonstrate the right to spend the bitcoins associated with the correspondi

/// create new transaction with inputs and outputs and isSegwit transaction or not
BtcTransaction transaction =
BtcTransaction(inputs: inputs, outputs: outputs);
BtcTransaction(inputs: inputs, outputs: outputs, locktime: locktime);

/// we define empty witnesses. maybe the transaction is segwit and We need this
final witnesses = <TxWitnessInput>[];
Expand Down Expand Up @@ -653,7 +655,7 @@ that demonstrate the right to spend the bitcoins associated with the correspondi

/// create new transaction with inputs and outputs and isSegwit transaction or not
BtcTransaction transaction =
BtcTransaction(inputs: inputs, outputs: outputs);
BtcTransaction(inputs: inputs, outputs: outputs, locktime: locktime);

/// we define empty witnesses. maybe the transaction is segwit and We need this
final witnesses = <TxWitnessInput>[];
Expand Down
28 changes: 28 additions & 0 deletions test/transaction_builder_locktime_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import 'package:bitcoin_base/bitcoin_base.dart';
import 'package:test/test.dart';

void main() {
group('BitcoinTransactionBuilder locktime', () {
test('defaults to defaultTxLocktime', () {
final b = BitcoinTransactionBuilder(
outPuts: const [],
fee: BigInt.zero,
network: BitcoinNetwork.mainnet,
utxos: const [],
);
expect(b.locktime, BitcoinOpCodeConst.defaultTxLocktime);
});

test('stores the provided locktime', () {
final lt = [0x50, 0x01, 0xcf, 0x00];
final b = BitcoinTransactionBuilder(
outPuts: const [],
fee: BigInt.zero,
network: BitcoinNetwork.mainnet,
utxos: const [],
locktime: lt,
);
expect(b.locktime, lt);
});
});
}
Loading