xpi-ts 0.2.22 → 0.2.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/lib/bitcore/crypto/point.js +2 -2
- package/dist/cjs/lib/bitcore/index.js +162 -162
- package/dist/esm/lib/bitcore/crypto/point.js +2 -2
- package/dist/esm/lib/bitcore/index.js +42 -42
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/address.d.ts +116 -0
- package/dist/types/lib/bitcore/address.d.ts.map +1 -1
- package/dist/types/lib/bitcore/block/block.d.ts +214 -0
- package/dist/types/lib/bitcore/block/block.d.ts.map +1 -1
- package/dist/types/lib/bitcore/block/blockheader.d.ts +220 -0
- package/dist/types/lib/bitcore/block/blockheader.d.ts.map +1 -1
- package/dist/types/lib/bitcore/block/merkleblock.d.ts +206 -0
- package/dist/types/lib/bitcore/block/merkleblock.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/bn.d.ts +224 -0
- package/dist/types/lib/bitcore/crypto/bn.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/ecdsa.d.ts +122 -0
- package/dist/types/lib/bitcore/crypto/ecdsa.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/hash.d.ts +56 -0
- package/dist/types/lib/bitcore/crypto/hash.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/index.d.ts +4 -0
- package/dist/types/lib/bitcore/crypto/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/musig2.d.ts +282 -0
- package/dist/types/lib/bitcore/crypto/musig2.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/point.d.ts +87 -0
- package/dist/types/lib/bitcore/crypto/point.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/random.d.ts +48 -0
- package/dist/types/lib/bitcore/crypto/random.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/schnorr.d.ts +203 -0
- package/dist/types/lib/bitcore/crypto/schnorr.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/signature.d.ts +452 -0
- package/dist/types/lib/bitcore/crypto/signature.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/sigtype.d.ts +46 -0
- package/dist/types/lib/bitcore/crypto/sigtype.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/base58.d.ts +68 -0
- package/dist/types/lib/bitcore/encoding/base58.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/base58check.d.ts +58 -0
- package/dist/types/lib/bitcore/encoding/base58check.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/bufferreader.d.ts +112 -0
- package/dist/types/lib/bitcore/encoding/bufferreader.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/bufferwriter.d.ts +144 -0
- package/dist/types/lib/bitcore/encoding/bufferwriter.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/varint.d.ts +86 -0
- package/dist/types/lib/bitcore/encoding/varint.d.ts.map +1 -1
- package/dist/types/lib/bitcore/errors.d.ts +4 -0
- package/dist/types/lib/bitcore/errors.d.ts.map +1 -1
- package/dist/types/lib/bitcore/hdprivatekey.d.ts +59 -0
- package/dist/types/lib/bitcore/hdprivatekey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/hdpublickey.d.ts +145 -0
- package/dist/types/lib/bitcore/hdpublickey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/index.d.ts +58 -54
- package/dist/types/lib/bitcore/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/message.d.ts +63 -0
- package/dist/types/lib/bitcore/message.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/errors.d.ts +4 -0
- package/dist/types/lib/bitcore/mnemonic/errors.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/index.d.ts +4 -0
- package/dist/types/lib/bitcore/mnemonic/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/mnemonic.d.ts +106 -0
- package/dist/types/lib/bitcore/mnemonic/mnemonic.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/pbkdf2.d.ts +13 -0
- package/dist/types/lib/bitcore/mnemonic/pbkdf2.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/words/english.d.ts +4 -0
- package/dist/types/lib/bitcore/mnemonic/words/english.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/words/french.d.ts +5 -0
- package/dist/types/lib/bitcore/mnemonic/words/french.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/words/index.d.ts +4 -0
- package/dist/types/lib/bitcore/mnemonic/words/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/musig2/index.d.ts +14 -0
- package/dist/types/lib/bitcore/musig2/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/musig2/session.d.ts +254 -0
- package/dist/types/lib/bitcore/musig2/session.d.ts.map +1 -1
- package/dist/types/lib/bitcore/musig2/signer.d.ts +212 -0
- package/dist/types/lib/bitcore/musig2/signer.d.ts.map +1 -1
- package/dist/types/lib/bitcore/networks.d.ts +17 -0
- package/dist/types/lib/bitcore/networks.d.ts.map +1 -1
- package/dist/types/lib/bitcore/opcode.d.ts +151 -0
- package/dist/types/lib/bitcore/opcode.d.ts.map +1 -1
- package/dist/types/lib/bitcore/privatekey.d.ts +80 -0
- package/dist/types/lib/bitcore/privatekey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/publickey.d.ts +195 -0
- package/dist/types/lib/bitcore/publickey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/script/chunk.d.ts +51 -0
- package/dist/types/lib/bitcore/script/chunk.d.ts.map +1 -1
- package/dist/types/lib/bitcore/script/interpreter/condition-stack.d.ts +60 -0
- package/dist/types/lib/bitcore/script/interpreter/condition-stack.d.ts.map +1 -1
- package/dist/types/lib/bitcore/script/interpreter/index.d.ts +23 -0
- package/dist/types/lib/bitcore/script/interpreter/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/script/interpreter/interpreter.d.ts +86 -0
- package/dist/types/lib/bitcore/script/interpreter/interpreter.d.ts.map +1 -1
- package/dist/types/lib/bitcore/script/interpreter/script-num.d.ts +115 -0
- package/dist/types/lib/bitcore/script/interpreter/script-num.d.ts.map +1 -1
- package/dist/types/lib/bitcore/script/interpreter/types.d.ts +119 -0
- package/dist/types/lib/bitcore/script/interpreter/types.d.ts.map +1 -1
- package/dist/types/lib/bitcore/script/taproot.d.ts +297 -0
- package/dist/types/lib/bitcore/script/taproot.d.ts.map +1 -1
- package/dist/types/lib/bitcore/script.d.ts +510 -0
- package/dist/types/lib/bitcore/script.d.ts.map +1 -1
- package/dist/types/lib/bitcore/taproot/musig2.d.ts +153 -0
- package/dist/types/lib/bitcore/taproot/musig2.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/input/multisig.d.ts +8 -0
- package/dist/types/lib/bitcore/transaction/input/multisig.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/input/multisigscripthash.d.ts +8 -0
- package/dist/types/lib/bitcore/transaction/input/multisigscripthash.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/input/publickey.d.ts +8 -0
- package/dist/types/lib/bitcore/transaction/input/publickey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/input/publickeyhash.d.ts +14 -0
- package/dist/types/lib/bitcore/transaction/input/publickeyhash.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/input/taproot.d.ts +22 -0
- package/dist/types/lib/bitcore/transaction/input/taproot.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/input.d.ts +418 -0
- package/dist/types/lib/bitcore/transaction/input.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/outpoint.d.ts +110 -0
- package/dist/types/lib/bitcore/transaction/outpoint.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/output.d.ts +83 -0
- package/dist/types/lib/bitcore/transaction/output.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/sighash.d.ts +69 -0
- package/dist/types/lib/bitcore/transaction/sighash.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/signature.d.ts +98 -0
- package/dist/types/lib/bitcore/transaction/signature.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/transaction.d.ts +379 -0
- package/dist/types/lib/bitcore/transaction/transaction.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/unspentoutput.d.ts +61 -0
- package/dist/types/lib/bitcore/transaction/unspentoutput.d.ts.map +1 -1
- package/dist/types/lib/bitcore/unit.d.ts +140 -0
- package/dist/types/lib/bitcore/unit.d.ts.map +1 -1
- package/dist/types/lib/bitcore/uri.d.ts +34 -0
- package/dist/types/lib/bitcore/uri.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/base32.d.ts +55 -0
- package/dist/types/lib/bitcore/util/base32.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/bits.d.ts +76 -0
- package/dist/types/lib/bitcore/util/bits.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/buffer.d.ts +135 -0
- package/dist/types/lib/bitcore/util/buffer.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/convertBits.d.ts +15 -0
- package/dist/types/lib/bitcore/util/convertBits.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/js.d.ts +19 -0
- package/dist/types/lib/bitcore/util/js.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/merkle.d.ts +85 -0
- package/dist/types/lib/bitcore/util/merkle.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/preconditions.d.ts +29 -0
- package/dist/types/lib/bitcore/util/preconditions.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util.d.ts +7 -0
- package/dist/types/lib/bitcore/util.d.ts.map +1 -1
- package/dist/types/lib/bitcore/xaddress.d.ts +117 -0
- package/dist/types/lib/bitcore/xaddress.d.ts.map +1 -1
- package/dist/types/lib/lokad.d.ts +292 -0
- package/dist/types/lib/lokad.d.ts.map +1 -1
- package/dist/types/lib/nft.d.ts +434 -0
- package/dist/types/lib/nft.d.ts.map +1 -1
- package/dist/types/lib/rank/api.d.ts +13 -0
- package/dist/types/lib/rank/api.d.ts.map +1 -1
- package/dist/types/lib/rank/index.d.ts +153 -0
- package/dist/types/lib/rank/index.d.ts.map +1 -1
- package/dist/types/lib/rank/opcode.d.ts +6 -2
- package/dist/types/lib/rank/opcode.d.ts.map +1 -1
- package/dist/types/lib/rank/script.d.ts +10 -0
- package/dist/types/lib/rank/script.d.ts.map +1 -1
- package/dist/types/lib/rank/transaction.d.ts +11 -0
- package/dist/types/lib/rank/transaction.d.ts.map +1 -1
- package/dist/types/lib/rpc.d.ts +176 -0
- package/dist/types/lib/rpc.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +27 -0
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/env.d.ts +15 -0
- package/dist/types/utils/env.d.ts.map +1 -1
- package/dist/types/utils/string.d.ts +57 -0
- package/dist/types/utils/string.d.ts.map +1 -1
- package/dist/types/utils/wallet.d.ts +43 -1
- package/dist/types/utils/wallet.d.ts.map +1 -1
- package/package.json +1 -1
- package/tsconfig.types.json +2 -1
|
@@ -11,6 +11,12 @@ import { TransactionSignature } from './signature';
|
|
|
11
11
|
import { Transaction } from './transaction';
|
|
12
12
|
import type { MuSig2KeyAggContext, MuSig2AggregatedNonce } from '../crypto/musig2';
|
|
13
13
|
import type { Buffer } from 'buffer/';
|
|
14
|
+
/**
|
|
15
|
+
* Data shape accepted by the Input constructor and factory methods.
|
|
16
|
+
*
|
|
17
|
+
* Mirrors the fields serialised in CTxIn (prevout + scriptSig + nSequence)
|
|
18
|
+
* plus the optional Output reference needed for signing.
|
|
19
|
+
*/
|
|
14
20
|
export interface InputData {
|
|
15
21
|
prevTxId?: Buffer | string;
|
|
16
22
|
outputIndex?: number;
|
|
@@ -19,6 +25,9 @@ export interface InputData {
|
|
|
19
25
|
scriptBuffer?: Buffer;
|
|
20
26
|
output?: Output;
|
|
21
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Plain-object representation returned by Input.toObject().
|
|
30
|
+
*/
|
|
22
31
|
export interface InputObject {
|
|
23
32
|
prevTxId?: Buffer | string;
|
|
24
33
|
outputIndex?: number;
|
|
@@ -28,56 +37,319 @@ export interface InputObject {
|
|
|
28
37
|
scriptString?: string;
|
|
29
38
|
output?: Output;
|
|
30
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Represents a transaction input.
|
|
42
|
+
*
|
|
43
|
+
* Maps directly to lotusd's CTxIn which contains:
|
|
44
|
+
* - COutPoint prevout (txid + output index)
|
|
45
|
+
* - CScript scriptSig
|
|
46
|
+
* - uint32_t nSequence
|
|
47
|
+
*
|
|
48
|
+
* Reference: lotusd/src/primitives/transaction.h lines 61-124
|
|
49
|
+
*/
|
|
31
50
|
export declare class Input {
|
|
51
|
+
/**
|
|
52
|
+
* Maximum value for a uint32 field (2^32 - 1).
|
|
53
|
+
*/
|
|
32
54
|
static readonly MAXINT = 4294967295;
|
|
55
|
+
/**
|
|
56
|
+
* Default sequence number — disables nLockTime when set on every input.
|
|
57
|
+
*
|
|
58
|
+
* Reference: CTxIn::SEQUENCE_FINAL (transaction.h line 71)
|
|
59
|
+
*/
|
|
33
60
|
static readonly DEFAULT_SEQNUMBER = 4294967295;
|
|
61
|
+
/**
|
|
62
|
+
* Sequence number used when nLockTime is active.
|
|
63
|
+
* One less than SEQUENCE_FINAL so the tx is not considered final.
|
|
64
|
+
*/
|
|
34
65
|
static readonly DEFAULT_LOCKTIME_SEQNUMBER = 4294967294;
|
|
66
|
+
/**
|
|
67
|
+
* Sequence number signalling opt-in Replace-By-Fee (BIP 125).
|
|
68
|
+
*/
|
|
35
69
|
static readonly DEFAULT_RBF_SEQNUMBER = 4294967293;
|
|
70
|
+
/**
|
|
71
|
+
* If this flag is set, CTxIn::nSequence is NOT interpreted as a
|
|
72
|
+
* relative lock-time.
|
|
73
|
+
*
|
|
74
|
+
* Reference: CTxIn::SEQUENCE_LOCKTIME_DISABLE_FLAG (transaction.h line 78)
|
|
75
|
+
*/
|
|
36
76
|
static readonly SEQUENCE_LOCKTIME_DISABLE_FLAG: number;
|
|
77
|
+
/**
|
|
78
|
+
* If CTxIn::nSequence encodes a relative lock-time and this flag is
|
|
79
|
+
* set, the relative lock-time has units of 512 seconds; otherwise it
|
|
80
|
+
* specifies blocks with a granularity of 1.
|
|
81
|
+
*
|
|
82
|
+
* Reference: CTxIn::SEQUENCE_LOCKTIME_TYPE_FLAG (transaction.h line 85)
|
|
83
|
+
*/
|
|
37
84
|
static readonly SEQUENCE_LOCKTIME_TYPE_FLAG: number;
|
|
85
|
+
/**
|
|
86
|
+
* Mask applied to extract the lock-time value from the sequence field.
|
|
87
|
+
*
|
|
88
|
+
* Reference: CTxIn::SEQUENCE_LOCKTIME_MASK (transaction.h line 91)
|
|
89
|
+
*/
|
|
38
90
|
static readonly SEQUENCE_LOCKTIME_MASK = 65535;
|
|
91
|
+
/**
|
|
92
|
+
* Granularity exponent for time-based relative lock-times.
|
|
93
|
+
*
|
|
94
|
+
* In lotusd this is stored as the shift amount (9), meaning the
|
|
95
|
+
* multiplier is 2^9 = 512 seconds. We expose the multiplier directly
|
|
96
|
+
* for convenience in the TypeScript API.
|
|
97
|
+
*
|
|
98
|
+
* Reference: CTxIn::SEQUENCE_LOCKTIME_GRANULARITY (transaction.h line 101)
|
|
99
|
+
*/
|
|
39
100
|
static readonly SEQUENCE_LOCKTIME_GRANULARITY = 512;
|
|
101
|
+
/**
|
|
102
|
+
* Maximum block-height difference encodable in the sequence field.
|
|
103
|
+
*/
|
|
40
104
|
static readonly SEQUENCE_BLOCKDIFF_LIMIT = 65535;
|
|
105
|
+
/**
|
|
106
|
+
* Previous transaction ID as a 32-byte Buffer in internal
|
|
107
|
+
* (little-endian) byte order, matching lotusd's COutPoint::txid.
|
|
108
|
+
*
|
|
109
|
+
* Reference: lotusd/src/primitives/transaction.h line 24
|
|
110
|
+
*/
|
|
41
111
|
prevTxId: Buffer;
|
|
112
|
+
/**
|
|
113
|
+
* Index into the previous transaction's vout.
|
|
114
|
+
*
|
|
115
|
+
* Reference: lotusd/src/primitives/transaction.h line 25
|
|
116
|
+
*/
|
|
42
117
|
outputIndex: number;
|
|
118
|
+
/**
|
|
119
|
+
* Sequence number.
|
|
120
|
+
*
|
|
121
|
+
* Reference: lotusd/src/primitives/transaction.h line 65
|
|
122
|
+
*/
|
|
43
123
|
sequenceNumber: number;
|
|
124
|
+
/**
|
|
125
|
+
* The raw scriptSig bytes.
|
|
126
|
+
*/
|
|
44
127
|
private _scriptBuffer;
|
|
128
|
+
/**
|
|
129
|
+
* Lazily-parsed Script object.
|
|
130
|
+
*/
|
|
45
131
|
private _script?;
|
|
132
|
+
/**
|
|
133
|
+
* The previous output being spent (optional; required for signing).
|
|
134
|
+
*/
|
|
46
135
|
output?: Output;
|
|
47
136
|
constructor(params?: InputData);
|
|
137
|
+
/**
|
|
138
|
+
* Factory — allows calling Input.create() instead of new Input().
|
|
139
|
+
*/
|
|
48
140
|
static create(params?: InputData): Input;
|
|
141
|
+
/**
|
|
142
|
+
* Construct from a plain object.
|
|
143
|
+
*/
|
|
49
144
|
static fromObject(obj: InputData): Input;
|
|
145
|
+
/**
|
|
146
|
+
* Populate this instance from an InputData object.
|
|
147
|
+
*
|
|
148
|
+
* Validates prevTxId, sets defaults matching CTxIn's default
|
|
149
|
+
* constructor (nSequence = SEQUENCE_FINAL).
|
|
150
|
+
*
|
|
151
|
+
* Reference: CTxIn default constructor (transaction.h line 103)
|
|
152
|
+
*/
|
|
50
153
|
private _fromObject;
|
|
154
|
+
/**
|
|
155
|
+
* Get the parsed Script for this input's scriptSig.
|
|
156
|
+
* Returns null for coinbase (null) inputs.
|
|
157
|
+
*/
|
|
51
158
|
get script(): Script | null;
|
|
159
|
+
/**
|
|
160
|
+
* Get the raw scriptSig bytes.
|
|
161
|
+
*/
|
|
52
162
|
get scriptBuffer(): Buffer;
|
|
163
|
+
/**
|
|
164
|
+
* Set the scriptSig from a Script, Buffer, or hex/utf8 string.
|
|
165
|
+
*/
|
|
53
166
|
setScript(script: Script | Buffer | string | null): Input;
|
|
167
|
+
/**
|
|
168
|
+
* Check if this input references a null outpoint.
|
|
169
|
+
*
|
|
170
|
+
* A null outpoint has an all-zero txid and index == NULL_INDEX.
|
|
171
|
+
*
|
|
172
|
+
* Reference: COutPoint::IsNull() (transaction.h line 35)
|
|
173
|
+
*/
|
|
54
174
|
isNull(): boolean;
|
|
175
|
+
/**
|
|
176
|
+
* An input is considered "final" when its sequence number is not
|
|
177
|
+
* SEQUENCE_FINAL (0xffffffff). This mirrors the per-input check in
|
|
178
|
+
* IsFinalTx (tx_verify.cpp line 33).
|
|
179
|
+
*
|
|
180
|
+
* Note: the name `isFinal` is kept for bitcore API compatibility,
|
|
181
|
+
* but the semantics match lotusd: returns true when the input
|
|
182
|
+
* signals that nLockTime should be enforced (i.e. sequence != final).
|
|
183
|
+
*
|
|
184
|
+
* Reference: lotusd/src/consensus/tx_verify.cpp lines 32-34
|
|
185
|
+
*/
|
|
55
186
|
isFinal(): boolean;
|
|
187
|
+
/**
|
|
188
|
+
* Whether this input has a non-default sequence number.
|
|
189
|
+
*/
|
|
56
190
|
hasSequence(): boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Whether this input encodes a BIP 68 relative lock-time.
|
|
193
|
+
*
|
|
194
|
+
* A relative lock-time is active when:
|
|
195
|
+
* 1. The disable flag (bit 31) is NOT set, AND
|
|
196
|
+
* 2. The sequence is not the default (SEQUENCE_FINAL)
|
|
197
|
+
*
|
|
198
|
+
* Reference: lotusd/src/consensus/tx_verify.cpp lines 98-102
|
|
199
|
+
*/
|
|
57
200
|
hasRelativeLockTime(): boolean;
|
|
201
|
+
/**
|
|
202
|
+
* Extract the raw relative lock-time value from the sequence field.
|
|
203
|
+
*
|
|
204
|
+
* Reference: lotusd/src/consensus/tx_verify.cpp lines 123-130
|
|
205
|
+
*/
|
|
58
206
|
getRelativeLockTime(): bigint;
|
|
207
|
+
/**
|
|
208
|
+
* Whether the relative lock-time is time-based (512-second units)
|
|
209
|
+
* rather than block-based.
|
|
210
|
+
*
|
|
211
|
+
* Reference: lotusd/src/consensus/tx_verify.cpp line 106
|
|
212
|
+
*/
|
|
59
213
|
isRelativeLockTimeInBlocks(): boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Get the relative lock-time in blocks (0 if time-based or disabled).
|
|
216
|
+
*/
|
|
60
217
|
getRelativeLockTimeInBlocks(): number;
|
|
218
|
+
/**
|
|
219
|
+
* Get the relative lock-time in seconds (0 if block-based or disabled).
|
|
220
|
+
*
|
|
221
|
+
* The raw value is left-shifted by 9 (multiplied by 512) to convert
|
|
222
|
+
* to seconds, matching lotusd's SEQUENCE_LOCKTIME_GRANULARITY.
|
|
223
|
+
*
|
|
224
|
+
* Reference: lotusd/src/consensus/tx_verify.cpp lines 120-125
|
|
225
|
+
*/
|
|
61
226
|
getRelativeLockTimeInSeconds(): number;
|
|
227
|
+
/**
|
|
228
|
+
* Convert to a plain-object representation.
|
|
229
|
+
*/
|
|
62
230
|
toObject(): InputObject;
|
|
231
|
+
/**
|
|
232
|
+
* Convert to JSON (alias for toObject)
|
|
233
|
+
*/
|
|
63
234
|
toJSON(): InputObject;
|
|
235
|
+
/**
|
|
236
|
+
* Deserialise from a BufferReader.
|
|
237
|
+
*
|
|
238
|
+
* Wire format (matching CTxIn SERIALIZE_METHODS):
|
|
239
|
+
* prevout.txid (32 bytes, internal order)
|
|
240
|
+
* prevout.n (uint32_t LE)
|
|
241
|
+
* scriptSig (var-length)
|
|
242
|
+
* nSequence (uint32_t LE)
|
|
243
|
+
*
|
|
244
|
+
* Reference: lotusd/src/primitives/transaction.h lines 112-114
|
|
245
|
+
*/
|
|
64
246
|
static fromBufferReader(br: BufferReader): Input;
|
|
247
|
+
/**
|
|
248
|
+
* Serialise to a Buffer.
|
|
249
|
+
*/
|
|
65
250
|
toBuffer(): Buffer;
|
|
251
|
+
/**
|
|
252
|
+
* Write to a BufferWriter.
|
|
253
|
+
*/
|
|
66
254
|
toBufferWriter(writer?: BufferWriter): BufferWriter;
|
|
255
|
+
/**
|
|
256
|
+
* Byte size of this input when serialised.
|
|
257
|
+
*/
|
|
67
258
|
getSize(): number;
|
|
259
|
+
/**
|
|
260
|
+
* Basic validity check.
|
|
261
|
+
*
|
|
262
|
+
* Coinbase inputs are always valid. Regular inputs must have a 32-byte
|
|
263
|
+
* prevTxId, a valid outputIndex, and a non-empty scriptSig.
|
|
264
|
+
*/
|
|
68
265
|
isValid(): boolean;
|
|
266
|
+
/**
|
|
267
|
+
* Create a deep copy of this input.
|
|
268
|
+
*/
|
|
69
269
|
clone(): Input;
|
|
270
|
+
/**
|
|
271
|
+
* Get signatures for the provided PrivateKey.
|
|
272
|
+
*
|
|
273
|
+
* The base class handles P2PKH and P2PK outputs. Subclasses override
|
|
274
|
+
* for their specific script types.
|
|
275
|
+
*
|
|
276
|
+
* @param transaction - The transaction being signed
|
|
277
|
+
* @param privateKey - Key to sign with
|
|
278
|
+
* @param index - Input index within the transaction
|
|
279
|
+
* @param sigtype - Sighash type
|
|
280
|
+
* @param hashData - Pre-computed pubkey hash (optimisation)
|
|
281
|
+
* @param signingMethod - 'ecdsa' or 'schnorr'
|
|
282
|
+
* @returns Array of TransactionSignature objects
|
|
283
|
+
*/
|
|
70
284
|
getSignatures(transaction: Transaction, privateKey: PrivateKey, index: number, sigtype?: number, hashData?: unknown, signingMethod?: string): TransactionSignature[];
|
|
285
|
+
/**
|
|
286
|
+
* Check if this input is fully signed.
|
|
287
|
+
* @abstract — subclasses must override.
|
|
288
|
+
*/
|
|
71
289
|
isFullySigned(): boolean;
|
|
290
|
+
/**
|
|
291
|
+
* Add a signature to this input.
|
|
292
|
+
*
|
|
293
|
+
* The base class handles P2PKH and P2PK script construction.
|
|
294
|
+
* Subclasses override for their specific script types.
|
|
295
|
+
*/
|
|
72
296
|
addSignature(transaction: Transaction, signature: TransactionSignature, signingMethod?: SignatureSigningMethod): this;
|
|
297
|
+
/**
|
|
298
|
+
* Clear all signatures from this input.
|
|
299
|
+
* @abstract — subclasses must override.
|
|
300
|
+
*/
|
|
73
301
|
clearSignatures(): this;
|
|
302
|
+
/**
|
|
303
|
+
* Validate a signature against this input.
|
|
304
|
+
*/
|
|
74
305
|
isValidSignature(transaction: Transaction, signature: TransactionSignature, signingMethod?: string): boolean;
|
|
306
|
+
/**
|
|
307
|
+
* Lock this input for a specified number of seconds.
|
|
308
|
+
*
|
|
309
|
+
* Sets the sequence number to encode a time-based relative lock-time
|
|
310
|
+
* per BIP 68. The value is divided by the granularity (512 seconds)
|
|
311
|
+
* and the TYPE_FLAG is set.
|
|
312
|
+
*
|
|
313
|
+
* Reference: lotusd/src/consensus/tx_verify.cpp lines 106, 120-125
|
|
314
|
+
*/
|
|
75
315
|
lockForSeconds(seconds: number): Input;
|
|
316
|
+
/**
|
|
317
|
+
* Lock this input until a specified block-height difference.
|
|
318
|
+
*
|
|
319
|
+
* Sets the sequence number to encode a block-based relative lock-time
|
|
320
|
+
* per BIP 68.
|
|
321
|
+
*
|
|
322
|
+
* Reference: lotusd/src/consensus/tx_verify.cpp lines 126-131
|
|
323
|
+
*/
|
|
76
324
|
lockUntilBlockHeight(heightDiff: number): Input;
|
|
325
|
+
/**
|
|
326
|
+
* Get the lock-time value encoded in the sequence number.
|
|
327
|
+
*
|
|
328
|
+
* Returns null if relative lock-time is disabled, otherwise returns
|
|
329
|
+
* the value in seconds (time-based) or blocks (block-based).
|
|
330
|
+
*/
|
|
77
331
|
getLockTime(): Date | number | null;
|
|
332
|
+
/**
|
|
333
|
+
* Estimate the serialised size of this input's scriptSig.
|
|
334
|
+
* Subclasses override with type-specific estimates.
|
|
335
|
+
*/
|
|
78
336
|
_estimateSize(): number;
|
|
337
|
+
/**
|
|
338
|
+
* Human-readable string, matching CTxIn::ToString() format.
|
|
339
|
+
*
|
|
340
|
+
* Reference: lotusd/src/primitives/transaction.cpp lines 19-33
|
|
341
|
+
*/
|
|
79
342
|
toString(): string;
|
|
80
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* Multi-signature input.
|
|
346
|
+
*
|
|
347
|
+
* Handles bare multisig outputs (OP_CHECKMULTISIG without P2SH wrapper).
|
|
348
|
+
*
|
|
349
|
+
* Size Estimation:
|
|
350
|
+
* - SIGNATURE_SIZE = 73 bytes (conservative ECDSA estimate)
|
|
351
|
+
* - Schnorr signatures are 65 bytes but we use the conservative value
|
|
352
|
+
*/
|
|
81
353
|
export declare class MultisigInput extends Input {
|
|
82
354
|
static readonly OPCODES_SIZE = 1;
|
|
83
355
|
static readonly SIGNATURE_SIZE = 73;
|
|
@@ -96,6 +368,11 @@ export declare class MultisigInput extends Input {
|
|
|
96
368
|
getSignatures(transaction: Transaction, privateKey: PrivateKey, index: number, sigtype?: number, hashData?: unknown, signingMethod?: string): TransactionSignature[];
|
|
97
369
|
addSignature(transaction: Transaction, signature: TransactionSignature, signingMethod?: string): this;
|
|
98
370
|
_updateScript(signingMethod?: string): this;
|
|
371
|
+
/**
|
|
372
|
+
* Create serialised signature buffers.
|
|
373
|
+
*
|
|
374
|
+
* Each signature is: [DER/Schnorr bytes] + [1-byte sighash type]
|
|
375
|
+
*/
|
|
99
376
|
_createSignatures(signingMethod?: string): Buffer[];
|
|
100
377
|
clearSignatures(): this;
|
|
101
378
|
isFullySigned(): boolean;
|
|
@@ -106,6 +383,13 @@ export declare class MultisigInput extends Input {
|
|
|
106
383
|
normalizeSignatures(transaction: Transaction, input: Input, inputIndex: number, signatures: Buffer[], publicKeys: PublicKey[], signingMethod?: string): TransactionSignature[];
|
|
107
384
|
_estimateSize(): number;
|
|
108
385
|
}
|
|
386
|
+
/**
|
|
387
|
+
* Pay-to-script-hash multisig input.
|
|
388
|
+
*
|
|
389
|
+
* Size Estimation:
|
|
390
|
+
* - SIGNATURE_SIZE = 74 bytes (conservative ECDSA estimate)
|
|
391
|
+
* - PUBKEY_SIZE = 34 bytes
|
|
392
|
+
*/
|
|
109
393
|
export declare class MultisigScriptHashInput extends Input {
|
|
110
394
|
static readonly OPCODES_SIZE = 7;
|
|
111
395
|
static readonly SIGNATURE_SIZE = 74;
|
|
@@ -127,6 +411,9 @@ export declare class MultisigScriptHashInput extends Input {
|
|
|
127
411
|
getSignatures(transaction: Transaction, privateKey: PrivateKey, index: number, sigtype?: number, hashData?: unknown, signingMethod?: string): TransactionSignature[];
|
|
128
412
|
addSignature(transaction: Transaction, signature: TransactionSignature, signingMethod?: string): this;
|
|
129
413
|
_updateScript(signingMethod?: string, checkBitsField?: Uint8Array): this;
|
|
414
|
+
/**
|
|
415
|
+
* Create serialised signature buffers for P2SH multisig.
|
|
416
|
+
*/
|
|
130
417
|
_createSignatures(signingMethod?: string): Buffer[];
|
|
131
418
|
clearSignatures(): this;
|
|
132
419
|
isFullySigned(): boolean;
|
|
@@ -137,6 +424,12 @@ export declare class MultisigScriptHashInput extends Input {
|
|
|
137
424
|
normalizeSignatures(transaction: Transaction, input: Input, inputIndex: number, signatures: Buffer[], publicKeys: PublicKey[], signingMethod?: string): TransactionSignature[];
|
|
138
425
|
_estimateSize(): number;
|
|
139
426
|
}
|
|
427
|
+
/**
|
|
428
|
+
* Pay-to-public-key input.
|
|
429
|
+
*
|
|
430
|
+
* Size Estimation:
|
|
431
|
+
* - SCRIPT_MAX_SIZE = 73 bytes (conservative ECDSA; Schnorr is 65)
|
|
432
|
+
*/
|
|
140
433
|
export declare class PublicKeyInput extends Input {
|
|
141
434
|
static readonly SCRIPT_MAX_SIZE = 73;
|
|
142
435
|
getSignatures(transaction: Transaction, privateKey: PrivateKey, index: number, sigtype?: number, hashData?: unknown, signingMethod?: string): TransactionSignature[];
|
|
@@ -145,6 +438,13 @@ export declare class PublicKeyInput extends Input {
|
|
|
145
438
|
isFullySigned(): boolean;
|
|
146
439
|
_estimateSize(): number;
|
|
147
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Pay-to-public-key-hash input (most common input type).
|
|
443
|
+
*
|
|
444
|
+
* Size Estimation:
|
|
445
|
+
* - SCRIPT_MAX_SIZE = 107 bytes (73 sig + 34 pubkey)
|
|
446
|
+
* - Conservative; Schnorr would be 99 bytes (65 + 34)
|
|
447
|
+
*/
|
|
148
448
|
export declare class PublicKeyHashInput extends Input {
|
|
149
449
|
static readonly SCRIPT_MAX_SIZE: number;
|
|
150
450
|
getSignatures(transaction: Transaction, privateKey: PrivateKey, index: number, sigtype?: number, hashData?: unknown, signingMethod?: string): TransactionSignature[];
|
|
@@ -153,45 +453,163 @@ export declare class PublicKeyHashInput extends Input {
|
|
|
153
453
|
isFullySigned(): boolean;
|
|
154
454
|
_estimateSize(): number;
|
|
155
455
|
}
|
|
456
|
+
/**
|
|
457
|
+
* Taproot-specific input data.
|
|
458
|
+
*/
|
|
156
459
|
export interface TaprootInputData extends InputData {
|
|
460
|
+
/** Internal public key (before tweaking) */
|
|
157
461
|
internalPubKey: PublicKey;
|
|
462
|
+
/** Merkle root of script tree (for script path spending) */
|
|
158
463
|
merkleRoot: Buffer;
|
|
464
|
+
/** Control block (for script path spending) */
|
|
159
465
|
controlBlock?: Buffer;
|
|
466
|
+
/** Script to execute (for script path spending) */
|
|
160
467
|
tapScript?: Script;
|
|
161
468
|
}
|
|
469
|
+
/**
|
|
470
|
+
* Pay-To-Taproot input.
|
|
471
|
+
*
|
|
472
|
+
* Supports two spending paths:
|
|
473
|
+
*
|
|
474
|
+
* 1. Key Path (default): Spend with single Schnorr signature
|
|
475
|
+
* - Requires SIGHASH_LOTUS (0x60)
|
|
476
|
+
* - Input script: <65-byte schnorr signature>
|
|
477
|
+
*
|
|
478
|
+
* 2. Script Path: Spend by revealing and executing a script
|
|
479
|
+
* - Requires control block proving script is in commitment
|
|
480
|
+
* - Input script: <...signatures/data> <script> <control_block>
|
|
481
|
+
*
|
|
482
|
+
* Reference: lotusd/src/script/interpreter.cpp VerifyTaprootSpend()
|
|
483
|
+
*/
|
|
162
484
|
export declare class TaprootInput extends Input {
|
|
485
|
+
/** Internal public key (before Taproot tweaking) */
|
|
163
486
|
internalPubKey: PublicKey;
|
|
487
|
+
/** Merkle root of script tree */
|
|
164
488
|
merkleRoot?: Buffer;
|
|
489
|
+
/** Control block for script path spending */
|
|
165
490
|
controlBlock?: Buffer;
|
|
491
|
+
/** Script to execute for script path spending */
|
|
166
492
|
tapScript?: Script;
|
|
167
493
|
constructor(params: TaprootInputData);
|
|
494
|
+
/**
|
|
495
|
+
* Check if this input has a script tree (script-path spending).
|
|
496
|
+
*
|
|
497
|
+
* A script tree exists if merkleRoot is defined, has length 32,
|
|
498
|
+
* and is non-zero.
|
|
499
|
+
*/
|
|
168
500
|
hasScriptTree(): boolean;
|
|
501
|
+
/**
|
|
502
|
+
* Check if this input is key-path only (no script tree).
|
|
503
|
+
*/
|
|
169
504
|
isKeyPathOnly(): boolean;
|
|
505
|
+
/**
|
|
506
|
+
* Get signatures for Taproot spending.
|
|
507
|
+
*
|
|
508
|
+
* Automatically detects spending path:
|
|
509
|
+
* - Key-path: SIGHASH_LOTUS (0x60) REQUIRED, Schnorr only
|
|
510
|
+
* - Script-path: Any valid sighash type
|
|
511
|
+
*
|
|
512
|
+
* Reference: lotusd/src/script/interpreter.cpp lines 2074-2165
|
|
513
|
+
*/
|
|
170
514
|
getSignatures(transaction: Transaction, privateKey: PrivateKey, index: number, sigtype?: number, hashData?: unknown, signingMethod?: 'ecdsa' | 'schnorr'): TransactionSignature[];
|
|
515
|
+
/**
|
|
516
|
+
* Get signatures for key-path spending.
|
|
517
|
+
*
|
|
518
|
+
* The private key is tweaked with the merkle root before signing,
|
|
519
|
+
* so the signature verifies against the commitment in scriptPubKey.
|
|
520
|
+
*
|
|
521
|
+
* Reference: lotusd/src/script/interpreter.cpp VerifyTaprootSpend()
|
|
522
|
+
*/
|
|
171
523
|
private _getKeyPathSignatures;
|
|
524
|
+
/**
|
|
525
|
+
* Get signatures for script-path spending.
|
|
526
|
+
*/
|
|
172
527
|
private _getScriptPathSignatures;
|
|
528
|
+
/**
|
|
529
|
+
* Add signature to input (key-path or script-path).
|
|
530
|
+
*/
|
|
173
531
|
addSignature(transaction: Transaction, signature: TransactionSignature, signingMethod?: 'ecdsa' | 'schnorr'): this;
|
|
532
|
+
/**
|
|
533
|
+
* Validate a signature for this Taproot input.
|
|
534
|
+
*/
|
|
174
535
|
isValidSignature(transaction: Transaction, signature: TransactionSignature, signingMethod?: 'ecdsa' | 'schnorr'): boolean;
|
|
175
536
|
clearSignatures(): this;
|
|
176
537
|
isFullySigned(): boolean;
|
|
538
|
+
/**
|
|
539
|
+
* Estimate size: key path = 65 bytes (64 Schnorr + 1 sighash) + 1 varint.
|
|
540
|
+
*/
|
|
177
541
|
_estimateSize(): number;
|
|
178
542
|
}
|
|
543
|
+
/**
|
|
544
|
+
* MuSig2 Taproot Input.
|
|
545
|
+
*
|
|
546
|
+
* Specialised input type for spending Taproot outputs using MuSig2
|
|
547
|
+
* multi-signature. Coordinates multi-party signing for Taproot key
|
|
548
|
+
* path spending.
|
|
549
|
+
*
|
|
550
|
+
* Multi-Party Signing Flow:
|
|
551
|
+
* 1. All signers agree on message (transaction sighash)
|
|
552
|
+
* 2. Round 1: Exchange public nonces
|
|
553
|
+
* 3. Round 2: Exchange partial signatures
|
|
554
|
+
* 4. Aggregate partial signatures into final Schnorr signature
|
|
555
|
+
*/
|
|
179
556
|
export declare class MuSig2TaprootInput extends TaprootInput {
|
|
557
|
+
/** Key aggregation context from MuSig2 */
|
|
180
558
|
keyAggContext?: MuSig2KeyAggContext;
|
|
559
|
+
/** Collected public nonces from all signers */
|
|
181
560
|
publicNonces?: Map<number, [Point, Point]>;
|
|
561
|
+
/** Aggregated nonce */
|
|
182
562
|
aggregatedNonce?: MuSig2AggregatedNonce;
|
|
563
|
+
/** Collected partial signatures from all signers */
|
|
183
564
|
partialSignatures?: Map<number, BN>;
|
|
565
|
+
/** This signer's index in the key aggregation */
|
|
184
566
|
mySignerIndex?: number;
|
|
185
567
|
constructor(params: TaprootInputData & {
|
|
186
568
|
keyAggContext?: MuSig2KeyAggContext;
|
|
187
569
|
mySignerIndex?: number;
|
|
188
570
|
});
|
|
571
|
+
/**
|
|
572
|
+
* Initialise MuSig2 signing session.
|
|
573
|
+
*
|
|
574
|
+
* @param keyAggContext - Key aggregation context from musigKeyAgg()
|
|
575
|
+
* @param mySignerIndex - This signer's index in the aggregation
|
|
576
|
+
*/
|
|
189
577
|
initMuSig2Session(keyAggContext: MuSig2KeyAggContext, mySignerIndex: number): this;
|
|
578
|
+
/**
|
|
579
|
+
* Add a public nonce from a signer.
|
|
580
|
+
*
|
|
581
|
+
* @param signerIndex - Index of the signer
|
|
582
|
+
* @param publicNonce - The signer's public nonce pair [R1, R2]
|
|
583
|
+
*/
|
|
190
584
|
addPublicNonce(signerIndex: number, publicNonce: [Point, Point]): this;
|
|
585
|
+
/**
|
|
586
|
+
* Check if all public nonces have been received.
|
|
587
|
+
*/
|
|
191
588
|
hasAllNonces(): boolean;
|
|
589
|
+
/**
|
|
590
|
+
* Aggregate all received public nonces.
|
|
591
|
+
*/
|
|
192
592
|
aggregateNonces(): this;
|
|
593
|
+
/**
|
|
594
|
+
* Add a partial signature from a signer.
|
|
595
|
+
*
|
|
596
|
+
* @param signerIndex - Index of the signer
|
|
597
|
+
* @param partialSig - The signer's partial signature
|
|
598
|
+
*/
|
|
193
599
|
addPartialSignature(signerIndex: number, partialSig: BN): this;
|
|
600
|
+
/**
|
|
601
|
+
* Check if all partial signatures have been received.
|
|
602
|
+
*/
|
|
194
603
|
hasAllPartialSignatures(): boolean;
|
|
604
|
+
/**
|
|
605
|
+
* Finalise MuSig2 signature.
|
|
606
|
+
*
|
|
607
|
+
* Aggregates all partial signatures into a final Schnorr signature
|
|
608
|
+
* and adds it to the input script.
|
|
609
|
+
*
|
|
610
|
+
* @param transaction - The transaction being signed
|
|
611
|
+
* @param message - Message that was signed (sighash)
|
|
612
|
+
*/
|
|
195
613
|
finalizeMuSig2Signature(transaction: Transaction, message: Buffer): this;
|
|
196
614
|
isFullySigned(): boolean;
|
|
197
615
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/transaction/input.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,EAAE,EAAQ,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAa,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAO3C,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/transaction/input.ts"],"names":[],"mappings":"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"}
|