xpi-ts 0.2.13 → 0.2.15
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/address.js +75 -74
- package/dist/cjs/lib/bitcore/block/block.js +124 -126
- package/dist/cjs/lib/bitcore/block/blockheader.js +142 -208
- package/dist/cjs/lib/bitcore/block/index.js +3 -1
- package/dist/cjs/lib/bitcore/block/merkleblock.js +301 -0
- package/dist/cjs/lib/bitcore/crypto/bn.js +18 -22
- package/dist/cjs/lib/bitcore/crypto/ecdsa.js +50 -49
- package/dist/cjs/lib/bitcore/crypto/hash.js +25 -22
- package/dist/cjs/lib/bitcore/crypto/musig2.js +86 -92
- package/dist/cjs/lib/bitcore/crypto/point.js +42 -35
- package/dist/cjs/lib/bitcore/crypto/random.js +3 -2
- package/dist/cjs/lib/bitcore/crypto/schnorr.js +46 -55
- package/dist/cjs/lib/bitcore/crypto/signature.js +67 -55
- package/dist/cjs/lib/bitcore/crypto/sigtype.js +1 -1
- package/dist/cjs/lib/bitcore/encoding/base58.js +5 -4
- package/dist/cjs/lib/bitcore/encoding/base58check.js +14 -57
- package/dist/cjs/lib/bitcore/encoding/bufferreader.js +17 -17
- package/dist/cjs/lib/bitcore/encoding/bufferwriter.js +22 -26
- package/dist/cjs/lib/bitcore/encoding/varint.js +12 -11
- package/dist/cjs/lib/bitcore/errors.js +1 -0
- package/dist/cjs/lib/bitcore/hdprivatekey.js +74 -66
- package/dist/cjs/lib/bitcore/hdpublickey.js +96 -116
- package/dist/cjs/lib/bitcore/index.js +165 -172
- package/dist/cjs/lib/bitcore/message.js +36 -35
- package/dist/cjs/lib/bitcore/mnemonic/mnemonic.js +4 -3
- package/dist/cjs/lib/bitcore/mnemonic/pbkdf2.js +6 -5
- package/dist/cjs/lib/bitcore/mnemonic/words/french.js +2053 -0
- package/dist/cjs/lib/bitcore/mnemonic/words/index.js +2 -0
- package/dist/cjs/lib/bitcore/musig2/session.js +26 -25
- package/dist/cjs/lib/bitcore/musig2/signer.js +17 -16
- package/dist/cjs/lib/bitcore/networks.js +4 -3
- package/dist/cjs/lib/bitcore/opcode.js +11 -7
- package/dist/cjs/lib/bitcore/privatekey.js +42 -42
- package/dist/cjs/lib/bitcore/publickey.js +61 -57
- package/dist/cjs/lib/bitcore/script/interpreter/condition-stack.js +41 -0
- package/dist/cjs/lib/bitcore/script/interpreter/index.js +25 -0
- package/dist/cjs/lib/bitcore/script/interpreter/interpreter.js +1362 -0
- package/dist/cjs/lib/bitcore/script/interpreter/script-num.js +200 -0
- package/dist/cjs/lib/bitcore/script/interpreter/types.js +96 -0
- package/dist/cjs/lib/bitcore/{taproot.js → script/taproot.js} +107 -95
- package/dist/cjs/lib/bitcore/script.js +163 -104
- package/dist/cjs/lib/bitcore/taproot/musig2.js +51 -42
- package/dist/cjs/lib/bitcore/transaction/index.js +21 -21
- package/dist/cjs/lib/bitcore/transaction/input/multisig.js +10 -0
- package/dist/cjs/lib/bitcore/transaction/input/multisigscripthash.js +10 -0
- package/dist/cjs/lib/bitcore/transaction/input/publickey.js +10 -0
- package/dist/cjs/lib/bitcore/transaction/input/publickeyhash.js +10 -0
- package/dist/cjs/lib/bitcore/transaction/input/taproot.js +20 -0
- package/dist/cjs/lib/bitcore/transaction/input.js +145 -166
- package/dist/cjs/lib/bitcore/transaction/outpoint.js +89 -0
- package/dist/cjs/lib/bitcore/transaction/output.js +13 -8
- package/dist/cjs/lib/bitcore/transaction/sighash.js +96 -96
- package/dist/cjs/lib/bitcore/transaction/signature.js +39 -40
- package/dist/cjs/lib/bitcore/transaction/transaction.js +130 -118
- package/dist/cjs/lib/bitcore/transaction/unspentoutput.js +27 -23
- package/dist/cjs/lib/bitcore/util/bits.js +33 -0
- package/dist/cjs/lib/bitcore/util/buffer.js +29 -18
- package/dist/cjs/lib/bitcore/util/js.js +0 -3
- package/dist/cjs/lib/bitcore/util/merkle.js +53 -0
- package/dist/cjs/lib/bitcore/util/preconditions.js +8 -7
- package/dist/cjs/lib/bitcore/xaddress.js +27 -23
- package/dist/cjs/lib/{bitcore/taproot/nft.js → nft.js} +98 -29
- package/dist/cjs/lib/rank/index.js +28 -27
- package/dist/cjs/lib/rank/script.js +2 -1
- package/dist/cjs/lib/rank/transaction.js +2 -1
- package/dist/cjs/utils/string.js +6 -5
- package/dist/esm/lib/bitcore/address.js +42 -41
- package/dist/esm/lib/bitcore/block/block.js +126 -128
- package/dist/esm/lib/bitcore/block/blockheader.js +141 -207
- package/dist/esm/lib/bitcore/block/index.js +1 -0
- package/dist/esm/lib/bitcore/block/merkleblock.js +295 -0
- package/dist/esm/lib/bitcore/crypto/bn.js +18 -22
- package/dist/esm/lib/bitcore/crypto/ecdsa.js +25 -24
- package/dist/esm/lib/bitcore/crypto/hash.js +25 -22
- package/dist/esm/lib/bitcore/crypto/musig2.js +60 -66
- package/dist/esm/lib/bitcore/crypto/point.js +22 -15
- package/dist/esm/lib/bitcore/crypto/random.js +3 -2
- package/dist/esm/lib/bitcore/crypto/schnorr.js +35 -44
- package/dist/esm/lib/bitcore/crypto/signature.js +61 -49
- package/dist/esm/lib/bitcore/crypto/sigtype.js +1 -1
- package/dist/esm/lib/bitcore/encoding/base58.js +5 -4
- package/dist/esm/lib/bitcore/encoding/base58check.js +11 -57
- package/dist/esm/lib/bitcore/encoding/bufferreader.js +7 -7
- package/dist/esm/lib/bitcore/encoding/bufferwriter.js +18 -21
- package/dist/esm/lib/bitcore/encoding/varint.js +7 -6
- package/dist/esm/lib/bitcore/errors.js +1 -0
- package/dist/esm/lib/bitcore/hdprivatekey.js +47 -39
- package/dist/esm/lib/bitcore/hdpublickey.js +77 -97
- package/dist/esm/lib/bitcore/index.js +42 -45
- package/dist/esm/lib/bitcore/message.js +16 -15
- package/dist/esm/lib/bitcore/mnemonic/mnemonic.js +4 -3
- package/dist/esm/lib/bitcore/mnemonic/pbkdf2.js +5 -4
- package/dist/esm/lib/bitcore/mnemonic/words/french.js +2050 -0
- package/dist/esm/lib/bitcore/mnemonic/words/index.js +2 -0
- package/dist/esm/lib/bitcore/musig2/session.js +17 -16
- package/dist/esm/lib/bitcore/musig2/signer.js +19 -18
- package/dist/esm/lib/bitcore/networks.js +4 -3
- package/dist/esm/lib/bitcore/opcode.js +9 -5
- package/dist/esm/lib/bitcore/privatekey.js +25 -25
- package/dist/esm/lib/bitcore/publickey.js +46 -42
- package/dist/esm/lib/bitcore/script/interpreter/condition-stack.js +37 -0
- package/dist/esm/lib/bitcore/script/interpreter/index.js +4 -0
- package/dist/esm/lib/bitcore/script/interpreter/interpreter.js +1356 -0
- package/dist/esm/lib/bitcore/script/interpreter/script-num.js +195 -0
- package/dist/esm/lib/bitcore/script/interpreter/types.js +93 -0
- package/dist/esm/lib/bitcore/{taproot.js → script/taproot.js} +92 -81
- package/dist/esm/lib/bitcore/script.js +163 -102
- package/dist/esm/lib/bitcore/taproot/musig2.js +36 -27
- package/dist/esm/lib/bitcore/transaction/index.js +6 -6
- package/dist/esm/lib/bitcore/transaction/input/multisig.js +6 -0
- package/dist/esm/lib/bitcore/transaction/input/multisigscripthash.js +6 -0
- package/dist/esm/lib/bitcore/transaction/input/publickey.js +6 -0
- package/dist/esm/lib/bitcore/transaction/input/publickeyhash.js +6 -0
- package/dist/esm/lib/bitcore/transaction/input/taproot.js +16 -0
- package/dist/esm/lib/bitcore/transaction/input.js +55 -76
- package/dist/esm/lib/bitcore/transaction/outpoint.js +85 -0
- package/dist/esm/lib/bitcore/transaction/output.js +13 -8
- package/dist/esm/lib/bitcore/transaction/sighash.js +22 -22
- package/dist/esm/lib/bitcore/transaction/signature.js +16 -17
- package/dist/esm/lib/bitcore/transaction/transaction.js +58 -46
- package/dist/esm/lib/bitcore/transaction/unspentoutput.js +15 -11
- package/dist/esm/lib/bitcore/util/bits.js +27 -0
- package/dist/esm/lib/bitcore/util/buffer.js +20 -9
- package/dist/esm/lib/bitcore/util/js.js +0 -3
- package/dist/esm/lib/bitcore/util/merkle.js +47 -0
- package/dist/esm/lib/bitcore/util/preconditions.js +3 -2
- package/dist/esm/lib/bitcore/xaddress.js +16 -12
- package/dist/esm/lib/{bitcore/taproot/nft.js → nft.js} +97 -28
- package/dist/esm/lib/rank/index.js +15 -14
- package/dist/esm/lib/rank/script.js +1 -0
- package/dist/esm/lib/rank/transaction.js +1 -0
- package/dist/esm/utils/string.js +1 -0
- package/dist/types/lib/bitcore/address.d.ts +4 -3
- package/dist/types/lib/bitcore/address.d.ts.map +1 -1
- package/dist/types/lib/bitcore/block/block.d.ts +11 -19
- package/dist/types/lib/bitcore/block/block.d.ts.map +1 -1
- package/dist/types/lib/bitcore/block/blockheader.d.ts +30 -32
- package/dist/types/lib/bitcore/block/blockheader.d.ts.map +1 -1
- package/dist/types/lib/bitcore/block/index.d.ts +2 -0
- package/dist/types/lib/bitcore/block/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/block/merkleblock.d.ts +53 -0
- package/dist/types/lib/bitcore/block/merkleblock.d.ts.map +1 -0
- package/dist/types/lib/bitcore/crypto/bn.d.ts +2 -2
- package/dist/types/lib/bitcore/crypto/bn.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/ecdsa.d.ts +5 -4
- package/dist/types/lib/bitcore/crypto/ecdsa.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/hash.d.ts +3 -1
- package/dist/types/lib/bitcore/crypto/hash.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/musig2.d.ts +22 -30
- package/dist/types/lib/bitcore/crypto/musig2.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/point.d.ts +8 -3
- package/dist/types/lib/bitcore/crypto/point.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/random.d.ts +1 -0
- package/dist/types/lib/bitcore/crypto/random.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/schnorr.d.ts +5 -4
- package/dist/types/lib/bitcore/crypto/schnorr.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/signature.d.ts +4 -1
- package/dist/types/lib/bitcore/crypto/signature.d.ts.map +1 -1
- package/dist/types/lib/bitcore/crypto/sigtype.d.ts +1 -0
- package/dist/types/lib/bitcore/crypto/sigtype.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/base58.d.ts +1 -0
- package/dist/types/lib/bitcore/encoding/base58.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/base58check.d.ts +1 -2
- package/dist/types/lib/bitcore/encoding/base58check.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/bufferreader.d.ts +2 -1
- package/dist/types/lib/bitcore/encoding/bufferreader.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/bufferwriter.d.ts +2 -2
- package/dist/types/lib/bitcore/encoding/bufferwriter.d.ts.map +1 -1
- package/dist/types/lib/bitcore/encoding/varint.d.ts +3 -2
- package/dist/types/lib/bitcore/encoding/varint.d.ts.map +1 -1
- package/dist/types/lib/bitcore/errors.d.ts +3 -0
- package/dist/types/lib/bitcore/errors.d.ts.map +1 -1
- package/dist/types/lib/bitcore/hdprivatekey.d.ts +5 -4
- package/dist/types/lib/bitcore/hdprivatekey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/hdpublickey.d.ts +4 -3
- package/dist/types/lib/bitcore/hdpublickey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/index.d.ts +55 -60
- package/dist/types/lib/bitcore/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/message.d.ts +7 -4
- package/dist/types/lib/bitcore/message.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/mnemonic.d.ts +2 -0
- package/dist/types/lib/bitcore/mnemonic/mnemonic.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/pbkdf2.d.ts +1 -0
- package/dist/types/lib/bitcore/mnemonic/pbkdf2.d.ts.map +1 -1
- package/dist/types/lib/bitcore/mnemonic/words/french.d.ts +2 -0
- package/dist/types/lib/bitcore/mnemonic/words/french.d.ts.map +1 -0
- package/dist/types/lib/bitcore/mnemonic/words/index.d.ts +1 -0
- package/dist/types/lib/bitcore/mnemonic/words/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/musig2/session.d.ts +8 -7
- package/dist/types/lib/bitcore/musig2/session.d.ts.map +1 -1
- package/dist/types/lib/bitcore/musig2/signer.d.ts +10 -9
- package/dist/types/lib/bitcore/musig2/signer.d.ts.map +1 -1
- package/dist/types/lib/bitcore/networks.d.ts +1 -0
- package/dist/types/lib/bitcore/networks.d.ts.map +1 -1
- package/dist/types/lib/bitcore/opcode.d.ts +5 -0
- package/dist/types/lib/bitcore/opcode.d.ts.map +1 -1
- package/dist/types/lib/bitcore/privatekey.d.ts +5 -4
- package/dist/types/lib/bitcore/privatekey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/publickey.d.ts +13 -6
- package/dist/types/lib/bitcore/publickey.d.ts.map +1 -1
- package/dist/types/lib/bitcore/{chunk.d.ts → script/chunk.d.ts} +1 -0
- package/dist/types/lib/bitcore/script/chunk.d.ts.map +1 -0
- package/dist/types/lib/bitcore/script/interpreter/condition-stack.d.ts +11 -0
- package/dist/types/lib/bitcore/script/interpreter/condition-stack.d.ts.map +1 -0
- package/dist/types/lib/bitcore/script/interpreter/index.d.ts +5 -0
- package/dist/types/lib/bitcore/script/interpreter/index.d.ts.map +1 -0
- package/dist/types/lib/bitcore/script/interpreter/interpreter.d.ts +21 -0
- package/dist/types/lib/bitcore/script/interpreter/interpreter.d.ts.map +1 -0
- package/dist/types/lib/bitcore/script/interpreter/script-num.d.ts +35 -0
- package/dist/types/lib/bitcore/script/interpreter/script-num.d.ts.map +1 -0
- package/dist/types/lib/bitcore/script/interpreter/types.d.ts +101 -0
- package/dist/types/lib/bitcore/script/interpreter/types.d.ts.map +1 -0
- package/dist/types/lib/bitcore/{taproot.d.ts → script/taproot.d.ts} +20 -7
- package/dist/types/lib/bitcore/script/taproot.d.ts.map +1 -0
- package/dist/types/lib/bitcore/script.d.ts +12 -11
- package/dist/types/lib/bitcore/script.d.ts.map +1 -1
- package/dist/types/lib/bitcore/taproot/musig2.d.ts +17 -16
- package/dist/types/lib/bitcore/taproot/musig2.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/index.d.ts +11 -11
- package/dist/types/lib/bitcore/transaction/index.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/input/multisig.d.ts +5 -0
- package/dist/types/lib/bitcore/transaction/input/multisig.d.ts.map +1 -0
- package/dist/types/lib/bitcore/transaction/input/multisigscripthash.d.ts +5 -0
- package/dist/types/lib/bitcore/transaction/input/multisigscripthash.d.ts.map +1 -0
- package/dist/types/lib/bitcore/transaction/input/publickey.d.ts +5 -0
- package/dist/types/lib/bitcore/transaction/input/publickey.d.ts.map +1 -0
- package/dist/types/lib/bitcore/transaction/input/publickeyhash.d.ts +6 -0
- package/dist/types/lib/bitcore/transaction/input/publickeyhash.d.ts.map +1 -0
- package/dist/types/lib/bitcore/transaction/input/taproot.d.ts +18 -0
- package/dist/types/lib/bitcore/transaction/input/taproot.d.ts.map +1 -0
- package/dist/types/lib/bitcore/transaction/input.d.ts +27 -35
- package/dist/types/lib/bitcore/transaction/input.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/outpoint.d.ts +32 -0
- package/dist/types/lib/bitcore/transaction/outpoint.d.ts.map +1 -0
- package/dist/types/lib/bitcore/transaction/output.d.ts +3 -1
- package/dist/types/lib/bitcore/transaction/output.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/sighash.d.ts +8 -7
- package/dist/types/lib/bitcore/transaction/sighash.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/signature.d.ts +3 -2
- package/dist/types/lib/bitcore/transaction/signature.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/transaction.d.ts +18 -15
- package/dist/types/lib/bitcore/transaction/transaction.d.ts.map +1 -1
- package/dist/types/lib/bitcore/transaction/unspentoutput.d.ts +9 -7
- package/dist/types/lib/bitcore/transaction/unspentoutput.d.ts.map +1 -1
- package/dist/types/lib/bitcore/unit.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/base32.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/bits.d.ts +5 -0
- package/dist/types/lib/bitcore/util/bits.d.ts.map +1 -0
- package/dist/types/lib/bitcore/util/buffer.d.ts +10 -2
- package/dist/types/lib/bitcore/util/buffer.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/js.d.ts +0 -1
- package/dist/types/lib/bitcore/util/js.d.ts.map +1 -1
- package/dist/types/lib/bitcore/util/merkle.d.ts +6 -0
- package/dist/types/lib/bitcore/util/merkle.d.ts.map +1 -0
- package/dist/types/lib/bitcore/util/preconditions.d.ts.map +1 -1
- package/dist/types/lib/bitcore/xaddress.d.ts +1 -0
- package/dist/types/lib/bitcore/xaddress.d.ts.map +1 -1
- package/dist/types/lib/{bitcore/taproot/nft.d.ts → nft.d.ts} +26 -12
- package/dist/types/lib/nft.d.ts.map +1 -0
- package/dist/types/lib/rank/index.d.ts +1 -0
- package/dist/types/lib/rank/index.d.ts.map +1 -1
- package/dist/types/lib/rank/script.d.ts +1 -0
- package/dist/types/lib/rank/script.d.ts.map +1 -1
- package/dist/types/lib/rank/transaction.d.ts +1 -0
- package/dist/types/lib/rank/transaction.d.ts.map +1 -1
- package/dist/types/utils/string.d.ts +1 -0
- package/dist/types/utils/string.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/cjs/lib/bitcore/script/interpreter.js +0 -1757
- package/dist/esm/lib/bitcore/script/interpreter.js +0 -1753
- package/dist/types/lib/bitcore/chunk.d.ts.map +0 -1
- package/dist/types/lib/bitcore/script/interpreter.d.ts +0 -101
- package/dist/types/lib/bitcore/script/interpreter.d.ts.map +0 -1
- package/dist/types/lib/bitcore/taproot/nft.d.ts.map +0 -1
- package/dist/types/lib/bitcore/taproot.d.ts.map +0 -1
- /package/dist/cjs/lib/bitcore/{chunk.js → script/chunk.js} +0 -0
- /package/dist/esm/lib/bitcore/{chunk.js → script/chunk.js} +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Buffer } from 'buffer/';
|
|
2
|
+
export declare class ScriptNumError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
export declare class ScriptNum {
|
|
6
|
+
private static readonly INT64_MAX;
|
|
7
|
+
private static readonly INT64_MIN_EXCLUSIVE;
|
|
8
|
+
readonly value: bigint;
|
|
9
|
+
constructor(value: bigint);
|
|
10
|
+
static fromBuffer(buf: Buffer, requireMinimal?: boolean, maxSize?: number): ScriptNum;
|
|
11
|
+
static isMinimallyEncoded(buf: Buffer, maxSize?: number): boolean;
|
|
12
|
+
static minimallyEncode(data: Buffer): Buffer;
|
|
13
|
+
private static decode;
|
|
14
|
+
toBuffer(): Buffer;
|
|
15
|
+
static serialize(value: bigint): Buffer;
|
|
16
|
+
toNumber(): number;
|
|
17
|
+
add(other: ScriptNum): ScriptNum;
|
|
18
|
+
sub(other: ScriptNum): ScriptNum;
|
|
19
|
+
negate(): ScriptNum;
|
|
20
|
+
abs(): ScriptNum;
|
|
21
|
+
div(other: ScriptNum): ScriptNum;
|
|
22
|
+
mod(other: ScriptNum): ScriptNum;
|
|
23
|
+
mulpow2(shift: ScriptNum): ScriptNum;
|
|
24
|
+
bitwiseAnd(mask: bigint): ScriptNum;
|
|
25
|
+
isZero(): boolean;
|
|
26
|
+
isNegative(): boolean;
|
|
27
|
+
lt(other: ScriptNum | bigint): boolean;
|
|
28
|
+
gt(other: ScriptNum | bigint): boolean;
|
|
29
|
+
lte(other: ScriptNum | bigint): boolean;
|
|
30
|
+
gte(other: ScriptNum | bigint): boolean;
|
|
31
|
+
eq(other: ScriptNum | bigint): boolean;
|
|
32
|
+
neq(other: ScriptNum | bigint): boolean;
|
|
33
|
+
private static checkOverflow;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=script-num.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-num.d.ts","sourceRoot":"","sources":["../../../../../../lib/bitcore/script/interpreter/script-num.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAMrC,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAYD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAmB;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IAG/D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;gBAEV,KAAK,EAAE,MAAM;IAazB,MAAM,CAAC,UAAU,CACf,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,OAAc,EAC9B,OAAO,GAAE,MAAmC,GAC3C,SAAS;IAsBZ,MAAM,CAAC,kBAAkB,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAAmC,GAC3C,OAAO;IA0BV,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAuC5C,OAAO,CAAC,MAAM,CAAC,MAAM;IAwBrB,QAAQ,IAAI,MAAM;IAUlB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA6BvC,QAAQ,IAAI,MAAM;IAmBlB,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAWhC,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAOhC,MAAM,IAAI,SAAS;IAKnB,GAAG,IAAI,SAAS;IAKhB,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAKhC,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAYhC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IA2BpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAMnC,MAAM,IAAI,OAAO;IAIjB,UAAU,IAAI,OAAO;IAIrB,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO;IAKtC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO;IAKtC,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO;IAKvC,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO;IAKvC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO;IAKtC,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO;IAYvC,OAAO,CAAC,MAAM,CAAC,aAAa;CAK7B"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { Buffer } from 'buffer/';
|
|
2
|
+
export declare const MAX_SCRIPT_ELEMENT_SIZE = 520;
|
|
3
|
+
export declare const MAX_OPS_PER_SCRIPT = 400;
|
|
4
|
+
export declare const MAX_PUBKEYS_PER_MULTISIG = 20;
|
|
5
|
+
export declare const MAX_SCRIPT_SIZE = 10000;
|
|
6
|
+
export declare const MAX_STACK_SIZE = 1000;
|
|
7
|
+
export declare const MAX_NUM2BIN_SIZE = 68;
|
|
8
|
+
export declare const LOCKTIME_THRESHOLD = 500000000;
|
|
9
|
+
export declare const SCRIPTNUM_MAX_ELEMENT_SIZE = 8;
|
|
10
|
+
export declare enum ScriptFlags {
|
|
11
|
+
VERIFY_NONE = 0,
|
|
12
|
+
TAPROOT_KEY_SPEND_PATH = 1,
|
|
13
|
+
DISABLE_TAPROOT_SIGHASH_LOTUS = 2,
|
|
14
|
+
VERIFY_DISCOURAGE_UPGRADABLE_NOPS = 128,
|
|
15
|
+
VERIFY_CLEANSTACK = 256,
|
|
16
|
+
VERIFY_MINIMALIF = 8192,
|
|
17
|
+
ENABLE_SIGHASH_FORKID = 65536,
|
|
18
|
+
ENABLE_REPLAY_PROTECTION = 131072,
|
|
19
|
+
VERIFY_INPUT_SIGCHECKS = 4194304
|
|
20
|
+
}
|
|
21
|
+
export declare const STANDARD_SCRIPT_VERIFY_FLAGS: number;
|
|
22
|
+
export declare enum ScriptError {
|
|
23
|
+
OK = "OK",
|
|
24
|
+
UNKNOWN = "UNKNOWN",
|
|
25
|
+
EVAL_FALSE = "EVAL_FALSE",
|
|
26
|
+
OP_RETURN = "OP_RETURN",
|
|
27
|
+
SCRIPT_SIZE = "SCRIPT_SIZE",
|
|
28
|
+
PUSH_SIZE = "PUSH_SIZE",
|
|
29
|
+
OP_COUNT = "OP_COUNT",
|
|
30
|
+
STACK_SIZE = "STACK_SIZE",
|
|
31
|
+
SIG_COUNT = "SIG_COUNT",
|
|
32
|
+
PUBKEY_COUNT = "PUBKEY_COUNT",
|
|
33
|
+
INPUT_SIGCHECKS = "INPUT_SIGCHECKS",
|
|
34
|
+
INVALID_OPERAND_SIZE = "INVALID_OPERAND_SIZE",
|
|
35
|
+
INVALID_NUMBER_RANGE = "INVALID_NUMBER_RANGE",
|
|
36
|
+
IMPOSSIBLE_ENCODING = "IMPOSSIBLE_ENCODING",
|
|
37
|
+
INVALID_SPLIT_RANGE = "INVALID_SPLIT_RANGE",
|
|
38
|
+
INVALID_BIT_COUNT = "INVALID_BIT_COUNT",
|
|
39
|
+
VERIFY = "VERIFY",
|
|
40
|
+
EQUALVERIFY = "EQUALVERIFY",
|
|
41
|
+
CHECKMULTISIGVERIFY = "CHECKMULTISIGVERIFY",
|
|
42
|
+
CHECKSIGVERIFY = "CHECKSIGVERIFY",
|
|
43
|
+
CHECKDATASIGVERIFY = "CHECKDATASIGVERIFY",
|
|
44
|
+
NUMEQUALVERIFY = "NUMEQUALVERIFY",
|
|
45
|
+
BAD_OPCODE = "BAD_OPCODE",
|
|
46
|
+
DISABLED_OPCODE = "DISABLED_OPCODE",
|
|
47
|
+
INVALID_STACK_OPERATION = "INVALID_STACK_OPERATION",
|
|
48
|
+
INVALID_ALTSTACK_OPERATION = "INVALID_ALTSTACK_OPERATION",
|
|
49
|
+
UNBALANCED_CONDITIONAL = "UNBALANCED_CONDITIONAL",
|
|
50
|
+
DIV_BY_ZERO = "DIV_BY_ZERO",
|
|
51
|
+
MOD_BY_ZERO = "MOD_BY_ZERO",
|
|
52
|
+
INVALID_BITFIELD_SIZE = "INVALID_BITFIELD_SIZE",
|
|
53
|
+
INVALID_BIT_RANGE = "INVALID_BIT_RANGE",
|
|
54
|
+
NEGATIVE_LOCKTIME = "NEGATIVE_LOCKTIME",
|
|
55
|
+
UNSATISFIED_LOCKTIME = "UNSATISFIED_LOCKTIME",
|
|
56
|
+
SIG_HASHTYPE = "SIG_HASHTYPE",
|
|
57
|
+
SIG_DER = "SIG_DER",
|
|
58
|
+
MINIMALDATA = "MINIMALDATA",
|
|
59
|
+
SIG_PUSHONLY = "SIG_PUSHONLY",
|
|
60
|
+
SIG_HIGH_S = "SIG_HIGH_S",
|
|
61
|
+
PUBKEYTYPE = "PUBKEYTYPE",
|
|
62
|
+
CLEANSTACK = "CLEANSTACK",
|
|
63
|
+
MINIMALIF = "MINIMALIF",
|
|
64
|
+
SIG_NULLFAIL = "SIG_NULLFAIL",
|
|
65
|
+
SIG_BADLENGTH = "SIG_BADLENGTH",
|
|
66
|
+
SIG_NONSCHNORR = "SIG_NONSCHNORR",
|
|
67
|
+
DISCOURAGE_UPGRADABLE_NOPS = "DISCOURAGE_UPGRADABLE_NOPS",
|
|
68
|
+
ILLEGAL_FORKID = "ILLEGAL_FORKID",
|
|
69
|
+
MUST_USE_FORKID = "MUST_USE_FORKID",
|
|
70
|
+
INVALID_NUM2BIN_SIZE = "INVALID_NUM2BIN_SIZE",
|
|
71
|
+
INVALID_OP_SCRIPTTYPE = "INVALID_OP_SCRIPTTYPE",
|
|
72
|
+
SCRIPTTYPE_INVALID_TYPE = "SCRIPTTYPE_INVALID_TYPE",
|
|
73
|
+
SCRIPTTYPE_MALFORMED_SCRIPT = "SCRIPTTYPE_MALFORMED_SCRIPT",
|
|
74
|
+
TAPROOT_KEY_SPEND_MUST_USE_LOTUS_SIGHASH = "TAPROOT_KEY_SPEND_MUST_USE_LOTUS_SIGHASH",
|
|
75
|
+
TAPROOT_KEY_SPEND_MUST_USE_SCHNORR_SIG = "TAPROOT_KEY_SPEND_MUST_USE_SCHNORR_SIG",
|
|
76
|
+
TAPROOT_VERIFY_SIGNATURE_FAILED = "TAPROOT_VERIFY_SIGNATURE_FAILED",
|
|
77
|
+
TAPROOT_ANNEX_NOT_SUPPORTED = "TAPROOT_ANNEX_NOT_SUPPORTED",
|
|
78
|
+
TAPROOT_WRONG_CONTROL_SIZE = "TAPROOT_WRONG_CONTROL_SIZE",
|
|
79
|
+
TAPROOT_VERIFY_COMMITMENT_FAILED = "TAPROOT_VERIFY_COMMITMENT_FAILED",
|
|
80
|
+
TAPROOT_LEAF_VERSION_NOT_SUPPORTED = "TAPROOT_LEAF_VERSION_NOT_SUPPORTED",
|
|
81
|
+
TAPROOT_PHASEOUT = "TAPROOT_PHASEOUT"
|
|
82
|
+
}
|
|
83
|
+
export interface ScriptResult {
|
|
84
|
+
success: boolean;
|
|
85
|
+
error: ScriptError;
|
|
86
|
+
}
|
|
87
|
+
export interface ScriptExecutionMetrics {
|
|
88
|
+
sigChecks: number;
|
|
89
|
+
}
|
|
90
|
+
export interface ScriptExecutionData {
|
|
91
|
+
codeseparatorPos: number;
|
|
92
|
+
executedScriptHash: Buffer;
|
|
93
|
+
}
|
|
94
|
+
export interface SignatureChecker {
|
|
95
|
+
verifySignature(signature: Buffer, publicKey: Buffer, sighash: Buffer): boolean;
|
|
96
|
+
checkSignature(signature: Buffer, publicKey: Buffer, execdata: ScriptExecutionData | undefined, scriptCode: Buffer, flags: number): boolean;
|
|
97
|
+
checkLockTime(lockTime: bigint): boolean;
|
|
98
|
+
checkSequence(sequence: bigint): boolean;
|
|
99
|
+
}
|
|
100
|
+
export declare const NULL_SIGNATURE_CHECKER: SignatureChecker;
|
|
101
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../lib/bitcore/script/interpreter/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { PublicKey } from '
|
|
2
|
-
import { PrivateKey } from '
|
|
3
|
-
import { Script } from '
|
|
1
|
+
import { PublicKey } from '../publickey';
|
|
2
|
+
import { PrivateKey } from '../privatekey';
|
|
3
|
+
import { Script } from '../script';
|
|
4
|
+
import type { Buffer } from 'buffer/';
|
|
4
5
|
export interface TapLeafNode {
|
|
5
6
|
script: Script | Buffer;
|
|
6
7
|
leafVersion?: number;
|
|
@@ -28,10 +29,18 @@ export declare const TAPROOT_CONTROL_MAX_NODE_COUNT = 128;
|
|
|
28
29
|
export declare const TAPROOT_CONTROL_MAX_SIZE: number;
|
|
29
30
|
export declare const TAPROOT_SCRIPTTYPE = 81;
|
|
30
31
|
export declare const TAPROOT_INTRO_SIZE = 3;
|
|
32
|
+
export declare const PUBKEY_COMPRESSED_SIZE = 33;
|
|
33
|
+
export declare const PUBKEY_UNCOMPRESSED_SIZE = 65;
|
|
34
|
+
export declare const PUBKEY_XCOORD_SIZE = 32;
|
|
35
|
+
export declare const SHA256_HASH_SIZE = 32;
|
|
36
|
+
export declare const TAPROOT_STATE_PUSH_SIZE = 32;
|
|
31
37
|
export declare const TAPROOT_SIZE_WITHOUT_STATE: number;
|
|
32
38
|
export declare const TAPROOT_SIZE_WITH_STATE: number;
|
|
33
39
|
export declare const TAPROOT_SIGHASH_TYPE: number;
|
|
34
40
|
export declare const TAPROOT_ANNEX_TAG = 80;
|
|
41
|
+
export declare const TAPROOT_TAG_TAPLEAF = "TapLeaf";
|
|
42
|
+
export declare const TAPROOT_TAG_TAPBRANCH = "TapBranch";
|
|
43
|
+
export declare const TAPROOT_TAG_TAPTWEAK = "TapTweak";
|
|
35
44
|
export declare function taggedHash(tag: string, data: Buffer): Buffer;
|
|
36
45
|
export declare function calculateTapTweak(internalPubKey: PublicKey, merkleRoot?: Buffer): Buffer;
|
|
37
46
|
export declare function calculateTapLeaf(script: Script | Buffer, leafVersion?: number): Buffer;
|
|
@@ -42,12 +51,15 @@ export declare function isTapLeafNode(node: TapNode): node is TapLeafNode;
|
|
|
42
51
|
export declare function isTapBranchNode(node: TapNode): node is TapBranchNode;
|
|
43
52
|
export declare function buildTapTree(tree: TapNode): TapTreeBuildResult;
|
|
44
53
|
export declare function createControlBlock(internalPubKey: PublicKey, leafIndex: number, tree: TapNode): Buffer;
|
|
45
|
-
export declare function
|
|
46
|
-
export declare function
|
|
54
|
+
export declare function applyTweakToPublicKey(internalPubKey: PublicKey, tweak: Buffer): PublicKey;
|
|
55
|
+
export declare function verifyTaprootCommitment(controlBlock: Buffer, commitment: Buffer, script: Script): {
|
|
56
|
+
tapleafHash: Buffer;
|
|
57
|
+
success: boolean;
|
|
58
|
+
};
|
|
47
59
|
export declare function extractTaprootCommitment(script: Script): PublicKey;
|
|
48
60
|
export declare function extractTaprootState(script: Script): Buffer | null;
|
|
49
|
-
export declare function buildPayToTaproot(
|
|
50
|
-
export declare function buildKeyPathTaproot(internalPubKey: PublicKey
|
|
61
|
+
export declare function buildPayToTaproot(_commitment: PublicKey, _state?: Buffer): Script;
|
|
62
|
+
export declare function buildKeyPathTaproot(internalPubKey: PublicKey): Script;
|
|
51
63
|
export declare function buildScriptPathTaproot(internalPubKey: PublicKey, tree: TapNode, state?: Buffer): {
|
|
52
64
|
script: Script;
|
|
53
65
|
commitment: PublicKey;
|
|
@@ -55,6 +67,7 @@ export declare function buildScriptPathTaproot(internalPubKey: PublicKey, tree:
|
|
|
55
67
|
leaves: TapLeaf[];
|
|
56
68
|
};
|
|
57
69
|
export declare function verifyTaprootScriptPath(internalPubKey: Buffer, script: Script, commitmentPubKey: Buffer, leafVersion: number, merklePath: Buffer[], parity: number): boolean;
|
|
70
|
+
export declare function verifyTaprootScriptPathFromControlBlock(controlBlock: Buffer, commitment: Buffer, script: Script): boolean;
|
|
58
71
|
export interface TaprootVerifyResult {
|
|
59
72
|
success: boolean;
|
|
60
73
|
error?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taproot.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/script/taproot.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,23 +3,26 @@ import { PublicKey } from './publickey.js';
|
|
|
3
3
|
import { Address } from './address.js';
|
|
4
4
|
import { Network, type NetworkName } from './networks.js';
|
|
5
5
|
import { Signature } from './crypto/signature.js';
|
|
6
|
-
import { Chunk } from './chunk.js';
|
|
6
|
+
import { Chunk } from './script/chunk.js';
|
|
7
|
+
import type { Buffer } from 'buffer/';
|
|
7
8
|
export interface ScriptData {
|
|
8
9
|
chunks: Chunk[];
|
|
9
10
|
_network?: Network;
|
|
10
11
|
}
|
|
11
|
-
export type ScriptInput = Buffer | string | ScriptData |
|
|
12
|
+
export type ScriptInput = Buffer | string | ScriptData | Address;
|
|
12
13
|
export type ScriptType = 'p2pk' | 'p2pkh' | 'p2sh' | 'p2tr-commitment' | 'p2tr-state' | 'other';
|
|
13
14
|
export declare class Script {
|
|
14
15
|
chunks: Chunk[];
|
|
15
16
|
_network?: Network;
|
|
16
17
|
constructor(from?: ScriptInput);
|
|
17
18
|
set(obj: ScriptData): Script;
|
|
19
|
+
static empty(): Script;
|
|
18
20
|
static fromBuffer(buffer: Buffer): Script;
|
|
19
21
|
static fromString(str: string): Script;
|
|
20
22
|
static fromASM(str: string): Script;
|
|
21
23
|
static fromHex(str: string): Script;
|
|
22
24
|
static fromAddress(address: Address | string): Script;
|
|
25
|
+
static fromPayload(scriptType: ScriptType, payload: string | Buffer): Script;
|
|
23
26
|
static buildMultisigOut(publicKeys: PublicKey[], threshold: number, opts?: {
|
|
24
27
|
noSorting?: boolean;
|
|
25
28
|
}): Script;
|
|
@@ -37,29 +40,29 @@ export declare class Script {
|
|
|
37
40
|
checkBits?: Uint8Array;
|
|
38
41
|
signingMethod?: 'ecdsa' | 'schnorr';
|
|
39
42
|
}): Script;
|
|
40
|
-
static buildWitnessMultisigOutFromScript(script: Script): Script;
|
|
41
43
|
static buildPublicKeyOut(pubkey: PublicKey): Script;
|
|
42
44
|
static buildDataOut(data: string | Buffer, encoding?: string): Script;
|
|
43
45
|
static buildPublicKeyIn(signature: Signature | Buffer, sigtype: number): Script;
|
|
44
46
|
static buildPublicKeyHashIn(publicKey: PublicKey, signature: Signature | Buffer, sigtype: number): Script;
|
|
45
|
-
static
|
|
47
|
+
static buildTaprootOut(commitment: PublicKey | Buffer, state?: Buffer): Script;
|
|
46
48
|
add(chunk: Opcode | Buffer | number): Script;
|
|
49
|
+
addTaprootState(state: Buffer): Script;
|
|
47
50
|
toBuffer(): Buffer;
|
|
48
51
|
toString(): string;
|
|
49
|
-
toP2PKH(): string;
|
|
50
|
-
toP2SH(): string;
|
|
51
52
|
toASM(): string;
|
|
52
53
|
toHex(): string;
|
|
53
54
|
inspect(): string;
|
|
54
55
|
private _chunkToString;
|
|
55
|
-
isPayToPublicKeyHash(): boolean;
|
|
56
56
|
isPublicKeyHashOut(): boolean;
|
|
57
|
-
isPayToScriptHash(): boolean;
|
|
58
57
|
isScriptHashOut(): boolean;
|
|
59
|
-
isPayToTaproot(): boolean;
|
|
60
58
|
isTaprootOut(): boolean;
|
|
61
59
|
isTaprootIn(): boolean;
|
|
62
60
|
getData(): Buffer;
|
|
61
|
+
getPayload(): {
|
|
62
|
+
type: ScriptType;
|
|
63
|
+
payload: Buffer;
|
|
64
|
+
payloadHex: string;
|
|
65
|
+
};
|
|
63
66
|
getAddressInfo(): Address | null;
|
|
64
67
|
private _getOutputAddressInfo;
|
|
65
68
|
private _getInputAddressInfo;
|
|
@@ -110,6 +113,4 @@ export declare const ScriptTypes: {
|
|
|
110
113
|
MULTISIG_IN: string;
|
|
111
114
|
DATA_OUT: string;
|
|
112
115
|
};
|
|
113
|
-
export declare function toAddress(script: Script, network: Network | NetworkName): Address;
|
|
114
|
-
export declare function empty(): Script;
|
|
115
116
|
//# sourceMappingURL=script.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/script.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/script.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { PublicKey } from '../publickey
|
|
2
|
-
import { PrivateKey } from '../privatekey
|
|
3
|
-
import { Address } from '../address
|
|
4
|
-
import { Script } from '../script
|
|
5
|
-
import { type NetworkName } from '../networks
|
|
6
|
-
import { BN, Point } from '../crypto/index
|
|
7
|
-
import { type
|
|
8
|
-
import { type TapNode, type TapLeaf } from '../taproot
|
|
9
|
-
|
|
1
|
+
import { PublicKey } from '../publickey';
|
|
2
|
+
import { PrivateKey } from '../privatekey';
|
|
3
|
+
import { Address } from '../address';
|
|
4
|
+
import { Script } from '../script';
|
|
5
|
+
import { type NetworkName } from '../networks';
|
|
6
|
+
import { BN, Point } from '../crypto/index';
|
|
7
|
+
import { type MuSig2KeyAggContext, type MuSig2Nonce, type MuSig2AggregatedNonce } from '../crypto/musig2';
|
|
8
|
+
import { type TapNode, type TapLeaf } from '../script/taproot';
|
|
9
|
+
import type { Buffer } from 'buffer/';
|
|
10
|
+
export interface MuSig2TaprootKeyResult {
|
|
10
11
|
aggregatedPubKey: PublicKey;
|
|
11
12
|
commitment: PublicKey;
|
|
12
13
|
script: Script;
|
|
13
|
-
keyAggContext:
|
|
14
|
+
keyAggContext: MuSig2KeyAggContext;
|
|
14
15
|
merkleRoot: Buffer;
|
|
15
16
|
tweak: Buffer;
|
|
16
17
|
}
|
|
17
|
-
export declare function
|
|
18
|
-
export declare function
|
|
18
|
+
export declare function buildMuSig2TaprootKey(signerPubKeys: PublicKey[]): MuSig2TaprootKeyResult;
|
|
19
|
+
export declare function buildMuSig2TaprootKeyWithScripts(signerPubKeys: PublicKey[], scriptTree: TapNode, state: Buffer): MuSig2TaprootKeyResult & {
|
|
19
20
|
leaves: TapLeaf[];
|
|
20
21
|
};
|
|
21
|
-
export declare function signTaprootKeyPathWithMuSig2(secretNonce:
|
|
22
|
-
export declare function verifyTaprootKeyPathMuSigPartial(partialSig: BN, publicNonce: [Point, Point], publicKey: PublicKey, keyAggContext:
|
|
22
|
+
export declare function signTaprootKeyPathWithMuSig2(secretNonce: MuSig2Nonce, privateKey: PrivateKey, keyAggContext: MuSig2KeyAggContext, signerIndex: number, aggregatedNonce: MuSig2AggregatedNonce, message: Buffer, tweak: Buffer): BN;
|
|
23
|
+
export declare function verifyTaprootKeyPathMuSigPartial(partialSig: BN, publicNonce: [Point, Point], publicKey: PublicKey, keyAggContext: MuSig2KeyAggContext, signerIndex: number, aggregatedNonce: MuSig2AggregatedNonce, message: Buffer, tweak: Buffer): boolean;
|
|
23
24
|
export declare function isMuSigTaprootOutput(script: Script): boolean;
|
|
24
|
-
export declare function createMuSigTaprootAddress(signerPubKeys: PublicKey[], network?: NetworkName
|
|
25
|
+
export declare function createMuSigTaprootAddress(signerPubKeys: PublicKey[], network?: NetworkName): {
|
|
25
26
|
address: Address;
|
|
26
27
|
script: Script;
|
|
27
28
|
commitment: PublicKey;
|
|
28
|
-
keyAggContext:
|
|
29
|
+
keyAggContext: MuSig2KeyAggContext;
|
|
29
30
|
};
|
|
30
31
|
//# sourceMappingURL=musig2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"musig2.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/taproot/musig2.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"musig2.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/taproot/musig2.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAQ,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,OAAO,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAKrC,MAAM,WAAW,sBAAsB;IAErC,gBAAgB,EAAE,SAAS,CAAA;IAG3B,UAAU,EAAE,SAAS,CAAA;IAGrB,MAAM,EAAE,MAAM,CAAA;IAGd,aAAa,EAAE,mBAAmB,CAAA;IAGlC,UAAU,EAAE,MAAM,CAAA;IAGlB,KAAK,EAAE,MAAM,CAAA;CACd;AAmCD,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,SAAS,EAAE,GACzB,sBAAsB,CAyBxB;AAqCD,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,SAAS,EAAE,EAC1B,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,MAAM,GACZ,sBAAsB,GAAG;IAAE,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAwBhD;AAyBD,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,mBAAmB,EAClC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,qBAAqB,EACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,EAAE,CA6DJ;AAkBD,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,EAAE,EACd,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,EAClC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,qBAAqB,EACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAsDT;AAYD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG5D;AASD,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,SAAS,EAAE,EAC1B,OAAO,CAAC,EAAE,WAAW,GACpB;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,SAAS,CAAA;IACrB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CA2BA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { Input, MultisigInput, MultisigScriptHashInput, PublicKeyInput, PublicKeyHashInput, TaprootInput,
|
|
2
|
-
export { Output } from './output
|
|
3
|
-
export { UnspentOutput } from './unspentoutput
|
|
4
|
-
export { sighash, sign, verify } from './sighash
|
|
5
|
-
export { TransactionSignature } from './signature
|
|
6
|
-
export { Transaction } from './transaction
|
|
7
|
-
export type { InputData, InputObject } from './input
|
|
8
|
-
export type { OutputData, OutputObject } from './output
|
|
9
|
-
export type { UnspentOutputData, UnspentOutputObject } from './unspentoutput
|
|
10
|
-
export type { TransactionSignatureData, TransactionSignatureObject, } from './signature
|
|
11
|
-
export type { TransactionData, TransactionObject } from './transaction
|
|
1
|
+
export { Input, MultisigInput, MultisigScriptHashInput, PublicKeyInput, PublicKeyHashInput, TaprootInput, MuSig2TaprootInput, } from './input';
|
|
2
|
+
export { Output } from './output';
|
|
3
|
+
export { UnspentOutput } from './unspentoutput';
|
|
4
|
+
export { sighash, sign, verify } from './sighash';
|
|
5
|
+
export { TransactionSignature } from './signature';
|
|
6
|
+
export { Transaction } from './transaction';
|
|
7
|
+
export type { InputData, InputObject } from './input';
|
|
8
|
+
export type { OutputData, OutputObject } from './output';
|
|
9
|
+
export type { UnspentOutputData, UnspentOutputObject } from './unspentoutput';
|
|
10
|
+
export type { TransactionSignatureData, TransactionSignatureObject, } from './signature';
|
|
11
|
+
export type { TransactionData, TransactionObject } from './transaction';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACxD,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,YAAY,EACV,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../../../../../../lib/bitcore/transaction/input/multisig.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAKhD,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,IAAI,CAAC,EAAE,SAAS;CAG7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multisigscripthash.d.ts","sourceRoot":"","sources":["../../../../../../lib/bitcore/transaction/input/multisigscripthash.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAKhD,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,IAAI,CAAC,EAAE,SAAS;CAG7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publickey.d.ts","sourceRoot":"","sources":["../../../../../../lib/bitcore/transaction/input/publickey.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAKhD,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,IAAI,CAAC,EAAE,SAAS;CAG7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publickeyhash.d.ts","sourceRoot":"","sources":["../../../../../../lib/bitcore/transaction/input/publickeyhash.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAKhD,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAA;AAK9C,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,IAAI,CAAC,EAAE,SAAS;CAG7B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Script } from '../../script';
|
|
2
|
+
import { PublicKey } from '../../publickey';
|
|
3
|
+
import { Input, type InputData } from '../input';
|
|
4
|
+
import type { Buffer } from 'buffer/';
|
|
5
|
+
export interface TaprootInputData extends InputData {
|
|
6
|
+
internalPubKey?: PublicKey;
|
|
7
|
+
merkleRoot?: Buffer;
|
|
8
|
+
controlBlock?: Buffer;
|
|
9
|
+
tapScript?: Script;
|
|
10
|
+
}
|
|
11
|
+
export declare class TaprootInput extends Input {
|
|
12
|
+
internalPubKey?: PublicKey;
|
|
13
|
+
merkleRoot?: Buffer;
|
|
14
|
+
controlBlock?: Buffer;
|
|
15
|
+
tapScript?: Script;
|
|
16
|
+
constructor(data?: TaprootInputData);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=taproot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taproot.d.ts","sourceRoot":"","sources":["../../../../../../lib/bitcore/transaction/input/taproot.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAKrC,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAEjD,cAAc,CAAC,EAAE,SAAS,CAAA;IAE1B,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAKD,qBAAa,YAAa,SAAQ,KAAK;IAErC,cAAc,CAAC,EAAE,SAAS,CAAA;IAE1B,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEN,IAAI,CAAC,EAAE,gBAAgB;CASpC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { BufferWriter } from '../encoding/bufferwriter
|
|
2
|
-
import { BufferReader } from '../encoding/bufferreader
|
|
3
|
-
import { Script } from '../script
|
|
4
|
-
import { BN } from '../crypto
|
|
5
|
-
import { Output } from './output
|
|
6
|
-
import { PrivateKey } from '../privatekey
|
|
7
|
-
import { PublicKey } from '../publickey
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
1
|
+
import { BufferWriter } from '../encoding/bufferwriter';
|
|
2
|
+
import { BufferReader } from '../encoding/bufferreader';
|
|
3
|
+
import { Script } from '../script';
|
|
4
|
+
import { BN } from '../crypto';
|
|
5
|
+
import { Output } from './output';
|
|
6
|
+
import { PrivateKey } from '../privatekey';
|
|
7
|
+
import { PublicKey } from '../publickey';
|
|
8
|
+
import { Point } from '../crypto/point';
|
|
9
|
+
import { SignatureSigningMethod } from '../crypto/signature';
|
|
10
|
+
import { TransactionSignature } from './signature';
|
|
11
|
+
import { Transaction } from './transaction';
|
|
12
|
+
import type { MuSig2KeyAggContext, MuSig2AggregatedNonce } from '../crypto/musig2';
|
|
13
|
+
import type { Buffer } from 'buffer/';
|
|
13
14
|
export interface InputData {
|
|
14
15
|
prevTxId?: Buffer | string;
|
|
15
16
|
outputIndex?: number;
|
|
@@ -32,20 +33,11 @@ export declare class Input {
|
|
|
32
33
|
static readonly DEFAULT_SEQNUMBER = 4294967295;
|
|
33
34
|
static readonly DEFAULT_LOCKTIME_SEQNUMBER = 4294967294;
|
|
34
35
|
static readonly DEFAULT_RBF_SEQNUMBER = 4294967293;
|
|
35
|
-
static readonly
|
|
36
|
-
static readonly
|
|
36
|
+
static readonly SEQUENCE_LOCKTIME_DISABLE_FLAG: number;
|
|
37
|
+
static readonly SEQUENCE_LOCKTIME_TYPE_FLAG: number;
|
|
37
38
|
static readonly SEQUENCE_LOCKTIME_MASK = 65535;
|
|
38
39
|
static readonly SEQUENCE_LOCKTIME_GRANULARITY = 512;
|
|
39
40
|
static readonly SEQUENCE_BLOCKDIFF_LIMIT = 65535;
|
|
40
|
-
static PublicKey: typeof PublicKeyInput;
|
|
41
|
-
static PublicKeyHash: typeof PublicKeyHashInput;
|
|
42
|
-
static Multisig: typeof MultisigInput;
|
|
43
|
-
static MultisigScriptHash: typeof MultisigScriptHashInput;
|
|
44
|
-
static Taproot: typeof TaprootInput;
|
|
45
|
-
static MuSigTaproot: typeof MuSigTaprootInput;
|
|
46
|
-
static P2PKH: typeof PublicKeyHashInput;
|
|
47
|
-
static P2SH: typeof MultisigScriptHashInput;
|
|
48
|
-
static P2TR: typeof TaprootInput;
|
|
49
41
|
prevTxId: Buffer;
|
|
50
42
|
outputIndex: number;
|
|
51
43
|
sequenceNumber: number;
|
|
@@ -68,7 +60,7 @@ export declare class Input {
|
|
|
68
60
|
getRelativeLockTimeInBlocks(): number;
|
|
69
61
|
getRelativeLockTimeInSeconds(): number;
|
|
70
62
|
toObject(): InputObject;
|
|
71
|
-
toJSON
|
|
63
|
+
toJSON(): InputObject;
|
|
72
64
|
static fromBufferReader(br: BufferReader): Input;
|
|
73
65
|
toBuffer(): Buffer;
|
|
74
66
|
toBufferWriter(writer?: BufferWriter): BufferWriter;
|
|
@@ -162,17 +154,17 @@ export declare class PublicKeyHashInput extends Input {
|
|
|
162
154
|
_estimateSize(): number;
|
|
163
155
|
}
|
|
164
156
|
export interface TaprootInputData extends InputData {
|
|
165
|
-
internalPubKey
|
|
166
|
-
merkleRoot
|
|
157
|
+
internalPubKey: PublicKey;
|
|
158
|
+
merkleRoot: Buffer;
|
|
167
159
|
controlBlock?: Buffer;
|
|
168
160
|
tapScript?: Script;
|
|
169
161
|
}
|
|
170
162
|
export declare class TaprootInput extends Input {
|
|
171
|
-
internalPubKey
|
|
163
|
+
internalPubKey: PublicKey;
|
|
172
164
|
merkleRoot?: Buffer;
|
|
173
165
|
controlBlock?: Buffer;
|
|
174
166
|
tapScript?: Script;
|
|
175
|
-
constructor(params
|
|
167
|
+
constructor(params: TaprootInputData);
|
|
176
168
|
hasScriptTree(): boolean;
|
|
177
169
|
isKeyPathOnly(): boolean;
|
|
178
170
|
getSignatures(transaction: Transaction, privateKey: PrivateKey, index: number, sigtype?: number, hashData?: unknown, signingMethod?: 'ecdsa' | 'schnorr'): TransactionSignature[];
|
|
@@ -184,23 +176,23 @@ export declare class TaprootInput extends Input {
|
|
|
184
176
|
isFullySigned(): boolean;
|
|
185
177
|
_estimateSize(): number;
|
|
186
178
|
}
|
|
187
|
-
export declare class
|
|
188
|
-
keyAggContext?:
|
|
179
|
+
export declare class MuSig2TaprootInput extends TaprootInput {
|
|
180
|
+
keyAggContext?: MuSig2KeyAggContext;
|
|
189
181
|
publicNonces?: Map<number, [Point, Point]>;
|
|
190
|
-
aggregatedNonce?:
|
|
182
|
+
aggregatedNonce?: MuSig2AggregatedNonce;
|
|
191
183
|
partialSignatures?: Map<number, BN>;
|
|
192
184
|
mySignerIndex?: number;
|
|
193
|
-
constructor(params
|
|
194
|
-
keyAggContext?:
|
|
185
|
+
constructor(params: TaprootInputData & {
|
|
186
|
+
keyAggContext?: MuSig2KeyAggContext;
|
|
195
187
|
mySignerIndex?: number;
|
|
196
188
|
});
|
|
197
|
-
|
|
189
|
+
initMuSig2Session(keyAggContext: MuSig2KeyAggContext, mySignerIndex: number): this;
|
|
198
190
|
addPublicNonce(signerIndex: number, publicNonce: [Point, Point]): this;
|
|
199
191
|
hasAllNonces(): boolean;
|
|
200
192
|
aggregateNonces(): this;
|
|
201
193
|
addPartialSignature(signerIndex: number, partialSig: BN): this;
|
|
202
194
|
hasAllPartialSignatures(): boolean;
|
|
203
|
-
|
|
195
|
+
finalizeMuSig2Signature(transaction: Transaction, message: Buffer): this;
|
|
204
196
|
isFullySigned(): boolean;
|
|
205
197
|
}
|
|
206
198
|
//# sourceMappingURL=input.d.ts.map
|