@bitgo-beta/sdk-coin-flrp 1.0.1-beta.3 → 1.0.1-beta.300

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 (109) hide show
  1. package/dist/src/flrp.d.ts +75 -61
  2. package/dist/src/flrp.d.ts.map +1 -1
  3. package/dist/src/flrp.js +276 -134
  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 +51 -0
  8. package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -0
  9. package/dist/src/lib/ExportInCTxBuilder.js +188 -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 +273 -0
  13. package/dist/src/lib/ImportInCTxBuilder.d.ts +48 -0
  14. package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/ImportInCTxBuilder.js +215 -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 +180 -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 +49 -34
  23. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  24. package/dist/src/lib/atomicTransactionBuilder.js +159 -33
  25. package/dist/src/lib/iface.d.ts +50 -22
  26. package/dist/src/lib/iface.d.ts.map +1 -1
  27. package/dist/src/lib/iface.js +13 -14
  28. package/dist/src/lib/index.d.ts +7 -0
  29. package/dist/src/lib/index.d.ts.map +1 -1
  30. package/dist/src/lib/index.js +16 -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 +15 -9
  34. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +43 -0
  35. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/permissionlessValidatorTxBuilder.js +132 -0
  37. package/dist/src/lib/transaction.d.ts +51 -0
  38. package/dist/src/lib/transaction.d.ts.map +1 -0
  39. package/dist/src/lib/transaction.js +373 -0
  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 +57 -0
  44. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  45. package/dist/src/lib/transactionBuilderFactory.js +148 -0
  46. package/dist/src/lib/utils.d.ts +78 -102
  47. package/dist/src/lib/utils.d.ts.map +1 -1
  48. package/dist/src/lib/utils.js +220 -246
  49. package/dist/test/resources/account.d.ts +51 -0
  50. package/dist/test/resources/account.d.ts.map +1 -0
  51. package/dist/test/resources/account.js +54 -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/importInC.d.ts +27 -0
  59. package/dist/test/resources/transactionData/importInC.d.ts.map +1 -0
  60. package/dist/test/resources/transactionData/importInC.js +44 -0
  61. package/dist/test/resources/transactionData/importInP.d.ts +35 -0
  62. package/dist/test/resources/transactionData/importInP.d.ts.map +1 -0
  63. package/dist/test/resources/transactionData/importInP.js +58 -0
  64. package/dist/test/unit/flrp.js +490 -20
  65. package/dist/test/unit/lib/exportInCTxBuilder.d.ts +2 -0
  66. package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +1 -0
  67. package/dist/test/unit/lib/exportInCTxBuilder.js +166 -0
  68. package/dist/test/unit/lib/exportInPTxBuilder.d.ts +2 -0
  69. package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -0
  70. package/dist/test/unit/lib/exportInPTxBuilder.js +121 -0
  71. package/dist/test/unit/lib/importInCTxBuilder.d.ts +2 -0
  72. package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +1 -0
  73. package/dist/test/unit/lib/importInCTxBuilder.js +47 -0
  74. package/dist/test/unit/lib/importInPTxBuilder.d.ts +2 -0
  75. package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -0
  76. package/dist/test/unit/lib/importInPTxBuilder.js +73 -0
  77. package/dist/test/unit/lib/keyPair.d.ts +2 -0
  78. package/dist/test/unit/lib/keyPair.d.ts.map +1 -0
  79. package/dist/test/unit/lib/keyPair.js +158 -0
  80. package/dist/test/unit/lib/signFlowTestSuit.d.ts +20 -0
  81. package/dist/test/unit/lib/signFlowTestSuit.d.ts.map +1 -0
  82. package/dist/test/unit/lib/signFlowTestSuit.js +89 -0
  83. package/dist/test/unit/lib/utils.d.ts +2 -0
  84. package/dist/test/unit/lib/utils.d.ts.map +1 -0
  85. package/dist/test/unit/lib/utils.js +453 -0
  86. package/dist/tsconfig.tsbuildinfo +1 -1
  87. package/package.json +16 -11
  88. package/.eslintignore +0 -5
  89. package/.eslintrc.json +0 -7
  90. package/.mocharc.yml +0 -8
  91. package/CHANGELOG.md +0 -0
  92. package/dist/src/iface.d.ts +0 -25
  93. package/dist/src/iface.d.ts.map +0 -1
  94. package/dist/src/iface.js +0 -3
  95. package/dist/src/lib/constants.d.ts +0 -11
  96. package/dist/src/lib/constants.d.ts.map +0 -1
  97. package/dist/src/lib/constants.js +0 -17
  98. package/dist/src/lib/errors.d.ts +0 -8
  99. package/dist/src/lib/errors.d.ts.map +0 -1
  100. package/dist/src/lib/errors.js +0 -19
  101. package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
  102. package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
  103. package/dist/src/lib/exportInCTxBuilder.js +0 -164
  104. package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
  105. package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
  106. package/dist/src/lib/exportInPTxBuilder.js +0 -56
  107. package/dist/test/unit/smoke.d.ts +0 -2
  108. package/dist/test/unit/smoke.d.ts.map +0 -1
  109. package/dist/test/unit/smoke.js +0 -9
