@bitgo-beta/sdk-coin-flrp 1.0.1-beta.4 → 1.0.1-beta.400
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/src/flrp.d.ts +75 -61
- package/dist/src/flrp.d.ts.map +1 -1
- package/dist/src/flrp.js +276 -134
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -2
- package/dist/src/lib/ExportInCTxBuilder.d.ts +43 -0
- package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ExportInCTxBuilder.js +150 -0
- package/dist/src/lib/ExportInPTxBuilder.d.ts +28 -0
- package/dist/src/lib/ExportInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ExportInPTxBuilder.js +174 -0
- package/dist/src/lib/ImportInCTxBuilder.d.ts +34 -0
- package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ImportInCTxBuilder.js +175 -0
- package/dist/src/lib/ImportInPTxBuilder.d.ts +38 -0
- package/dist/src/lib/ImportInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ImportInPTxBuilder.js +208 -0
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts +12 -16
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicInCTransactionBuilder.js +30 -41
- package/dist/src/lib/atomicTransactionBuilder.d.ts +112 -35
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicTransactionBuilder.js +244 -34
- package/dist/src/lib/iface.d.ts +81 -22
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +20 -14
- package/dist/src/lib/index.d.ts +7 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +16 -2
- package/dist/src/lib/keyPair.d.ts +5 -5
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +15 -9
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +41 -0
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/permissionlessValidatorTxBuilder.js +126 -0
- package/dist/src/lib/transaction.d.ts +75 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +460 -0
- package/dist/src/lib/transactionBuilder.d.ts +115 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +228 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +57 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +148 -0
- package/dist/src/lib/utils.d.ts +138 -102
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +359 -245
- package/dist/test/resources/account.d.ts +81 -0
- package/dist/test/resources/account.d.ts.map +1 -0
- package/dist/test/resources/account.js +79 -0
- package/dist/test/resources/transactionData/exportInC.d.ts +50 -0
- package/dist/test/resources/transactionData/exportInC.d.ts.map +1 -0
- package/dist/test/resources/transactionData/exportInC.js +58 -0
- package/dist/test/resources/transactionData/exportInP.d.ts +60 -0
- package/dist/test/resources/transactionData/exportInP.d.ts.map +1 -0
- package/dist/test/resources/transactionData/exportInP.js +101 -0
- package/dist/test/resources/transactionData/importInC.d.ts +56 -0
- package/dist/test/resources/transactionData/importInC.d.ts.map +1 -0
- package/dist/test/resources/transactionData/importInC.js +120 -0
- package/dist/test/resources/transactionData/importInP.d.ts +66 -0
- package/dist/test/resources/transactionData/importInP.d.ts.map +1 -0
- package/dist/test/resources/transactionData/importInP.js +84 -0
- package/dist/test/unit/flrp.js +490 -20
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/exportInCTxBuilder.js +193 -0
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/exportInPTxBuilder.js +296 -0
- package/dist/test/unit/lib/importInCTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/importInCTxBuilder.js +309 -0
- package/dist/test/unit/lib/importInPTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/importInPTxBuilder.js +490 -0
- package/dist/test/unit/lib/keyPair.d.ts +2 -0
- package/dist/test/unit/lib/keyPair.d.ts.map +1 -0
- package/dist/test/unit/lib/keyPair.js +158 -0
- package/dist/test/unit/lib/signFlowTestSuit.d.ts +20 -0
- package/dist/test/unit/lib/signFlowTestSuit.d.ts.map +1 -0
- package/dist/test/unit/lib/signFlowTestSuit.js +83 -0
- package/dist/test/unit/lib/signatureIndex.d.ts +13 -0
- package/dist/test/unit/lib/signatureIndex.d.ts.map +1 -0
- package/dist/test/unit/lib/signatureIndex.js +843 -0
- package/dist/test/unit/lib/transactionBuilderFactory.d.ts +2 -0
- package/dist/test/unit/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/lib/transactionBuilderFactory.js +60 -0
- package/dist/test/unit/lib/utils.d.ts +2 -0
- package/dist/test/unit/lib/utils.d.ts.map +1 -0
- package/dist/test/unit/lib/utils.js +761 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -12
- package/.eslintignore +0 -5
- package/.eslintrc.json +0 -7
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -0
- package/dist/src/iface.d.ts +0 -25
- package/dist/src/iface.d.ts.map +0 -1
- package/dist/src/iface.js +0 -3
- package/dist/src/lib/constants.d.ts +0 -11
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -17
- package/dist/src/lib/errors.d.ts +0 -8
- package/dist/src/lib/errors.d.ts.map +0 -1
- package/dist/src/lib/errors.js +0 -19
- package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
- package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/exportInCTxBuilder.js +0 -164
- package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
- package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/exportInPTxBuilder.js +0 -56
- package/dist/test/unit/smoke.d.ts +0 -2
- package/dist/test/unit/smoke.d.ts.map +0 -1
- package/dist/test/unit/smoke.js +0 -9
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -1,157 +1,193 @@
|
|
|
1
|
-
import { TransferableOutput } from '@flarenetwork/flarejs';
|
|
1
|
+
import { Signature, TransferableOutput, Id, Utxo } from '@flarenetwork/flarejs';
|
|
2
2
|
import { BaseUtils, Entry } from '@bitgo-beta/sdk-core';
|
|
3
3
|
import { FlareNetwork } from '@bitgo-beta/statics';
|
|
4
|
-
import {
|
|
4
|
+
import { Buffer } from 'buffer';
|
|
5
|
+
import { DecodedUtxoObj, Output, Tx } from './iface';
|
|
5
6
|
export declare class Utils implements BaseUtils {
|
|
7
|
+
isValidTransactionId(txId: string): boolean;
|
|
8
|
+
isValidSignature(signature: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Check if addresses in wallet match UTXO output addresses
|
|
11
|
+
*/
|
|
6
12
|
includeIn(walletAddresses: string[], otxoOutputAddresses: string[]): boolean;
|
|
7
13
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* @
|
|
11
|
-
* @returns {boolean} - the validation result
|
|
14
|
+
* Validates a Flare address or array of addresses
|
|
15
|
+
* @param {string | string[]} address - address(es) to validate
|
|
16
|
+
* @returns {boolean} - validation result
|
|
12
17
|
*/
|
|
13
|
-
/** @inheritdoc */
|
|
14
18
|
isValidAddress(address: string | string[]): boolean;
|
|
15
19
|
private isValidAddressRegex;
|
|
16
20
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* @
|
|
20
|
-
* @returns {boolean} - the validation result
|
|
21
|
+
* Validates a block ID
|
|
22
|
+
* @param {string} hash - block ID to validate
|
|
23
|
+
* @returns {boolean} - validation result
|
|
21
24
|
*/
|
|
22
|
-
/** @inheritdoc */
|
|
23
25
|
isValidBlockId(hash: string): boolean;
|
|
24
26
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* @param {string} pub - the public key to be validated
|
|
29
|
-
* @returns {boolean} - the validation result
|
|
27
|
+
* Validates a public key
|
|
28
|
+
* @param {string} pub - public key to validate
|
|
29
|
+
* @returns {boolean} - validation result
|
|
30
30
|
*/
|
|
31
31
|
isValidPublicKey(pub: string): boolean;
|
|
32
|
-
parseAddress: (pub: string) => Buffer;
|
|
33
32
|
/**
|
|
34
|
-
*
|
|
35
|
-
* private key
|
|
36
|
-
*
|
|
37
|
-
* The protocol key format is described in the @stacks/transactions npm package, in the
|
|
38
|
-
* createStacksPrivateKey function:
|
|
39
|
-
* https://github.com/blockstack/stacks.js/blob/master/packages/transactions/src/keys.ts#L125
|
|
40
|
-
*
|
|
41
|
-
* @param {string} prv - the private key (or extended private key) to be validated
|
|
42
|
-
* @returns {boolean} - the validation result
|
|
33
|
+
* Validates a private key
|
|
34
|
+
* @param {string} prv - private key to validate
|
|
35
|
+
* @returns {boolean} - validation result
|
|
43
36
|
*/
|
|
44
37
|
isValidPrivateKey(prv: string): boolean;
|
|
45
38
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* @param {string} maybe - the string to be validated
|
|
49
|
-
* @returns {boolean} - the validation result
|
|
39
|
+
* Checks if a string contains only hex characters
|
|
50
40
|
*/
|
|
51
|
-
allHexChars(
|
|
52
|
-
/** @inheritdoc */
|
|
53
|
-
isValidSignature(signature: string): boolean;
|
|
54
|
-
/** @inheritdoc */
|
|
55
|
-
isValidTransactionId(txId: string): boolean;
|
|
41
|
+
allHexChars(str: string): boolean;
|
|
56
42
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* @param message
|
|
60
|
-
* @param prv
|
|
61
|
-
* @return signature
|
|
43
|
+
* Creates a signature using the Flare network parameters
|
|
44
|
+
* Returns a 65-byte signature (64 bytes signature + 1 byte recovery parameter)
|
|
62
45
|
*/
|
|
63
46
|
createSignature(network: FlareNetwork, message: Buffer, prv: Buffer): Buffer;
|
|
64
47
|
/**
|
|
65
|
-
*
|
|
66
|
-
* @param
|
|
67
|
-
* @param
|
|
68
|
-
* @param
|
|
69
|
-
* @
|
|
70
|
-
* @return true if it's verify successful
|
|
48
|
+
* Verifies a signature
|
|
49
|
+
* @param messageHash - The SHA256 hash of the message (e.g., signablePayload)
|
|
50
|
+
* @param signature - The 64-byte signature (without recovery parameter)
|
|
51
|
+
* @param publicKey - The public key to verify against
|
|
52
|
+
* @returns true if signature is valid
|
|
71
53
|
*/
|
|
72
|
-
verifySignature(
|
|
54
|
+
verifySignature(messageHash: Buffer, signature: Buffer, publicKey: Buffer): boolean;
|
|
73
55
|
/**
|
|
74
|
-
*
|
|
75
|
-
* @param network
|
|
76
|
-
* @param message
|
|
77
|
-
* @param signature
|
|
78
|
-
* @return recovered public key
|
|
56
|
+
* Creates a new signature object
|
|
79
57
|
*/
|
|
80
|
-
|
|
81
|
-
sha256(buf: Uint8Array): Buffer;
|
|
58
|
+
createNewSig(sigHex: string): Signature;
|
|
82
59
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* @param
|
|
60
|
+
* Creates an empty signature with embedded address for signature slot identification.
|
|
61
|
+
* The address is embedded at position 90 (after the first 45 zero bytes).
|
|
62
|
+
* This allows the signing logic to determine which slot belongs to which address.
|
|
63
|
+
* @param addressHex The 20-byte address in hex format (40 chars, without 0x prefix)
|
|
87
64
|
*/
|
|
88
|
-
|
|
65
|
+
createEmptySigWithAddress(addressHex: string): Signature;
|
|
89
66
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* @param {DeprecatedTx} tx
|
|
93
|
-
* @param {string} blockchainId
|
|
94
|
-
* @returns true if tx is for blockchainId
|
|
67
|
+
* Extracts the embedded address from an empty signature.
|
|
68
|
+
* Returns the address hex string (40 chars) or empty string if not found.
|
|
95
69
|
*/
|
|
96
|
-
|
|
70
|
+
getAddressFromEmptySig(sig: string): string;
|
|
97
71
|
/**
|
|
98
|
-
*
|
|
99
|
-
* Output could be EVM or PVM output.
|
|
100
|
-
* @param {DeprecatedOutput} output
|
|
101
|
-
* @returns {boolean} output has transferable output structure
|
|
72
|
+
* Computes SHA256 hash
|
|
102
73
|
*/
|
|
103
|
-
|
|
74
|
+
sha256(buf: Uint8Array): Buffer;
|
|
104
75
|
/**
|
|
105
|
-
*
|
|
106
|
-
* Output could be EVM or PVM output.
|
|
107
|
-
* @param {Output} output
|
|
108
|
-
* @returns {boolean} output is TransferableOutput
|
|
76
|
+
* Validates raw transaction format
|
|
109
77
|
*/
|
|
110
|
-
|
|
78
|
+
validateRawTransaction(rawTransaction: string): void;
|
|
111
79
|
/**
|
|
112
|
-
*
|
|
113
|
-
* @param network required to stringify addresses
|
|
114
|
-
* @return mapper function
|
|
80
|
+
* Checks if output is TransferableOutput type
|
|
115
81
|
*/
|
|
116
|
-
|
|
82
|
+
isTransferableOutput(output: Output): output is TransferableOutput;
|
|
117
83
|
/**
|
|
118
|
-
*
|
|
119
|
-
* @param network required to stringify addresses
|
|
120
|
-
* @return mapper function
|
|
84
|
+
* Maps outputs to entry format
|
|
121
85
|
*/
|
|
122
86
|
mapOutputToEntry(network: FlareNetwork): (Output: any) => Entry;
|
|
123
87
|
/**
|
|
124
|
-
*
|
|
125
|
-
* @param hex string
|
|
126
|
-
* @returns hex without 0x
|
|
88
|
+
* Removes 0x prefix from hex string
|
|
127
89
|
*/
|
|
128
90
|
removeHexPrefix(hex: string): string;
|
|
129
91
|
/**
|
|
130
|
-
*
|
|
131
|
-
* @param {string} outputidx number
|
|
132
|
-
* @return {Buffer} buffer of size 4 with that number value
|
|
92
|
+
* Converts output index to buffer
|
|
133
93
|
*/
|
|
134
94
|
outputidxNumberToBuffer(outputidx: string): Buffer;
|
|
135
95
|
/**
|
|
136
|
-
*
|
|
137
|
-
* @param {Buffer} outputidx
|
|
138
|
-
* @return {string} outputidx number
|
|
96
|
+
* Converts output index buffer to number string
|
|
139
97
|
*/
|
|
140
98
|
outputidxBufferToNumber(outputidx: Buffer): string;
|
|
141
99
|
/**
|
|
142
|
-
*
|
|
143
|
-
|
|
144
|
-
|
|
100
|
+
* Helper method to convert address components to string
|
|
101
|
+
*/
|
|
102
|
+
addressToString: (hrp: string, prefix: string, address: Buffer) => string;
|
|
103
|
+
/**
|
|
104
|
+
* Decodes a base58 string with checksum to a Buffer
|
|
105
|
+
*/
|
|
106
|
+
cb58Decode(str: string): Buffer;
|
|
107
|
+
/**
|
|
108
|
+
* Validates a checksum on a Buffer and returns true if valid, false if not
|
|
109
|
+
*/
|
|
110
|
+
private validateChecksum;
|
|
111
|
+
/**
|
|
112
|
+
* Encodes a Buffer as a base58 string with checksum
|
|
113
|
+
*/
|
|
114
|
+
cb58Encode(bytes: Buffer): string;
|
|
115
|
+
/**
|
|
116
|
+
* Adds a checksum to a Buffer and returns the concatenated result
|
|
117
|
+
* Uses last 4 bytes of SHA256 hash as checksum (matching avaxp behavior)
|
|
118
|
+
*/
|
|
119
|
+
addChecksum(buff: Buffer | Uint8Array): Uint8Array;
|
|
120
|
+
/**
|
|
121
|
+
* Parse an address string into a Buffer
|
|
122
|
+
* @param address - The address to parse
|
|
123
|
+
* @returns Buffer containing the parsed address
|
|
124
|
+
*/
|
|
125
|
+
parseAddress: (address: string) => Buffer;
|
|
126
|
+
stringToAddress: (address: string, hrp?: string) => Buffer;
|
|
127
|
+
flareIdString(value: string): Id;
|
|
128
|
+
/**
|
|
129
|
+
* Sort addresses lexicographically by their byte representation.
|
|
130
|
+
* This matches how addresses are stored on-chain in Avalanche/Flare P-chain UTXOs.
|
|
131
|
+
* @param addresses - Array of bech32 address strings (e.g., "P-costwo1...")
|
|
132
|
+
* @returns Array of addresses sorted by hex value
|
|
133
|
+
*/
|
|
134
|
+
sortAddressesByHex(addresses: string[]): string[];
|
|
135
|
+
/**
|
|
136
|
+
* Sort address buffers lexicographically by their byte representation.
|
|
137
|
+
* This matches how addresses are stored on-chain in Avalanche/Flare P-chain UTXOs.
|
|
138
|
+
* @param addressBuffers - Array of address byte buffers
|
|
139
|
+
* @returns Array of address buffers sorted by hex value
|
|
140
|
+
*/
|
|
141
|
+
sortAddressBuffersByHex(addressBuffers: Buffer[]): Buffer[];
|
|
142
|
+
/**
|
|
143
|
+
* Recover public key from signature
|
|
144
|
+
* @param messageHash - The SHA256 hash of the message (e.g., signablePayload)
|
|
145
|
+
* @param signature - 65-byte signature (64 bytes signature + 1 byte recovery parameter)
|
|
146
|
+
* @return recovered public key
|
|
147
|
+
*/
|
|
148
|
+
recoverySignature(messageHash: Buffer, signature: Buffer): Buffer;
|
|
149
|
+
/**
|
|
150
|
+
* Check if tx is for the blockchainId
|
|
151
|
+
*
|
|
152
|
+
* @param {Tx} tx
|
|
153
|
+
* @param {string} blockchainId - blockchain ID in hex format
|
|
154
|
+
* @returns true if tx is for blockchainId
|
|
155
|
+
*/
|
|
156
|
+
isTransactionOf(tx: Tx, blockchainId: string): boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Convert FlareJS native Utxo to DecodedUtxoObj for internal use
|
|
159
|
+
* @param utxo - FlareJS Utxo object
|
|
160
|
+
* @param network - Flare network configuration
|
|
161
|
+
* @returns DecodedUtxoObj compatible with existing methods
|
|
162
|
+
*/
|
|
163
|
+
utxoToDecoded(utxo: Utxo, network: FlareNetwork): DecodedUtxoObj;
|
|
164
|
+
/**
|
|
165
|
+
* Convert array of FlareJS Utxos to DecodedUtxoObj array
|
|
166
|
+
* @param utxos - Array of FlareJS Utxo objects
|
|
167
|
+
* @param network - Flare network configuration
|
|
168
|
+
* @returns Array of DecodedUtxoObj
|
|
169
|
+
*/
|
|
170
|
+
utxosToDecoded(utxos: Utxo[], network: FlareNetwork): DecodedUtxoObj[];
|
|
171
|
+
/**
|
|
172
|
+
* Convert DecodedUtxoObj to native FlareJS Utxo object
|
|
173
|
+
* This is the reverse of utxoToDecoded
|
|
174
|
+
*
|
|
175
|
+
* IMPORTANT: Addresses are sorted lexicographically by byte value to match
|
|
176
|
+
* on-chain storage order. The API may return addresses in arbitrary order, but
|
|
177
|
+
* on-chain UTXOs always store addresses in sorted order.
|
|
178
|
+
*
|
|
179
|
+
* @param decoded - DecodedUtxoObj to convert
|
|
180
|
+
* @param assetId - Asset ID as cb58 encoded string
|
|
181
|
+
* @returns Native FlareJS Utxo object
|
|
145
182
|
*/
|
|
146
|
-
|
|
183
|
+
decodedToUtxo(decoded: DecodedUtxoObj, assetId: string): Utxo;
|
|
147
184
|
/**
|
|
148
|
-
* Convert
|
|
149
|
-
* @param
|
|
150
|
-
* @param
|
|
151
|
-
* @
|
|
152
|
-
* @returns {string} Address string
|
|
185
|
+
* Convert array of DecodedUtxoObj to native FlareJS Utxo objects
|
|
186
|
+
* @param decodedUtxos - Array of DecodedUtxoObj
|
|
187
|
+
* @param assetId - Asset ID as cb58 encoded string
|
|
188
|
+
* @returns Array of native FlareJS Utxo objects
|
|
153
189
|
*/
|
|
154
|
-
|
|
190
|
+
decodedToUtxos(decodedUtxos: DecodedUtxoObj[], assetId: string): Utxo[];
|
|
155
191
|
}
|
|
156
192
|
declare const utils: Utils;
|
|
157
193
|
export default utils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
|