@bitgo-beta/sdk-coin-flrp 1.0.1-beta.28 → 1.0.1-beta.280

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.
Files changed (112) hide show
  1. package/dist/src/flrp.d.ts +6 -75
  2. package/dist/src/flrp.d.ts.map +1 -1
  3. package/dist/src/flrp.js +13 -298
  4. package/dist/src/index.d.ts +0 -1
  5. package/dist/src/index.d.ts.map +1 -1
  6. package/dist/src/index.js +1 -2
  7. package/dist/src/lib/ExportInCTxBuilder.d.ts +50 -0
  8. package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -0
  9. package/dist/src/lib/ExportInCTxBuilder.js +187 -0
  10. package/dist/src/lib/ExportInPTxBuilder.d.ts +47 -0
  11. package/dist/src/lib/ExportInPTxBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/ExportInPTxBuilder.js +330 -0
  13. package/dist/src/lib/ImportInCTxBuilder.d.ts +47 -0
  14. package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/ImportInCTxBuilder.js +213 -0
  16. package/dist/src/lib/ImportInPTxBuilder.d.ts +33 -0
  17. package/dist/src/lib/ImportInPTxBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/ImportInPTxBuilder.js +197 -0
  19. package/dist/src/lib/atomicInCTransactionBuilder.d.ts +18 -16
  20. package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -1
  21. package/dist/src/lib/atomicInCTransactionBuilder.js +38 -36
  22. package/dist/src/lib/atomicTransactionBuilder.d.ts +42 -76
  23. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  24. package/dist/src/lib/atomicTransactionBuilder.js +141 -218
  25. package/dist/src/lib/iface.d.ts +50 -51
  26. package/dist/src/lib/iface.d.ts.map +1 -1
  27. package/dist/src/lib/iface.js +22 -10
  28. package/dist/src/lib/index.d.ts +4 -0
  29. package/dist/src/lib/index.d.ts.map +1 -1
  30. package/dist/src/lib/index.js +10 -2
  31. package/dist/src/lib/keyPair.d.ts +5 -5
  32. package/dist/src/lib/keyPair.d.ts.map +1 -1
  33. package/dist/src/lib/keyPair.js +17 -9
  34. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +46 -0
  35. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/permissionlessValidatorTxBuilder.js +134 -0
  37. package/dist/src/lib/transaction.d.ts +8 -73
  38. package/dist/src/lib/transaction.d.ts.map +1 -1
  39. package/dist/src/lib/transaction.js +139 -207
  40. package/dist/src/lib/transactionBuilder.d.ts +107 -0
  41. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  42. package/dist/src/lib/transactionBuilder.js +210 -0
  43. package/dist/src/lib/transactionBuilderFactory.d.ts +27 -30
  44. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  45. package/dist/src/lib/transactionBuilderFactory.js +84 -75
  46. package/dist/src/lib/utils.d.ts +98 -147
  47. package/dist/src/lib/utils.d.ts.map +1 -1
  48. package/dist/src/lib/utils.js +346 -319
  49. package/dist/test/resources/account.d.ts +49 -0
  50. package/dist/test/resources/account.d.ts.map +1 -0
  51. package/dist/test/resources/account.js +52 -0
  52. package/dist/test/resources/transactionData/exportInC.d.ts +20 -0
  53. package/dist/test/resources/transactionData/exportInC.d.ts.map +1 -0
  54. package/dist/test/resources/transactionData/exportInC.js +34 -0
  55. package/dist/test/resources/transactionData/exportInP.d.ts +69 -0
  56. package/dist/test/resources/transactionData/exportInP.d.ts.map +1 -0
  57. package/dist/test/resources/transactionData/exportInP.js +140 -0
  58. package/dist/test/resources/transactionData/importInP.d.ts +35 -0
  59. package/dist/test/resources/transactionData/importInP.d.ts.map +1 -0
  60. package/dist/test/resources/transactionData/importInP.js +58 -0
  61. package/dist/test/unit/lib/exportInCTxBuilder.d.ts +2 -0
  62. package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +1 -0
  63. package/dist/test/unit/lib/exportInCTxBuilder.js +166 -0
  64. package/dist/test/unit/lib/exportInPTxBuilder.d.ts +2 -0
  65. package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -0
  66. package/dist/test/unit/lib/exportInPTxBuilder.js +121 -0
  67. package/dist/test/unit/lib/importInPTxBuilder.d.ts +2 -0
  68. package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -0
  69. package/dist/test/unit/lib/importInPTxBuilder.js +73 -0
  70. package/dist/test/unit/lib/keyPair.d.ts +2 -0
  71. package/dist/test/unit/lib/keyPair.d.ts.map +1 -0
  72. package/dist/test/unit/lib/keyPair.js +158 -0
  73. package/dist/test/unit/lib/signFlowTestSuit.d.ts +20 -0
  74. package/dist/test/unit/lib/signFlowTestSuit.d.ts.map +1 -0
  75. package/dist/test/unit/lib/signFlowTestSuit.js +93 -0
  76. package/dist/test/unit/lib/utils.js +29 -223
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +16 -13
  79. package/.eslintignore +0 -5
  80. package/.eslintrc.json +0 -7
  81. package/.mocharc.yml +0 -8
  82. package/CHANGELOG.md +0 -0
  83. package/dist/src/iface.d.ts +0 -25
  84. package/dist/src/iface.d.ts.map +0 -1
  85. package/dist/src/iface.js +0 -3
  86. package/dist/src/lib/constants.d.ts +0 -11
  87. package/dist/src/lib/constants.d.ts.map +0 -1
  88. package/dist/src/lib/constants.js +0 -17
  89. package/dist/src/lib/errors.d.ts +0 -8
  90. package/dist/src/lib/errors.d.ts.map +0 -1
  91. package/dist/src/lib/errors.js +0 -19
  92. package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
  93. package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
  94. package/dist/src/lib/exportInCTxBuilder.js +0 -170
  95. package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
  96. package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
  97. package/dist/src/lib/exportInPTxBuilder.js +0 -56
  98. package/dist/test/unit/flrp.d.ts +0 -2
  99. package/dist/test/unit/flrp.d.ts.map +0 -1
  100. package/dist/test/unit/flrp.js +0 -118
  101. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +0 -2
  102. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +0 -1
  103. package/dist/test/unit/lib/atomicTransactionBuilder.js +0 -222
  104. package/dist/test/unit/lib/exportTxBuilder.d.ts +0 -2
  105. package/dist/test/unit/lib/exportTxBuilder.d.ts.map +0 -1
  106. package/dist/test/unit/lib/exportTxBuilder.js +0 -45
  107. package/dist/test/unit/lib/transaction.d.ts +0 -2
  108. package/dist/test/unit/lib/transaction.d.ts.map +0 -1
  109. package/dist/test/unit/lib/transaction.js +0 -460
  110. package/dist/test/unit/smoke.d.ts +0 -2
  111. package/dist/test/unit/smoke.d.ts.map +0 -1
  112. package/dist/test/unit/smoke.js +0 -23