@@ -1,157 +1,133 @@
1
- import { TransferableOutput } from '@flarenetwork/flarejs';
1
+ import { Signature, TransferableOutput, Id } 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 } 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
- * 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
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
- * 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
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
- * 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
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
- /**
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
32
+ /**
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
- * 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
39
+ * Checks if a string contains only hex characters
50
40
  */
51
- allHexChars(maybe: string): boolean;
52
- /** @inheritdoc */
53
- isValidSignature(signature: string): boolean;
54
- /** @inheritdoc */
55
- isValidTransactionId(txId: string): boolean;
41
+ allHexChars(str: string): boolean;
56
42
  /**
57
- * FlareJS wrapper to create signature and return it for credentials
58
- * @param network
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
- * FlareJS wrapper to verify signature
66
- * @param network
67
- * @param message
68
- * @param signature
69
- * @param publicKey - public key instead of private key for verification
70
- * @return true if it's verify successful
48
+ * Verifies a signature
71
49
  */
72
50
  verifySignature(network: FlareNetwork, message: Buffer, signature: Buffer, publicKey: Buffer): boolean;
73
51
  /**
74
- * FlareJS wrapper to recover signature
75
- * @param network
76
- * @param message
77
- * @param signature
78
- * @return recovered public key
52
+ * Creates a new signature object
79
53
  */
80
- recoverySignature(network: FlareNetwork, message: Buffer, signature: Buffer): Buffer;
81
- sha256(buf: Uint8Array): Buffer;
54
+ createNewSig(sigHex: string): Signature;
82
55
  /**
83
- * Check the raw transaction has a valid format in the blockchain context, throw otherwise.
84
- * It's to reuse in TransactionBuilder and TransactionBuilderFactory
85
- *
86
- * @param rawTransaction Transaction as hex string
56
+ * Creates an empty signature with embedded address for signature slot identification.
57
+ * The address is embedded at position 90 (after the first 45 zero bytes).
58
+ * This allows the signing logic to determine which slot belongs to which address.
59
+ * @param addressHex The 20-byte address in hex format (40 chars, without 0x prefix)
87
60
  */
88
- validateRawTransaction(rawTransaction: string): void;
61
+ createEmptySigWithAddress(addressHex: string): Signature;
89
62
  /**
90
- * Check if tx is for the blockchainId
91
- *
92
- * @param {DeprecatedTx} tx
93
- * @param {string} blockchainId
94
- * @returns true if tx is for blockchainId
63
+ * Extracts the embedded address from an empty signature.
64
+ * Returns the address hex string (40 chars) or empty string if not found.
95
65
  */
96
- isTransactionOf(tx: DeprecatedTx, blockchainId: string): boolean;
66
+ getAddressFromEmptySig(sig: string): string;
97
67
  /**
98
- * Check if Output is from PVM.
99
- * Output could be EVM or PVM output.
100
- * @param {DeprecatedOutput} output
101
- * @returns {boolean} output has transferable output structure
68
+ * Computes SHA256 hash
102
69
  */
103
- deprecatedIsTransferableOutput(output: DeprecatedOutput): boolean;
70
+ sha256(buf: Uint8Array): Buffer;
104
71
  /**
105
- * Check if Output is from PVM.
106
- * Output could be EVM or PVM output.
107
- * @param {Output} output
108
- * @returns {boolean} output is TransferableOutput
72
+ * Validates raw transaction format
109
73
  */
