11import 'dart:typed_data' ;
2- import 'package:coinlib/src/common/checks.dart' ;
32import 'package:coinlib/src/common/serial.dart' ;
43import 'package:coinlib/src/tx/outpoint.dart' ;
54import 'package:coinlib/src/tx/sighash/sighash_type.dart' ;
65import 'package:coinlib/src/tx/transaction.dart' ;
76import 'input.dart' ;
87import 'input_signature.dart' ;
8+ import 'sequence.dart' ;
99
1010/// A transaction input without any associated witness data that acts as the
1111/// base for all other inputs as all inputs include a outpoint, script and
@@ -17,7 +17,7 @@ class RawInput extends Input {
1717 @override
1818 final Uint8List scriptSig;
1919 @override
20- final int sequence;
20+ final InputSequence sequence;
2121
2222 static SigHashType checkHashTypeNotSchnorr (SigHashType type) {
2323 if (type.schnorrDefault) {
@@ -31,21 +31,19 @@ class RawInput extends Input {
3131 RawInput ({
3232 required this .prevOut,
3333 required this .scriptSig,
34- this .sequence = Input .sequenceFinal,
35- }) {
36- checkUint32 (sequence, "this.sequence" );
37- }
34+ this .sequence = InputSequence .enforceLocktime,
35+ });
3836
3937 RawInput .fromReader (BytesReader reader)
4038 : prevOut = OutPoint .fromReader (reader),
4139 scriptSig = reader.readVarSlice (),
42- sequence = reader.readUInt32 ();
40+ sequence = InputSequence . fromValue ( reader.readUInt32 () );
4341
4442 @override
4543 void write (Writer writer) {
4644 prevOut.write (writer);
4745 writer.writeVarSlice (scriptSig);
48- writer.writeUInt32 (sequence);
46+ writer.writeUInt32 (sequence.value );
4947 }
5048
5149 /// Always true as a simple [RawInput] is assumed to be fully signed as there
0 commit comments