@@ -1,214 +1,165 @@
1
- import { TransferableOutput } from '@flarenetwork/flarejs';
1
+ import { Signature, TransferableOutput, Id, Credential } from '@flarenetwork/flarejs';
2
2
  import { BaseUtils, Entry } from '@bitgo-beta/sdk-core';
3
3
  import { FlareNetwork } from '@bitgo-beta/statics';
4
- import { DeprecatedOutput, DeprecatedTx, Output } from './iface';
4
+ import { Buffer } from 'buffer';
5
+ import { Output, DeprecatedTx } from './iface';
5
6
  export declare class Utils implements BaseUtils {
7
+ /**
8
+ * Check if addresses in wallet match UTXO output addresses
9
+ */
6
10
  includeIn(walletAddresses: string[], otxoOutputAddresses: string[]): boolean;
7
11
  /**
8
- * Checks if it is a valid address no illegal characters
9
- *
10
- * @param {string} address - address to be validated
11
- * @returns {boolean} - the validation result
12
+ * Validates a Flare address or array of addresses
13
+ * @param {string | string[]} address - address(es) to validate
14
+ * @returns {boolean} - validation result
12
15
  */
13
- /** @inheritdoc */
14
16
  isValidAddress(address: string | string[]): boolean;
15
17
  private isValidAddressRegex;
16
18
  /**
17
- * Checks if it is a valid blockId with length 66 including 0x
18
- *
19
- * @param {string} hash - blockId to be validated
20
- * @returns {boolean} - the validation result
19
+ * Validates a block ID
20
+ * @param {string} hash - block ID to validate
21
+ * @returns {boolean} - validation result
21
22
  */
22
- /** @inheritdoc */
23
23
  isValidBlockId(hash: string): boolean;
24
24
  /**
25
- * Checks if the string is a valid protocol public key or
26
- * extended public key.
27
- *
28
- * @param {string} pub - the public key to be validated
29
- * @returns {boolean} - the validation result
25
+ * Validates a public key
26
+ * @param {string} pub - public key to validate
27
+ * @returns {boolean} - validation result
30
28
  */
31
29
  isValidPublicKey(pub: string): boolean;
32
- parseAddress: (pub: string) => Buffer;
33
30
  /**
34
- * Returns whether or not the string is a valid protocol private key, or extended
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
31
+ * Validates a private key
32
+ * @param {string} prv - private key to validate
33
+ * @returns {boolean} - validation result
43
34
  */
44
35
  isValidPrivateKey(prv: string): boolean;
45
36
  /**
46
- * Returns whether or not the string is a composed of hex chars only
47
- *
48
- * @param {string} maybe - the string to be validated
49
- * @returns {boolean} - the validation result
37
+ * Checks if a string contains only hex characters
50
38
  */
51
- allHexChars(maybe: string): boolean;
39
+ allHexChars(str: string): boolean;
52
40
  /**
53
- * Lightweight Ethereum address validation
54
- * Validates that an address is a 40-character hex string (optionally prefixed with 0x)
55
- *
56
- * @param {string} address - the Ethereum address to validate
57
- * @returns {boolean} - true if valid Ethereum address format
41
+ * Creates a signature using the Flare network parameters
42
+ * Returns a 65-byte signature (64 bytes signature + 1 byte recovery parameter)
58
43
  */
59
- isValidEthereumAddress(address: string): boolean;
44
+ createSignature(network: FlareNetwork, message: Buffer, prv: Buffer): Buffer;
60
45
  /**
61
- * Pick specific properties from an object (replaces lodash.pick)
62
- *
63
- * @param {T} obj - the source object
64
- * @param {K[]} keys - array of property keys to pick
65
- * @returns {Pick<T, K>} - new object with only the specified properties
46
+ * Verifies a signature
66
47
  */
67
- pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
48
+ verifySignature(network: FlareNetwork, message: Buffer, signature: Buffer, publicKey: Buffer): boolean;
68
49
  /**
69
- * Deep equality comparison (replaces lodash.isEqual)
70
- *
71
- * @param {unknown} a - first value to compare
72
- * @param {unknown} b - second value to compare
73
- * @returns {boolean} - true if values are deeply equal
50
+ * Creates a new signature object
74
51
  */
75
- isEqual(a: unknown, b: unknown): boolean;
76
- /** @inheritdoc */
77
- isValidSignature(signature: string): boolean;
78
- /** @inheritdoc */
79
- isValidTransactionId(txId: string): boolean;
52
+ createNewSig(sigHex: string): Signature;
80
53
  /**
81
- * FlareJS wrapper to create signature and return it for credentials
82
- * @param network
83
- * @param message
84
- * @param prv
85
- * @return signature
54
+ * Creates an empty signature with embedded address for signature slot identification.
55
+ * The address is embedded at position 90 (after the first 45 zero bytes).
56
+ * This allows the signing logic to determine which slot belongs to which address.
57
+ * @param addressHex The 20-byte address in hex format (40 chars, without 0x prefix)
86
58
  */
87
- createSignature(network: FlareNetwork, message: Buffer, prv: Buffer): Buffer;
59
+ createEmptySigWithAddress(addressHex: string): Signature;
88
60
  /**
89
- * FlareJS wrapper to verify signature
90
- * @param network
91
- * @param message
92
- * @param signature
93
- * @param publicKey - public key instead of private key for verification
94
- * @return true if it's verify successful
61
+ * Extracts the embedded address from an empty signature.
62
+ * Returns the address hex string (40 chars) or empty string if not found.
95
63
  */
96
- verifySignature(network: FlareNetwork, message: Buffer, signature: Buffer, publicKey: Buffer): boolean;
64
+ getAddressFromEmptySig(sig: string): string;
97
65
  /**
98
- * FlareJS wrapper to recover signature
99
- * @param network
100
- * @param message
101
- * @param signature
102
- * @return recovered public key
66
+ * Computes SHA256 hash
103
67
  */
104
- recoverySignature(network: FlareNetwork, message: Buffer, signature: Buffer): Buffer;
105
68
  sha256(buf: Uint8Array): Buffer;
106
69
  /**
107
- * Check the raw transaction has a valid format in the blockchain context, throw otherwise.
108
- * It's to reuse in TransactionBuilder and TransactionBuilderFactory
109
- *
110
- * @param rawTransaction Transaction as hex string
70
+ * Validates raw transaction format
111
71
  */
112
72
  validateRawTransaction(rawTransaction: string): void;
113
73
  /**
114
- * Check if tx is for the blockchainId
115
- *
116
- * @param {DeprecatedTx} tx
117
- * @param {string} blockchainId
118
- * @returns true if tx is for blockchainId
119
- */
120
- isTransactionOf(tx: DeprecatedTx, blockchainId: string): boolean;
121
- /**
122
- * Check if Output is from PVM.
123
- * Output could be EVM or PVM output.
124
- * @param {DeprecatedOutput} output
125
- * @returns {boolean} output has transferable output structure
126
- */
127
- deprecatedIsTransferableOutput(output: DeprecatedOutput): boolean;
128
- /**
129
- * Check if Output is from PVM.
130
- * Output could be EVM or PVM output.
131
- * @param {Output} output
132
- * @returns {boolean} output is TransferableOutput
74
+ * Checks if output is TransferableOutput type
133
75
  */
134
76
  isTransferableOutput(output: Output): output is TransferableOutput;
135
77
  /**
136
- * Return a mapper function to that network address representation.
137
- * @param network required to stringify addresses
138
- * @return mapper function
139
- */
140
- deprecatedMapOutputToEntry(network: FlareNetwork): (output: DeprecatedOutput) => Entry;
141
- /**
142
- * Return a mapper function to that network address representation.
143
- * @param network required to stringify addresses
144
- * @return mapper function
78
+ * Maps outputs to entry format
145
79
  */
146
80
  mapOutputToEntry(network: FlareNetwork): (Output: any) => Entry;
147
81
  /**
148
- * remove hex prefix (0x)
149
- * @param hex string
150
- * @returns hex without 0x
82
+ * Removes 0x prefix from hex string
151
83
  */
152
84
  removeHexPrefix(hex: string): string;
153
85
  /**
154
- * Outputidx convert from number (as string) to buffer.
155
- * @param {string} outputidx number
156
- * @return {Buffer} buffer of size 4 with that number value
86
+ * Converts output index to buffer
157
87
  */
158
88
  outputidxNumberToBuffer(outputidx: string): Buffer;
159
89
  /**
160
- * Outputidx buffer to number (as string)
161
- * @param {Buffer} outputidx
162
- * @return {string} outputidx number
90
+ * Converts output index buffer to number string
163
91
  */
164
92
  outputidxBufferToNumber(outputidx: Buffer): string;
93
+ isValidSignature(signature: string): boolean;
94
+ isValidTransactionId(txId: string): boolean;
165
95
  /**
166
- * CB58 decode function - simple Base58 decode implementation
167
- * @param {string} data - CB58 encoded string
168
- * @returns {Buffer} decoded buffer
96
+ * Helper method to convert address components to string
169
97
  */
170
- cb58Decode(data: string): Buffer;
98
+ addressToString: (hrp: string, prefix: string, address: Buffer) => string;
171
99
  /**
172
- * Convert address buffer to bech32 string
173
- * @param {string} hrp - Human readable part
174
- * @param {string} chainid - Chain identifier
175
- * @param {Buffer} addressBuffer - Address buffer
176
- * @returns {string} Address string
100
+ * Decodes a base58 string with checksum to a Buffer
177
101
  */
178
- addressToString(hrp: string, chainid: string, addressBuffer: Buffer): string;
102
+ cb58Decode(str: string): Buffer;
179
103
  /**
180
- * Convert string to bytes for FlareJS memo
181
- * Follows FlareJS utils.stringToBytes pattern
182
- * @param {string} text - Text to convert
183
- * @returns {Uint8Array} Byte array
104
+ * Validates a checksum on a Buffer and returns true if valid, false if not
184
105
  */
185
- stringToBytes(text: string): Uint8Array;
106
+ private validateChecksum;
186
107
  /**
187
- * Convert bytes to string from FlareJS memo
188
- * @param {Uint8Array} bytes - Bytes to convert
189
- * @returns {string} Decoded string
108
+ * Encodes a Buffer as a base58 string with checksum
190
109
  */
191
- bytesToString(bytes: Uint8Array): string;
110
+ cb58Encode(bytes: Buffer): string;
192
111
  /**
193
- * Create memo bytes from various input formats
194
- * Supports string, JSON object, or raw bytes
195
- * @param {string | Record<string, unknown> | Uint8Array} memo - Memo data
196
- * @returns {Uint8Array} Memo bytes for FlareJS
112
+ * Adds a checksum to a Buffer and returns the concatenated result
197
113
  */
198
- createMemoBytes(memo: string | Record<string, unknown> | Uint8Array): Uint8Array;
114
+ private addChecksum;
199
115
  /**
200
- * Parse memo bytes to string
201
- * @param {Uint8Array} memoBytes - Memo bytes from FlareJS transaction
202
- * @returns {string} Decoded memo string
116
+ * Parse an address string into a Buffer
117
+ * @param address - The address to parse
118
+ * @returns Buffer containing the parsed address
203
119
  */
204
- parseMemoBytes(memoBytes: Uint8Array): string;
120
+ parseAddress: (address: string) => Buffer;
121
+ stringToAddress: (address: string, hrp?: string) => Buffer;
205
122
  /**
206
- * Validate memo size (FlareJS has transaction size limits)
207
- * @param {Uint8Array} memoBytes - Memo bytes
208
- * @param {number} maxSize - Maximum size in bytes (default 4KB)
209
- * @returns {boolean} Whether memo is within size limits
123
+ * Check if tx is for the blockchainId
124
+ *
125
+ * @param {DeprecatedTx} tx
126
+ * @param {string} blockchainId
127
+ * @returns true if tx is for blockchainId
128
+ */
129
+ isTransactionOf(tx: DeprecatedTx, blockchainId: string): boolean;
130
+ flareIdString(value: string): Id;
131
+ /**
132
+ * Extract credentials from raw transaction bytes.
133
+ * Signed transactions have credentials appended after the transaction body.
134
+ * This function handles both checking for credentials and extracting them.
135
+ *
136
+ * @param rawBytes - The full raw transaction bytes
137
+ * @param tx - The parsed transaction (must have toBytes method)
138
+ * @param vmType - The VM type ('EVM' or 'PVM') to get the correct codec
139
+ * @returns Object with hasCredentials flag and credentials array
140
+ */
141
+ extractCredentialsFromRawBytes(rawBytes: Buffer, tx: {
142
+ toBytes(codec: unknown): Uint8Array;
143
+ }, vmType?: 'EVM' | 'PVM'): {
144
+ hasCredentials: boolean;
145
+ credentials: Credential[];
146
+ };
147
+ /**
148
+ * Parse credentials from raw bytes at a specific offset
149
+ * This is useful when the standard extraction fails due to serialization differences
150
+ * @param rawBytes Raw transaction bytes including credentials
151
+ * @param offset Byte offset where credentials start
152
+ * @returns Array of parsed credentials
153
+ */
154
+ parseCredentialsAtOffset(rawBytes: Buffer, offset: number): Credential[];
155
+ /**
156
+ * FlareJS wrapper to recover signature
157
+ * @param network
158
+ * @param message
159
+ * @param signature
160
+ * @return recovered public key
210
161
  */
211
- validateMemoSize(memoBytes: Uint8Array, maxSize?: number): boolean;
162
+ recoverySignature(network: FlareNetwork, message: Buffer, signature: Buffer): Buffer;
212
163
  }
213
164
  declare const utils: Utils;
214
165
  export default utils;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}