110
- isTransferableOutput(output: Output): output is TransferableOutput;
74
+ validateRawTransaction(rawTransaction: string): void;
111
75
  /**
112
- * Return a mapper function to that network address representation.
113
- * @param network required to stringify addresses
114
- * @return mapper function
76
+ * Checks if output is TransferableOutput type
115
77
  */
116
- deprecatedMapOutputToEntry(network: FlareNetwork): (output: DeprecatedOutput) => Entry;
78
+ isTransferableOutput(output: Output): output is TransferableOutput;
117
79
  /**
118
- * Return a mapper function to that network address representation.
119
- * @param network required to stringify addresses
120
- * @return mapper function
80
+ * Maps outputs to entry format
121
81
  */
122
82
  mapOutputToEntry(network: FlareNetwork): (Output: any) => Entry;
123
83
  /**
124
- * remove hex prefix (0x)
125
- * @param hex string
126
- * @returns hex without 0x
84
+ * Removes 0x prefix from hex string
127
85
  */
128
86
  removeHexPrefix(hex: string): string;
129
87
  /**
130
- * Outputidx convert from number (as string) to buffer.
131
- * @param {string} outputidx number
132
- * @return {Buffer} buffer of size 4 with that number value
88
+ * Converts output index to buffer
133
89
  */
134
90
  outputidxNumberToBuffer(outputidx: string): Buffer;
135
91
  /**
136
- * Outputidx buffer to number (as string)
137
- * @param {Buffer} outputidx
138
- * @return {string} outputidx number
92
+ * Converts output index buffer to number string
139
93
  */
140
94
  outputidxBufferToNumber(outputidx: Buffer): string;
141
95
  /**
142
- * CB58 decode function - simple Base58 decode implementation
143
- * @param {string} data - CB58 encoded string
144
- * @returns {Buffer} decoded buffer
96
+ * Helper method to convert address components to string
97
+ */
98
+ addressToString: (hrp: string, prefix: string, address: Buffer) => string;
99
+ /**
100
+ * Decodes a base58 string with checksum to a Buffer
101
+ */
102
+ cb58Decode(str: string): Buffer;
103
+ /**
104
+ * Validates a checksum on a Buffer and returns true if valid, false if not
105
+ */
106
+ private validateChecksum;
107
+ /**
108
+ * Encodes a Buffer as a base58 string with checksum
145
109
  */
146
- cb58Decode(data: string): Buffer;
110
+ cb58Encode(bytes: Buffer): string;
147
111
  /**
148
- * Convert address buffer to bech32 string
149
- * @param {string} hrp - Human readable part
150
- * @param {string} chainid - Chain identifier
151
- * @param {Buffer} addressBuffer - Address buffer
152
- * @returns {string} Address string
112
+ * Adds a checksum to a Buffer and returns the concatenated result
153
113
  */
154
- addressToString(hrp: string, chainid: string, addressBuffer: Buffer): string;
114
+ private addChecksum;
115
+ /**
116
+ * Parse an address string into a Buffer
117
+ * @param address - The address to parse
118
+ * @returns Buffer containing the parsed address
119
+ */
120
+ parseAddress: (address: string) => Buffer;
121
+ stringToAddress: (address: string, hrp?: string) => Buffer;
122
+ flareIdString(value: string): Id;
123
+ /**
124
+ * FlareJS wrapper to recover signature
125
+ * @param network
126
+ * @param message
127
+ * @param signature
128
+ * @return recovered public key
129
+ */
130
+ recoverySignature(network: FlareNetwork, message: Buffer, signature: Buffer): Buffer;
155
131
  }
156
132
  declare const utils: Utils;
157
133
  export default utils;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,KAAK,EAMN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAcjE,qBAAa,KAAM,YAAW,SAAS;IAC9B,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO;IAInF;;;;;OAKG;IACH,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAYnD,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAUrC;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAwC/B,YAAY,QAAS,MAAM,KAAG,MAAM,CAGzC;IAEF;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAiBvC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAInC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAU5E;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAQtG;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAUpF,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAI/B;;;;;OAKG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASpD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAahE;;;;;OAKG;IACH,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAIjE;;;;;OAKG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,kBAAkB;IAIlE;;;;OAIG;IACH,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,KAAK;IA4BtF;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,MAAM,KAAA,KAAK,KAAK;IAmB1D;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOpC;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAWhC;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;CAI7E;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}