xpi-ts 0.2.23 → 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/esm/lib/bitcore/crypto/point.js +2 -2
- 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 +4 -0
- 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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Point = exports.PREFIX_Y_EVEN = exports.PREFIX_Y_ODD = void 0;
|
|
4
|
-
const
|
|
4
|
+
const elliptic = require("elliptic");
|
|
5
5
|
const bn_1 = require("./bn");
|
|
6
6
|
const util_1 = require("../util");
|
|
7
|
-
const ecInstance = new
|
|
7
|
+
const ecInstance = new (elliptic.default || elliptic).ec('secp256k1');
|
|
8
8
|
const ecPoint = ecInstance.curve.point.bind(ecInstance.curve);
|
|
9
9
|
const ecPointFromX = ecInstance.curve.pointFromX.bind(ecInstance.curve);
|
|
10
10
|
exports.PREFIX_Y_ODD = 0x03;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as elliptic from 'elliptic';
|
|
2
2
|
import { BN } from './bn';
|
|
3
3
|
import { BufferUtil } from '../util';
|
|
4
|
-
const ecInstance = new ec('secp256k1');
|
|
4
|
+
const ecInstance = new (elliptic.default || elliptic).ec('secp256k1');
|
|
5
5
|
const ecPoint = ecInstance.curve.point.bind(ecInstance.curve);
|
|
6
6
|
const ecPointFromX = ecInstance.curve.pointFromX.bind(ecInstance.curve);
|
|
7
7
|
export const PREFIX_Y_ODD = 0x03;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,cAAc,CAAA;AAC5B,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
|
@@ -27,41 +27,157 @@ export declare class Address {
|
|
|
27
27
|
readonly type: string;
|
|
28
28
|
constructor(data?: AddressInput, network?: Network | NetworkName, type?: string);
|
|
29
29
|
private _classifyArguments;
|
|
30
|
+
/**
|
|
31
|
+
* Internal function to discover the network and type based on the first data byte
|
|
32
|
+
*/
|
|
30
33
|
private static _classifyFromVersion;
|
|
34
|
+
/**
|
|
35
|
+
* Internal function to transform a Lotus address string
|
|
36
|
+
*/
|
|
31
37
|
private static _transformString;
|
|
38
|
+
/**
|
|
39
|
+
* Internal function to transform a legacy bitcoin address string
|
|
40
|
+
*/
|
|
32
41
|
private static _transformLegacyString;
|
|
42
|
+
/**
|
|
43
|
+
* Check if a string is an XAddress format
|
|
44
|
+
*/
|
|
33
45
|
private static _isXAddress;
|
|
46
|
+
/**
|
|
47
|
+
* Internal function to transform an XAddress string
|
|
48
|
+
*/
|
|
34
49
|
private static _transformXAddressString;
|
|
50
|
+
/**
|
|
51
|
+
* Internal function to transform a hash buffer (20 bytes)
|
|
52
|
+
*/
|
|
35
53
|
private static _transformHash;
|
|
54
|
+
/**
|
|
55
|
+
* Internal function to transform a bitcoin address buffer (21 bytes)
|
|
56
|
+
*/
|
|
36
57
|
private static _transformBuffer;
|
|
58
|
+
/**
|
|
59
|
+
* Internal function to transform a public key
|
|
60
|
+
*/
|
|
37
61
|
private static _transformPublicKey;
|
|
62
|
+
/**
|
|
63
|
+
* Internal function to transform a Script into an info object
|
|
64
|
+
*/
|
|
38
65
|
private static _transformScript;
|
|
66
|
+
/**
|
|
67
|
+
* Deserializes an address serialized through `Address#toObject()`
|
|
68
|
+
*/
|
|
39
69
|
private static _transformObject;
|
|
70
|
+
/**
|
|
71
|
+
* Create a multisig address
|
|
72
|
+
*/
|
|
40
73
|
static createMultisig(publicKeys: PublicKey[], threshold: number, network?: Network | NetworkName): Address;
|
|
74
|
+
/**
|
|
75
|
+
* Create address from public key
|
|
76
|
+
*/
|
|
41
77
|
static fromPublicKey(data: PublicKey, network?: Network | NetworkName): Address;
|
|
78
|
+
/**
|
|
79
|
+
* Create address from public key hash
|
|
80
|
+
*/
|
|
42
81
|
static fromPublicKeyHash(hash: Buffer, network?: Network | NetworkName): Address;
|
|
82
|
+
/**
|
|
83
|
+
* Create address from script hash
|
|
84
|
+
*/
|
|
43
85
|
static fromScriptHash(hash: Buffer, network?: Network | NetworkName): Address;
|
|
86
|
+
/**
|
|
87
|
+
* Create Taproot address from commitment public key
|
|
88
|
+
*
|
|
89
|
+
* For Taproot, the "hash" is actually the 33-byte commitment public key.
|
|
90
|
+
*
|
|
91
|
+
* @param commitment - 33-byte commitment public key (tweaked)
|
|
92
|
+
* @param network - Network (livenet, testnet, regtest)
|
|
93
|
+
* @returns Taproot address
|
|
94
|
+
*/
|
|
44
95
|
static fromTaprootCommitment(commitment: PublicKey | Buffer, network: Network | NetworkName): Address;
|
|
96
|
+
/**
|
|
97
|
+
* Create address from buffer
|
|
98
|
+
*/
|
|
45
99
|
static fromBuffer(buffer: Buffer, network?: Network | NetworkName, type?: string): Address;
|
|
100
|
+
/**
|
|
101
|
+
* Takes an address string and transforms it into an `AddressData` object which
|
|
102
|
+
* contains the `hashBuffer`, `network`, and `type` parameters to instantiate the
|
|
103
|
+
* new `Address` object.
|
|
104
|
+
*/
|
|
46
105
|
static fromString(str: string, network?: Network | NetworkName): Address;
|
|
106
|
+
/**
|
|
107
|
+
* Create address from object
|
|
108
|
+
*/
|
|
47
109
|
static fromObject(obj: AddressObject): Address;
|
|
110
|
+
/**
|
|
111
|
+
* Extract address from a Script. The script must be of one
|
|
112
|
+
* of the following types: p2pkh input, p2pkh output, p2sh input
|
|
113
|
+
* or p2sh output.
|
|
114
|
+
*/
|
|
48
115
|
static fromScript(script: Script, network?: Network | NetworkName): Address;
|
|
116
|
+
/**
|
|
117
|
+
* Builds a p2sh address paying to script. This will hash the script and
|
|
118
|
+
* use that to create the address.
|
|
119
|
+
*/
|
|
49
120
|
static payingTo(script: Script, network?: Network | NetworkName): Address;
|
|
121
|
+
/**
|
|
122
|
+
* Will return a validation error if exists
|
|
123
|
+
*/
|
|
50
124
|
static getValidationError(data: AddressInput, network?: Network | NetworkName, type?: string): Error | null;
|
|
125
|
+
/**
|
|
126
|
+
* Will return a boolean if an address is valid
|
|
127
|
+
*/
|
|
51
128
|
static isValid(data: AddressInput, network?: Network | NetworkName, type?: string): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Check if address is pay to public key hash
|
|
131
|
+
*/
|
|
52
132
|
isPayToPublicKeyHash(): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Check if address is pay to script hash
|
|
135
|
+
*/
|
|
53
136
|
isPayToScriptHash(): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Check if address is pay to taproot
|
|
139
|
+
*/
|
|
54
140
|
isPayToTaproot(): boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Will return a buffer representation of the address (hash buffer only)
|
|
143
|
+
*/
|
|
55
144
|
toBuffer(): Buffer;
|
|
145
|
+
/**
|
|
146
|
+
* Will return a full buffer representation of the address (version + hash)
|
|
147
|
+
*/
|
|
56
148
|
toFullBuffer(): Buffer;
|
|
149
|
+
/**
|
|
150
|
+
* Will return a cash address buffer representation
|
|
151
|
+
*/
|
|
57
152
|
toCashBuffer(): Buffer;
|
|
153
|
+
/**
|
|
154
|
+
* Returns a plain object with the address information
|
|
155
|
+
*/
|
|
58
156
|
toObject(): AddressObject;
|
|
59
157
|
toJSON(): AddressObject;
|
|
158
|
+
/**
|
|
159
|
+
* Wrapper method for `Address.toXAddress` method
|
|
160
|
+
*/
|
|
60
161
|
toString(network?: Network | NetworkName): string;
|
|
162
|
+
/**
|
|
163
|
+
* Will return a legacy address string
|
|
164
|
+
*/
|
|
61
165
|
toLegacyAddress(): string;
|
|
166
|
+
/**
|
|
167
|
+
* Will return a cash address string
|
|
168
|
+
*/
|
|
62
169
|
toCashAddress(): string;
|
|
170
|
+
/**
|
|
171
|
+
* Will return an X address string
|
|
172
|
+
*/
|
|
63
173
|
toXAddress(network?: Network | NetworkName): string;
|
|
174
|
+
/**
|
|
175
|
+
* Decode cash address
|
|
176
|
+
*/
|
|
64
177
|
static decodeCashAddress(address: string): CashAddressDecoding;
|
|
178
|
+
/**
|
|
179
|
+
* Inspect method for debugging
|
|
180
|
+
*/
|
|
65
181
|
inspect(): string;
|
|
66
182
|
}
|
|
67
183
|
//# sourceMappingURL=address.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/address.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,OAAO,EAGP,KAAK,WAAW,EACjB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAGrC,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,WAAW,GACX,SAAS,GACT,SAAS,EAAE,GACX,MAAM,CAAA;AAEV,qBAAa,OAAO;IAClB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,gBAAe;IACjD,MAAM,CAAC,QAAQ,CAAC,eAAe,gBAAe;IAC9C,MAAM,CAAC,QAAQ,CAAC,YAAY,aAAY;IAExC,QAAQ,CAAC,UAAU,EAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAG,OAAO,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAA;gBAGpB,IAAI,CAAC,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,EAC/B,IAAI,CAAC,EAAE,MAAM;IAyDf,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block implementation for the Lotus blockchain
|
|
3
|
+
*
|
|
4
|
+
* Represents a complete Lotus block (CBlock in lotusd) containing a header,
|
|
5
|
+
* extended metadata fields, and transactions.
|
|
6
|
+
*
|
|
7
|
+
* Serialization order:
|
|
8
|
+
* CBlockHeader(160 bytes) + varint(metadata count) + metadata fields +
|
|
9
|
+
* varint(tx count) + transactions
|
|
10
|
+
*
|
|
11
|
+
* Lotus merkle tree construction:
|
|
12
|
+
* Each transaction contributes two leaves: txhash (SHA256d of serialized tx)
|
|
13
|
+
* and txid (merkle-based identifier). These are combined per-transaction as
|
|
14
|
+
* SHA256d(txhash || txid) before building the merkle tree.
|
|
15
|
+
*
|
|
16
|
+
* @see lotusd: src/primitives/block.h, src/primitives/block.cpp
|
|
17
|
+
*/
|
|
1
18
|
import { Buffer } from 'buffer/';
|
|
2
19
|
import { BufferReader } from '../encoding/bufferreader.js';
|
|
3
20
|
import { BufferWriter } from '../encoding/bufferwriter.js';
|
|
4
21
|
import { Transaction } from '../transaction/index.js';
|
|
5
22
|
import { BlockHeader, type BlockHeaderData, type BlockHeaderObject } from './blockheader.js';
|
|
6
23
|
import { MerkleBlock } from './merkleblock.js';
|
|
24
|
+
/**
|
|
25
|
+
* Block data interface for construction (internal format).
|
|
26
|
+
* Used when creating a Block from deserialized data or objects.
|
|
27
|
+
*/
|
|
7
28
|
export interface BlockData {
|
|
29
|
+
/** Block header (BlockHeader instance or BlockHeaderData) */
|
|
8
30
|
header?: BlockHeader | BlockHeaderData;
|
|
31
|
+
/** Array of transactions in this block */
|
|
9
32
|
transactions?: Transaction[];
|
|
10
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Block object interface for serialization/JSON.
|
|
36
|
+
* All values converted to serializable formats.
|
|
37
|
+
*/
|
|
11
38
|
export interface BlockObject {
|
|
39
|
+
/** Block hash (big-endian hex) */
|
|
12
40
|
id: string;
|
|
41
|
+
/** Block hash (big-endian hex, alias for id) */
|
|
13
42
|
hash: string;
|
|
43
|
+
/** Serialized block header object */
|
|
14
44
|
header: BlockHeaderObject;
|
|
45
|
+
/** Array of serialized transaction objects */
|
|
15
46
|
transactions: unknown[];
|
|
16
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Represents a complete Lotus blockchain block.
|
|
50
|
+
*
|
|
51
|
+
* A Block extends the BlockHeader with metadata and transactions, providing
|
|
52
|
+
* methods for serialization, merkle tree computation, and validation.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* // Create from hex string
|
|
57
|
+
* const block = Block.fromString(hexString)
|
|
58
|
+
*
|
|
59
|
+
* // Create from buffer
|
|
60
|
+
* const block = Block.fromBuffer(buffer)
|
|
61
|
+
*
|
|
62
|
+
* // Access block hash
|
|
63
|
+
* console.log(block.id)
|
|
64
|
+
*
|
|
65
|
+
* // Validate merkle root
|
|
66
|
+
* if (block.validMerkleRoot()) {
|
|
67
|
+
* console.log('Merkle root is valid')
|
|
68
|
+
* }
|
|
69
|
+
*
|
|
70
|
+
* // Create SPV proof for specific transactions
|
|
71
|
+
* const merkleBlock = block.toMerkleBlock(['txid1...'])
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
17
74
|
export declare class Block {
|
|
75
|
+
/** Maximum block size (32 MiB) */
|
|
18
76
|
static readonly MAX_BLOCK_SIZE: number;
|
|
77
|
+
/** 32-byte zero hash constant */
|
|
19
78
|
static readonly NULL_HASH: Buffer;
|
|
79
|
+
/** Block header */
|
|
20
80
|
header: BlockHeader;
|
|
81
|
+
/** Transactions in this block */
|
|
21
82
|
transactions: Transaction[];
|
|
83
|
+
/** Cached block hash */
|
|
22
84
|
private _id?;
|
|
85
|
+
/**
|
|
86
|
+
* Create a new Block
|
|
87
|
+
*
|
|
88
|
+
* @param serialized - Input data: BlockData object, Block instance,
|
|
89
|
+
* Buffer, or hex string
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* // From hex string
|
|
94
|
+
* const block = new Block(hexString)
|
|
95
|
+
*
|
|
96
|
+
* // From object
|
|
97
|
+
* const block = new Block({ header: headerData, transactions: [] })
|
|
98
|
+
*
|
|
99
|
+
* // Empty block
|
|
100
|
+
* const block = new Block()
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
23
103
|
constructor(serialized?: BlockData | Block | Buffer | string);
|
|
104
|
+
/**
|
|
105
|
+
* Create a shallow copy of a block by serializing and deserializing it.
|
|
106
|
+
*
|
|
107
|
+
* @param block - Block to copy
|
|
108
|
+
* @returns New Block instance with the same data
|
|
109
|
+
*/
|
|
24
110
|
static shallowCopy(block: Block): Block;
|
|
111
|
+
/**
|
|
112
|
+
* Create a Block from an object containing header and transactions.
|
|
113
|
+
*
|
|
114
|
+
* @param obj - BlockData object
|
|
115
|
+
* @returns New Block instance
|
|
116
|
+
*/
|
|
25
117
|
static fromObject(obj: BlockData): Block;
|
|
118
|
+
/**
|
|
119
|
+
* Create a Block from a BufferReader.
|
|
120
|
+
*
|
|
121
|
+
* @param br - BufferReader positioned at block data
|
|
122
|
+
* @returns New Block instance
|
|
123
|
+
*/
|
|
26
124
|
static fromBufferReader(br: BufferReader): Block;
|
|
125
|
+
/**
|
|
126
|
+
* Create a Block from a Buffer.
|
|
127
|
+
*
|
|
128
|
+
* @param buf - Buffer containing serialized block data
|
|
129
|
+
* @returns New Block instance
|
|
130
|
+
*/
|
|
27
131
|
static fromBuffer(buf: Buffer): Block;
|
|
132
|
+
/**
|
|
133
|
+
* Create a Block from a hex string.
|
|
134
|
+
*
|
|
135
|
+
* @param str - Hex-encoded serialized block
|
|
136
|
+
* @returns New Block instance
|
|
137
|
+
*/
|
|
28
138
|
static fromString(str: string): Block;
|
|
139
|
+
/**
|
|
140
|
+
* Create a Block from raw block data (e.g., from disk or network).
|
|
141
|
+
*
|
|
142
|
+
* @param data - Raw block data as Buffer or binary string
|
|
143
|
+
* @returns New Block instance
|
|
144
|
+
*/
|
|
29
145
|
static fromRawBlock(data: Buffer | string): Block;
|
|
146
|
+
/**
|
|
147
|
+
* Convert to a plain JavaScript object.
|
|
148
|
+
*
|
|
149
|
+
* @returns BlockObject with all values serialized
|
|
150
|
+
*/
|
|
30
151
|
toObject(): BlockObject;
|
|
152
|
+
/**
|
|
153
|
+
* Convert to JSON (alias for toObject)
|
|
154
|
+
*/
|
|
31
155
|
toJSON(): BlockObject;
|
|
156
|
+
/**
|
|
157
|
+
* Serialize the block to a Buffer.
|
|
158
|
+
*
|
|
159
|
+
* Format: header + varint(0 metadata) + varint(tx count) + transactions
|
|
160
|
+
*
|
|
161
|
+
* @returns Buffer containing serialized block data
|
|
162
|
+
*/
|
|
32
163
|
toBuffer(): Buffer;
|
|
164
|
+
/**
|
|
165
|
+
* Serialize the block to a hex string.
|
|
166
|
+
*
|
|
167
|
+
* @returns Hex-encoded serialized block
|
|
168
|
+
*/
|
|
33
169
|
toString(): string;
|
|
170
|
+
/**
|
|
171
|
+
* Write block data to a BufferWriter.
|
|
172
|
+
*
|
|
173
|
+
* Serializes header, metadata vector (currently empty), and transactions
|
|
174
|
+
* to match lotusd CBlock serialization format.
|
|
175
|
+
*
|
|
176
|
+
* @param bw - Optional BufferWriter to reuse
|
|
177
|
+
* @returns BufferWriter containing the serialized block data
|
|
178
|
+
*/
|
|
34
179
|
toBufferWriter(bw?: BufferWriter): BufferWriter;
|
|
180
|
+
/**
|
|
181
|
+
* Compute combined transaction hashes for merkle tree construction.
|
|
182
|
+
*
|
|
183
|
+
* In Lotus, each transaction contributes two identifiers:
|
|
184
|
+
* - **hash**: SHA256d of the serialized transaction data
|
|
185
|
+
* - **txid**: Merkle-based identifier (inputs/outputs merkle roots)
|
|
186
|
+
*
|
|
187
|
+
* These are combined as SHA256d(hash || txid) per transaction.
|
|
188
|
+
*
|
|
189
|
+
* @returns Array of 32-byte hash buffers, one per transaction.
|
|
190
|
+
* Returns [NULL_HASH] if the block has no transactions.
|
|
191
|
+
*/
|
|
35
192
|
getTransactionHashes(): Buffer[];
|
|
193
|
+
/**
|
|
194
|
+
* Build the full merkle tree from transaction hashes.
|
|
195
|
+
*
|
|
196
|
+
* Constructs the tree by iteratively hashing pairs of nodes. If a level
|
|
197
|
+
* has an odd number of elements, a null hash is appended to make it even.
|
|
198
|
+
*
|
|
199
|
+
* @returns Array of Buffers representing all tree nodes.
|
|
200
|
+
* The merkle root is the last element.
|
|
201
|
+
*/
|
|
36
202
|
getMerkleTree(): Buffer[];
|
|
203
|
+
/**
|
|
204
|
+
* Compute the merkle root from the transactions in this block.
|
|
205
|
+
*
|
|
206
|
+
* @returns 32-byte merkle root buffer
|
|
207
|
+
*/
|
|
37
208
|
getMerkleRoot(): Buffer;
|
|
209
|
+
/**
|
|
210
|
+
* Verify that the computed merkle root matches the header merkle root.
|
|
211
|
+
*
|
|
212
|
+
* @returns True if the merkle roots match
|
|
213
|
+
*/
|
|
38
214
|
validMerkleRoot(): boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Create a MerkleBlock containing a partial merkle tree for specific
|
|
217
|
+
* transactions. Used for SPV (Simplified Payment Verification).
|
|
218
|
+
*
|
|
219
|
+
* @param txids - Array of transaction IDs to include in the proof
|
|
220
|
+
* @returns MerkleBlock with partial merkle tree
|
|
221
|
+
*
|
|
222
|
+
* @throws {TypeError} If txids is empty or contains invalid format
|
|
223
|
+
* @throws {Error} If block has no transactions
|
|
224
|
+
*/
|
|
39
225
|
toMerkleBlock(txids: string[]): MerkleBlock;
|
|
226
|
+
/**
|
|
227
|
+
* Block hash in display format (big-endian hex).
|
|
228
|
+
* Delegates to the header hash computation.
|
|
229
|
+
*/
|
|
40
230
|
get hash(): string;
|
|
231
|
+
/**
|
|
232
|
+
* Block ID (alias for hash)
|
|
233
|
+
*/
|
|
41
234
|
get id(): string;
|
|
235
|
+
/**
|
|
236
|
+
* String representation for console/debugging
|
|
237
|
+
*/
|
|
42
238
|
inspect(): string;
|
|
239
|
+
/**
|
|
240
|
+
* Dispatch construction from Buffer or object.
|
|
241
|
+
*/
|
|
43
242
|
private static _from;
|
|
243
|
+
/**
|
|
244
|
+
* Create BlockData from an object, normalizing header and transactions.
|
|
245
|
+
*/
|
|
44
246
|
private static _fromObject;
|
|
247
|
+
/**
|
|
248
|
+
* Read a complete block from a BufferReader.
|
|
249
|
+
*
|
|
250
|
+
* Reads: header + metadata vector + transaction vector
|
|
251
|
+
* (matches lotusd CBlock serialization)
|
|
252
|
+
*/
|
|
45
253
|
private static _readFromBuffer;
|
|
254
|
+
/**
|
|
255
|
+
* Initialize an empty block with default header and no transactions.
|
|
256
|
+
*/
|
|
46
257
|
private _initEmpty;
|
|
258
|
+
/**
|
|
259
|
+
* Deserialize block from a hex string (instance method).
|
|
260
|
+
*/
|
|
47
261
|
private _fromString;
|
|
48
262
|
}
|
|
49
263
|
//# sourceMappingURL=block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/block/block.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../../lib/bitcore/block/block.ts"],"names":[],"mappings":"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"}
|