@bitgo-beta/sdk-coin-iota 1.0.1-beta.44 → 1.0.1-beta.441

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 (69) hide show
  1. package/README.md +1 -1
  2. package/dist/src/iota.d.ts +134 -23
  3. package/dist/src/iota.d.ts.map +1 -1
  4. package/dist/src/iota.js +286 -46
  5. package/dist/src/lib/constants.d.ts +59 -6
  6. package/dist/src/lib/constants.d.ts.map +1 -1
  7. package/dist/src/lib/constants.js +76 -8
  8. package/dist/src/lib/iface.d.ts +174 -2
  9. package/dist/src/lib/iface.d.ts.map +1 -1
  10. package/dist/src/lib/iface.js +1 -1
  11. package/dist/src/lib/index.d.ts +1 -0
  12. package/dist/src/lib/index.d.ts.map +1 -1
  13. package/dist/src/lib/index.js +4 -2
  14. package/dist/src/lib/keyPair.d.ts +100 -6
  15. package/dist/src/lib/keyPair.d.ts.map +1 -1
  16. package/dist/src/lib/keyPair.js +103 -10
  17. package/dist/src/lib/transaction.d.ts +175 -5
  18. package/dist/src/lib/transaction.d.ts.map +1 -1
  19. package/dist/src/lib/transaction.js +390 -6
  20. package/dist/src/lib/transactionBuilder.d.ts +109 -9
  21. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  22. package/dist/src/lib/transactionBuilder.js +200 -14
  23. package/dist/src/lib/transactionBuilderFactory.d.ts +98 -2
  24. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  25. package/dist/src/lib/transactionBuilderFactory.js +132 -5
  26. package/dist/src/lib/transferBuilder.d.ts +52 -2
  27. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  28. package/dist/src/lib/transferBuilder.js +86 -3
  29. package/dist/src/lib/transferTransaction.d.ts +124 -0
  30. package/dist/src/lib/transferTransaction.d.ts.map +1 -0
  31. package/dist/src/lib/transferTransaction.js +341 -0
  32. package/dist/src/lib/utils.d.ts +108 -7
  33. package/dist/src/lib/utils.d.ts.map +1 -1
  34. package/dist/src/lib/utils.js +146 -11
  35. package/dist/test/resources/iota.d.ts +35 -0
  36. package/dist/test/resources/iota.d.ts.map +1 -0
  37. package/dist/test/resources/iota.js +93 -0
  38. package/dist/test/unit/helpers/testHelpers.d.ts +57 -0
  39. package/dist/test/unit/helpers/testHelpers.d.ts.map +1 -0
  40. package/dist/test/unit/helpers/testHelpers.js +176 -0
  41. package/dist/test/unit/index.d.ts +2 -0
  42. package/dist/test/unit/index.d.ts.map +1 -0
  43. package/dist/test/unit/index.js +16 -0
  44. package/dist/test/unit/iota.d.ts +2 -0
  45. package/dist/test/unit/iota.d.ts.map +1 -0
  46. package/dist/test/unit/iota.js +501 -0
  47. package/dist/test/unit/keyPair.d.ts +2 -0
  48. package/dist/test/unit/keyPair.d.ts.map +1 -0
  49. package/dist/test/unit/keyPair.js +108 -0
  50. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
  51. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  52. package/dist/test/unit/transactionBuilder/transactionBuilder.js +188 -0
  53. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
  54. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
  55. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +178 -0
  56. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  57. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  58. package/dist/test/unit/transactionBuilder/transferBuilder.js +438 -0
  59. package/dist/test/unit/transferTransaction.d.ts +2 -0
  60. package/dist/test/unit/transferTransaction.d.ts.map +1 -0
  61. package/dist/test/unit/transferTransaction.js +218 -0
  62. package/dist/test/unit/utils.d.ts +2 -0
  63. package/dist/test/unit/utils.d.ts.map +1 -0
  64. package/dist/test/unit/utils.js +252 -0
  65. package/dist/tsconfig.tsbuildinfo +1 -0
  66. package/package.json +17 -11
  67. package/.eslintignore +0 -5
  68. package/.mocharc.yml +0 -8
  69. package/CHANGELOG.md +0 -28
@@ -4,41 +4,176 @@ exports.Utils = void 0;
4
4
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
5
  const constants_1 = require("./constants");
6
6
  const ed25519_1 = require("@iota/iota-sdk/keypairs/ed25519");
7
+ const transactions_1 = require("@iota/iota-sdk/transactions");
8
+ const utils_1 = require("@iota/iota-sdk/utils");
9
+ /**
10
+ * Utility class for IOTA-specific validation and conversion operations.
11
+ * Implements the BaseUtils interface and provides methods for validating
12
+ * addresses, keys, signatures, and transaction data.
13
+ */
7
14
  class Utils {
8
- /** @inheritdoc */
15
+ // ========================================
16
+ // Address and ID Validation
17
+ // ========================================
18
+ /**
19
+ * Validates an IOTA address format.
20
+ * IOTA addresses are 64-character hex strings prefixed with '0x'.
21
+ *
22
+ * @param address - The address to validate
23
+ * @returns true if the address is valid
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * utils.isValidAddress('0x1234...') // true
28
+ * utils.isValidAddress('invalid') // false
29
+ * ```
30
+ */
9
31
  isValidAddress(address) {
10
32
  return this.isValidHex(address, constants_1.IOTA_ADDRESS_LENGTH);
11
33
  }
12
- /** @inheritdoc */
34
+ /**
35
+ * Validates an IOTA block ID (digest).
36
+ * Block IDs are 32-byte base58-encoded strings.
37
+ *
38
+ * @param hash - The block ID to validate
39
+ * @returns true if the block ID is valid
40
+ */
13
41
  isValidBlockId(hash) {
14
- return this.isValidHex(hash, constants_1.IOTA_BLOCK_ID_LENGTH);
42
+ return (0, sdk_core_1.isBase58)(hash, constants_1.IOTA_BLOCK_DIGEST_LENGTH);
15
43
  }
16
- /** @inheritdoc */
44
+ /**
45
+ * Validates an IOTA transaction ID (digest).
46
+ * Transaction IDs are 32-byte base58-encoded strings.
47
+ *
48
+ * @param txId - The transaction ID to validate
49
+ * @returns true if the transaction ID is valid
50
+ */
51
+ isValidTransactionId(txId) {
52
+ return (0, sdk_core_1.isBase58)(txId, constants_1.IOTA_TRANSACTION_DIGEST_LENGTH);
53
+ }
54
+ // ========================================
55
+ // Key Validation
56
+ // ========================================
57
+ /**
58
+ * Validates an Ed25519 private key format.
59
+ *
60
+ * @param key - The private key to validate (hex string)
61
+ * @returns true if the private key is valid
62
+ */
17
63
  isValidPrivateKey(key) {
18
64
  return (0, sdk_core_1.isValidEd25519SecretKey)(key);
19
65
  }
20
- /** @inheritdoc */
66
+ /**
67
+ * Validates an Ed25519 public key format.
68
+ *
69
+ * @param key - The public key to validate (hex string)
70
+ * @returns true if the public key is valid
71
+ */
21
72
  isValidPublicKey(key) {
22
73
  return (0, sdk_core_1.isValidEd25519PublicKey)(key);
23
74
  }
24
- /** @inheritdoc */
75
+ // ========================================
76
+ // Signature and Transaction Validation
77
+ // ========================================
78
+ /**
79
+ * Validates an IOTA signature format.
80
+ * Signatures must be base64-encoded and exactly 64 bytes when decoded.
81
+ *
82
+ * @param signature - The base64-encoded signature to validate
83
+ * @returns true if the signature is valid
84
+ */
25
85
  isValidSignature(signature) {
26
- return this.isValidHex(signature, constants_1.IOTA_SIGNATURE_LENGTH);
86
+ try {
87
+ const decodedSignature = (0, utils_1.fromBase64)(signature);
88
+ return decodedSignature.length === constants_1.IOTA_SIGNATURE_LENGTH;
89
+ }
90
+ catch (error) {
91
+ // Invalid base64 or decoding error
92
+ return false;
93
+ }
27
94
  }
28
- /** @inheritdoc */
29
- isValidTransactionId(txId) {
30
- return this.isValidHex(txId, constants_1.IOTA_TRANSACTION_ID_LENGTH);
95
+ /**
96
+ * Validates a raw IOTA transaction format.
97
+ * Attempts to parse the transaction using the IOTA SDK.
98
+ *
99
+ * @param rawTransaction - The raw transaction (base64 string or Uint8Array)
100
+ * @returns true if the transaction can be parsed
101
+ */
102
+ isValidRawTransaction(rawTransaction) {
103
+ try {
104
+ transactions_1.Transaction.from(rawTransaction);
105
+ return true;
106
+ }
107
+ catch (error) {
108
+ return false;
109
+ }
31
110
  }
111
+ // ========================================
112
+ // Conversion and Utility Methods
113
+ // ========================================
114
+ /**
115
+ * Validates a hex string with a specific length requirement.
116
+ * Checks for '0x' or '0X' prefix followed by the specified number of hex characters.
117
+ *
118
+ * @param value - The hex string to validate
119
+ * @param length - The required length (number of hex characters, excluding prefix)
120
+ * @returns true if the hex string matches the format and length
121
+ */
32
122
  isValidHex(value, length) {
33
123
  const regex = new RegExp(`^(0x|0X)[a-fA-F0-9]{${length}}$`);
34
124
  return regex.test(value);
35
125
  }
126
+ /**
127
+ * Converts a value to a base64-encoded string.
128
+ * Handles both Uint8Array and hex string inputs.
129
+ *
130
+ * @param value - The value to encode (Uint8Array or hex string)
131
+ * @returns Base64-encoded string
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * utils.getBase64String(new Uint8Array([1, 2, 3]))
136
+ * utils.getBase64String('0x010203')
137
+ * ```
138
+ */
139
+ getBase64String(value) {
140
+ if (value instanceof Uint8Array) {
141
+ return (0, utils_1.toBase64)(value);
142
+ }
143
+ return (0, utils_1.toBase64)(Buffer.from(value, 'hex'));
144
+ }
145
+ /**
146
+ * Derives an IOTA address from an Ed25519 public key.
147
+ * Uses the IOTA SDK's address derivation algorithm.
148
+ *
149
+ * @param publicKey - The Ed25519 public key (hex string)
150
+ * @returns The derived IOTA address
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * const address = utils.getAddressFromPublicKey('8c26e54e36c902c5...')
155
+ * // Returns: '0x9882188ba3e8070a...'
156
+ * ```
157
+ */
36
158
  getAddressFromPublicKey(publicKey) {
37
159
  const iotaPublicKey = new ed25519_1.Ed25519PublicKey(Buffer.from(publicKey, 'hex'));
38
160
  return iotaPublicKey.toIotaAddress();
39
161
  }
40
162
  }
41
163
  exports.Utils = Utils;
164
+ /**
165
+ * Singleton instance of the Utils class.
166
+ * Use this for all IOTA utility operations throughout the SDK.
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * import utils from './utils';
171
+ *
172
+ * if (utils.isValidAddress(address)) {
173
+ * // Process valid address
174
+ * }
175
+ * ```
176
+ */
42
177
  const utils = new Utils();
43
178
  exports.default = utils;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFtRztBQUNuRywyQ0FLcUI7QUFDckIsNkRBQW1FO0FBRW5FLE1BQWEsS0FBSztJQUNoQixrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLE9BQWU7UUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSwrQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLElBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxnQ0FBb0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsaUJBQWlCLENBQUMsR0FBVztRQUMzQixPQUFPLElBQUEsa0NBQXVCLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sSUFBQSxrQ0FBdUIsRUFBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGdCQUFnQixDQUFDLFNBQWlCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsaUNBQXFCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG9CQUFvQixDQUFDLElBQVk7UUFDL0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxzQ0FBMEIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLE1BQWM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsdUJBQXVCLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDNUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxTQUFpQjtRQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLDBCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBeENELHNCQXdDQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVV0aWxzLCBpc1ZhbGlkRWQyNTUxOVB1YmxpY0tleSwgaXNWYWxpZEVkMjU1MTlTZWNyZXRLZXkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBJT1RBX0FERFJFU1NfTEVOR1RILFxuICBJT1RBX0JMT0NLX0lEX0xFTkdUSCxcbiAgSU9UQV9TSUdOQVRVUkVfTEVOR1RILFxuICBJT1RBX1RSQU5TQUNUSU9OX0lEX0xFTkdUSCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRWQyNTUxOVB1YmxpY0tleSB9IGZyb20gJ0Bpb3RhL2lvdGEtc2RrL2tleXBhaXJzL2VkMjU1MTknO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMgaW1wbGVtZW50cyBCYXNlVXRpbHMge1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChhZGRyZXNzLCBJT1RBX0FERFJFU1NfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KGhhc2gsIElPVEFfQkxPQ0tfSURfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRWQyNTUxOVNlY3JldEtleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRQdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChzaWduYXR1cmUsIElPVEFfU0lHTkFUVVJFX0xFTkdUSCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleCh0eElkLCBJT1RBX1RSQU5TQUNUSU9OX0lEX0xFTkdUSCk7XG4gIH1cblxuICBpc1ZhbGlkSGV4KHZhbHVlOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeKDB4fDBYKVthLWZBLUYwLTldeyR7bGVuZ3RofX0kYCk7XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xuICB9XG5cbiAgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGlvdGFQdWJsaWNLZXkgPSBuZXcgRWQyNTUxOVB1YmxpY0tleShCdWZmZXIuZnJvbShwdWJsaWNLZXksICdoZXgnKSk7XG4gICAgcmV0dXJuIGlvdGFQdWJsaWNLZXkudG9Jb3RhQWRkcmVzcygpO1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUE2RztBQUM3RywyQ0FLcUI7QUFDckIsNkRBQW1FO0FBQ25FLDhEQUE2RTtBQUM3RSxnREFBNEQ7QUFFNUQ7Ozs7R0FJRztBQUNILE1BQWEsS0FBSztJQUNoQiwyQ0FBMkM7SUFDM0MsNEJBQTRCO0lBQzVCLDJDQUEyQztJQUUzQzs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxjQUFjLENBQUMsT0FBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLCtCQUFtQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSxvQ0FBd0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSwwQ0FBOEIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsaUJBQWlCO0lBQ2pCLDJDQUEyQztJQUUzQzs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLEdBQVc7UUFDMUIsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsdUNBQXVDO0lBQ3ZDLDJDQUEyQztJQUUzQzs7Ozs7O09BTUc7SUFDSCxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxJQUFJLENBQUM7WUFDSCxNQUFNLGdCQUFnQixHQUFHLElBQUEsa0JBQVUsRUFBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxpQ0FBcUIsQ0FBQztRQUMzRCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLG1DQUFtQztZQUNuQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gscUJBQXFCLENBQUMsY0FBbUM7UUFDdkQsSUFBSSxDQUFDO1lBQ0gsMEJBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsaUNBQWlDO0lBQ2pDLDJDQUEyQztJQUUzQzs7Ozs7OztPQU9HO0lBQ0gsVUFBVSxDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsZUFBZSxDQUFDLEtBQTBCO1FBQ3hDLElBQUksS0FBSyxZQUFZLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBQSxnQkFBUSxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFDRCxPQUFPLElBQUEsZ0JBQVEsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCx1QkFBdUIsQ0FBQyxTQUFpQjtRQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLDBCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBL0pELHNCQStKQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVV0aWxzLCBpc1ZhbGlkRWQyNTUxOVB1YmxpY0tleSwgaXNWYWxpZEVkMjU1MTlTZWNyZXRLZXksIGlzQmFzZTU4IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgSU9UQV9BRERSRVNTX0xFTkdUSCxcbiAgSU9UQV9CTE9DS19ESUdFU1RfTEVOR1RILFxuICBJT1RBX1NJR05BVFVSRV9MRU5HVEgsXG4gIElPVEFfVFJBTlNBQ1RJT05fRElHRVNUX0xFTkdUSCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRWQyNTUxOVB1YmxpY0tleSB9IGZyb20gJ0Bpb3RhL2lvdGEtc2RrL2tleXBhaXJzL2VkMjU1MTknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgSW90YVRyYW5zYWN0aW9uIH0gZnJvbSAnQGlvdGEvaW90YS1zZGsvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IHRvQmFzZTY0LCBmcm9tQmFzZTY0IH0gZnJvbSAnQGlvdGEvaW90YS1zZGsvdXRpbHMnO1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIElPVEEtc3BlY2lmaWMgdmFsaWRhdGlvbiBhbmQgY29udmVyc2lvbiBvcGVyYXRpb25zLlxuICogSW1wbGVtZW50cyB0aGUgQmFzZVV0aWxzIGludGVyZmFjZSBhbmQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgdmFsaWRhdGluZ1xuICogYWRkcmVzc2VzLCBrZXlzLCBzaWduYXR1cmVzLCBhbmQgdHJhbnNhY3Rpb24gZGF0YS5cbiAqL1xuZXhwb3J0IGNsYXNzIFV0aWxzIGltcGxlbWVudHMgQmFzZVV0aWxzIHtcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBBZGRyZXNzIGFuZCBJRCBWYWxpZGF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGFuIElPVEEgYWRkcmVzcyBmb3JtYXQuXG4gICAqIElPVEEgYWRkcmVzc2VzIGFyZSA2NC1jaGFyYWN0ZXIgaGV4IHN0cmluZ3MgcHJlZml4ZWQgd2l0aCAnMHgnLlxuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyAtIFRoZSBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGFkZHJlc3MgaXMgdmFsaWRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB1dGlscy5pc1ZhbGlkQWRkcmVzcygnMHgxMjM0Li4uJykgLy8gdHJ1ZVxuICAgKiB1dGlscy5pc1ZhbGlkQWRkcmVzcygnaW52YWxpZCcpIC8vIGZhbHNlXG4gICAqIGBgYFxuICAgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChhZGRyZXNzLCBJT1RBX0FERFJFU1NfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW4gSU9UQSBibG9jayBJRCAoZGlnZXN0KS5cbiAgICogQmxvY2sgSURzIGFyZSAzMi1ieXRlIGJhc2U1OC1lbmNvZGVkIHN0cmluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBoYXNoIC0gVGhlIGJsb2NrIElEIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGJsb2NrIElEIGlzIHZhbGlkXG4gICAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNCYXNlNTgoaGFzaCwgSU9UQV9CTE9DS19ESUdFU1RfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW4gSU9UQSB0cmFuc2FjdGlvbiBJRCAoZGlnZXN0KS5cbiAgICogVHJhbnNhY3Rpb24gSURzIGFyZSAzMi1ieXRlIGJhc2U1OC1lbmNvZGVkIHN0cmluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB0eElkIC0gVGhlIHRyYW5zYWN0aW9uIElEIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHRyYW5zYWN0aW9uIElEIGlzIHZhbGlkXG4gICAqL1xuICBpc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNCYXNlNTgodHhJZCwgSU9UQV9UUkFOU0FDVElPTl9ESUdFU1RfTEVOR1RIKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gS2V5IFZhbGlkYXRpb25cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW4gRWQyNTUxOSBwcml2YXRlIGtleSBmb3JtYXQuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUgcHJpdmF0ZSBrZXkgdG8gdmFsaWRhdGUgKGhleCBzdHJpbmcpXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHByaXZhdGUga2V5IGlzIHZhbGlkXG4gICAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRWQyNTUxOVNlY3JldEtleShrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbiBFZDI1NTE5IHB1YmxpYyBrZXkgZm9ybWF0LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIHB1YmxpYyBrZXkgdG8gdmFsaWRhdGUgKGhleCBzdHJpbmcpXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHB1YmxpYyBrZXkgaXMgdmFsaWRcbiAgICovXG4gIGlzVmFsaWRQdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXkoa2V5KTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU2lnbmF0dXJlIGFuZCBUcmFuc2FjdGlvbiBWYWxpZGF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGFuIElPVEEgc2lnbmF0dXJlIGZvcm1hdC5cbiAgICogU2lnbmF0dXJlcyBtdXN0IGJlIGJhc2U2NC1lbmNvZGVkIGFuZCBleGFjdGx5IDY0IGJ5dGVzIHdoZW4gZGVjb2RlZC5cbiAgICpcbiAgICogQHBhcmFtIHNpZ25hdHVyZSAtIFRoZSBiYXNlNjQtZW5jb2RlZCBzaWduYXR1cmUgdG8gdmFsaWRhdGVcbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgc2lnbmF0dXJlIGlzIHZhbGlkXG4gICAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWRTaWduYXR1cmUgPSBmcm9tQmFzZTY0KHNpZ25hdHVyZSk7XG4gICAgICByZXR1cm4gZGVjb2RlZFNpZ25hdHVyZS5sZW5ndGggPT09IElPVEFfU0lHTkFUVVJFX0xFTkdUSDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSW52YWxpZCBiYXNlNjQgb3IgZGVjb2RpbmcgZXJyb3JcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGEgcmF3IElPVEEgdHJhbnNhY3Rpb24gZm9ybWF0LlxuICAgKiBBdHRlbXB0cyB0byBwYXJzZSB0aGUgdHJhbnNhY3Rpb24gdXNpbmcgdGhlIElPVEEgU0RLLlxuICAgKlxuICAgKiBAcGFyYW0gcmF3VHJhbnNhY3Rpb24gLSBUaGUgcmF3IHRyYW5zYWN0aW9uIChiYXNlNjQgc3RyaW5nIG9yIFVpbnQ4QXJyYXkpXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHRyYW5zYWN0aW9uIGNhbiBiZSBwYXJzZWRcbiAgICovXG4gIGlzVmFsaWRSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nIHwgVWludDhBcnJheSk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBJb3RhVHJhbnNhY3Rpb24uZnJvbShyYXdUcmFuc2FjdGlvbik7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQ29udmVyc2lvbiBhbmQgVXRpbGl0eSBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGEgaGV4IHN0cmluZyB3aXRoIGEgc3BlY2lmaWMgbGVuZ3RoIHJlcXVpcmVtZW50LlxuICAgKiBDaGVja3MgZm9yICcweCcgb3IgJzBYJyBwcmVmaXggZm9sbG93ZWQgYnkgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaGV4IGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBoZXggc3RyaW5nIHRvIHZhbGlkYXRlXG4gICAqIEBwYXJhbSBsZW5ndGggLSBUaGUgcmVxdWlyZWQgbGVuZ3RoIChudW1iZXIgb2YgaGV4IGNoYXJhY3RlcnMsIGV4Y2x1ZGluZyBwcmVmaXgpXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGhleCBzdHJpbmcgbWF0Y2hlcyB0aGUgZm9ybWF0IGFuZCBsZW5ndGhcbiAgICovXG4gIGlzVmFsaWRIZXgodmFsdWU6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYF4oMHh8MFgpW2EtZkEtRjAtOV17JHtsZW5ndGh9fSRgKTtcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSB2YWx1ZSB0byBhIGJhc2U2NC1lbmNvZGVkIHN0cmluZy5cbiAgICogSGFuZGxlcyBib3RoIFVpbnQ4QXJyYXkgYW5kIGhleCBzdHJpbmcgaW5wdXRzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gZW5jb2RlIChVaW50OEFycmF5IG9yIGhleCBzdHJpbmcpXG4gICAqIEByZXR1cm5zIEJhc2U2NC1lbmNvZGVkIHN0cmluZ1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHV0aWxzLmdldEJhc2U2NFN0cmluZyhuZXcgVWludDhBcnJheShbMSwgMiwgM10pKVxuICAgKiB1dGlscy5nZXRCYXNlNjRTdHJpbmcoJzB4MDEwMjAzJylcbiAgICogYGBgXG4gICAqL1xuICBnZXRCYXNlNjRTdHJpbmcodmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgIHJldHVybiB0b0Jhc2U2NCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0b0Jhc2U2NChCdWZmZXIuZnJvbSh2YWx1ZSwgJ2hleCcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXJpdmVzIGFuIElPVEEgYWRkcmVzcyBmcm9tIGFuIEVkMjU1MTkgcHVibGljIGtleS5cbiAgICogVXNlcyB0aGUgSU9UQSBTREsncyBhZGRyZXNzIGRlcml2YXRpb24gYWxnb3JpdGhtLlxuICAgKlxuICAgKiBAcGFyYW0gcHVibGljS2V5IC0gVGhlIEVkMjU1MTkgcHVibGljIGtleSAoaGV4IHN0cmluZylcbiAgICogQHJldHVybnMgVGhlIGRlcml2ZWQgSU9UQSBhZGRyZXNzXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgYWRkcmVzcyA9IHV0aWxzLmdldEFkZHJlc3NGcm9tUHVibGljS2V5KCc4YzI2ZTU0ZTM2YzkwMmM1Li4uJylcbiAgICogLy8gUmV0dXJuczogJzB4OTg4MjE4OGJhM2U4MDcwYS4uLidcbiAgICogYGBgXG4gICAqL1xuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaW90YVB1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KEJ1ZmZlci5mcm9tKHB1YmxpY0tleSwgJ2hleCcpKTtcbiAgICByZXR1cm4gaW90YVB1YmxpY0tleS50b0lvdGFBZGRyZXNzKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBTaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIFV0aWxzIGNsYXNzLlxuICogVXNlIHRoaXMgZm9yIGFsbCBJT1RBIHV0aWxpdHkgb3BlcmF0aW9ucyB0aHJvdWdob3V0IHRoZSBTREsuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbiAqXG4gKiBpZiAodXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAqICAgLy8gUHJvY2VzcyB2YWxpZCBhZGRyZXNzXG4gKiB9XG4gKiBgYGBcbiAqL1xuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { TransactionRecipient } from '@bitgo-beta/sdk-core';
2
+ import { GasData, TransactionObjectInput } from '../../src/lib/iface';
3
+ export declare const AMOUNT = 1000;
4
+ export declare const GAS_BUDGET = 5000000;
5
+ export declare const GAS_PRICE = 1000;
6
+ export declare const addresses: {
7
+ validAddresses: string[];
8
+ invalidAddresses: string[];
9
+ };
10
+ export declare const sender: {
11
+ address: string;
12
+ publicKey: string;
13
+ };
14
+ export declare const gasSponsor: {
15
+ address: string;
16
+ publicKey: string;
17
+ };
18
+ export declare const recipients: TransactionRecipient[];
19
+ export declare const gasPaymentObjects: TransactionObjectInput[];
20
+ export declare const paymentObjects: TransactionObjectInput[];
21
+ export declare const gasData: GasData;
22
+ export declare const generateObjects: (count: number) => TransactionObjectInput[];
23
+ export declare const testSignature: {
24
+ signature: Buffer<ArrayBuffer>;
25
+ publicKey: {
26
+ pub: string;
27
+ };
28
+ };
29
+ export declare const testGasSponsorSignature: {
30
+ signature: Buffer<ArrayBuffer>;
31
+ publicKey: {
32
+ pub: string;
33
+ };
34
+ };
35
+ //# sourceMappingURL=iota.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iota.d.ts","sourceRoot":"","sources":["../../../test/resources/iota.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,eAAO,MAAM,MAAM,OAAO,CAAC;AAC3B,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,SAAS,OAAO,CAAC;AAE9B,eAAO,MAAM,SAAS;;;CAWrB,CAAC;AAEF,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,UAAU;;;CAGtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,oBAAoB,EAS5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,sBAAsB,EAWrD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,sBAAsB,EAWlD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,OAIrB,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,sBAAsB,EAMrE,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;CAWzB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;CAWnC,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testGasSponsorSignature = exports.testSignature = exports.generateObjects = exports.gasData = exports.paymentObjects = exports.gasPaymentObjects = exports.recipients = exports.gasSponsor = exports.sender = exports.addresses = exports.GAS_PRICE = exports.GAS_BUDGET = exports.AMOUNT = void 0;
4
+ exports.AMOUNT = 1000;
5
+ exports.GAS_BUDGET = 5000000;
6
+ exports.GAS_PRICE = 1000;
7
+ exports.addresses = {
8
+ validAddresses: [
9
+ '0xda97e166d40fa6a0c949b6aeb862e391c29139b563ae0430b2419c589a02a6e0',
10
+ '0x0502b39ec0b82c10c64a07e969ee1140e67d8e0c0fc0c0f6319fe7e47dbb0ab5',
11
+ '0xf941ae3cbe5645dccc15da8346b533f7f91f202089a5521653c062b2ff10b304',
12
+ ],
13
+ invalidAddresses: [
14
+ 'randomString',
15
+ '0xc4173a804406a365e69dfb297ddfgsdcvf',
16
+ '5ne7phA48Jrvpn39AtupB8ZkCCAy8gLTfpGihZPuDqen',
17
+ ],
18
+ };
19
+ exports.sender = {
20
+ address: '0x9882188ba3e8070a9bb06ae9446cf607914ee8ee58ed8306a3e3afff5a1bbb71',
21
+ publicKey: '8c26e54e36c902c5452e8b44e28abc5aaa6c3faaf12b4c0e8a38b4c9da0c0a6a',
22
+ };
23
+ exports.gasSponsor = {
24
+ address: '0x77291376d885efa752ed921b48d1aa1a65a389bf214ec0eab8b31970c9ab3618',
25
+ publicKey: '4c13f955cee8f80d5d95577b07f624b42322d8ae1fadfc6a1b916828095247a2',
26
+ };
27
+ exports.recipients = [
28
+ {
29
+ address: exports.addresses.validAddresses[0],
30
+ amount: exports.AMOUNT.toString(),
31
+ },
32
+ {
33
+ address: exports.addresses.validAddresses[1],
34
+ amount: (exports.AMOUNT * 2).toString(),
35
+ },
36
+ ];
37
+ exports.gasPaymentObjects = [
38
+ {
39
+ objectId: '0x09c40522aed54bcecfa483605c5da5821b171ac1aa1b615971fb8dfe27ed13fd',
40
+ version: '1105',
41
+ digest: 'DGVhYjk6YHwdPdZBgBN8czavy8LvbrshkbxF963EW7mB',
42
+ },
43
+ {
44
+ objectId: '0x27dd00e7fccdc87b4d95b6384b739119b91f2a81a16baedea7f4e0068e529437',
45
+ version: '217',
46
+ digest: 'DoJwXuz9oU5Y5v5vBRiTgisVTQuZQLmHZWeqJzzD5QUE',
47
+ },
48
+ ];
49
+ exports.paymentObjects = [
50
+ {
51
+ objectId: '0x57bedec931e87beebebd5a375fae5e969965dba710e3c8652814ab1750b9e301',
52
+ version: '32',
53
+ digest: '82LZWnJwxRpZPLyFvPdLWBTyEu9J5aEZQFrTva9QPLzJ',
54
+ },
55
+ {
56
+ objectId: '0xa90fdca6a9b7e8363d5825fb41c0456fc85ab3f47ddf5bbc19f320c82acbc62a',
57
+ version: '33',
58
+ digest: 'EFcXPoBtcHKZK3NhBHULZASAu61aZb5ab9JCXKEb5eMC',
59
+ },
60
+ ];
61
+ exports.gasData = {
62
+ gasBudget: exports.GAS_BUDGET,
63
+ gasPrice: exports.GAS_PRICE,
64
+ gasPaymentObjects: exports.gasPaymentObjects,
65
+ };
66
+ const generateObjects = (count) => {
67
+ return Array.from({ length: count }, (_, i) => ({
68
+ objectId: `0x${i.toString(16).padStart(64, '0')}`,
69
+ version: (i + 1).toString(),
70
+ digest: `digest${i}`,
71
+ }));
72
+ };
73
+ exports.generateObjects = generateObjects;
74
+ // Test signature data for signature serialization tests
75
+ exports.testSignature = {
76
+ // 64-byte signature (hex string)
77
+ signature: Buffer.from('a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2' +
78
+ 'c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4', 'hex'),
79
+ // Public key (already defined in sender)
80
+ publicKey: {
81
+ pub: exports.sender.publicKey,
82
+ },
83
+ };
84
+ exports.testGasSponsorSignature = {
85
+ // 64-byte signature (hex string)
86
+ signature: Buffer.from('d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5' +
87
+ 'f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7', 'hex'),
88
+ // Public key (already defined in gasSponsor)
89
+ publicKey: {
90
+ pub: exports.gasSponsor.publicKey,
91
+ },
92
+ };
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW90YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvcmVzb3VyY2VzL2lvdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR2EsUUFBQSxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2QsUUFBQSxVQUFVLEdBQUcsT0FBTyxDQUFDO0FBQ3JCLFFBQUEsU0FBUyxHQUFHLElBQUksQ0FBQztBQUVqQixRQUFBLFNBQVMsR0FBRztJQUN2QixjQUFjLEVBQUU7UUFDZCxvRUFBb0U7UUFDcEUsb0VBQW9FO1FBQ3BFLG9FQUFvRTtLQUNyRTtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLGNBQWM7UUFDZCxzQ0FBc0M7UUFDdEMsOENBQThDO0tBQy9DO0NBQ0YsQ0FBQztBQUVXLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLE9BQU8sRUFBRSxvRUFBb0U7SUFDN0UsU0FBUyxFQUFFLGtFQUFrRTtDQUM5RSxDQUFDO0FBRVcsUUFBQSxVQUFVLEdBQUc7SUFDeEIsT0FBTyxFQUFFLG9FQUFvRTtJQUM3RSxTQUFTLEVBQUUsa0VBQWtFO0NBQzlFLENBQUM7QUFFVyxRQUFBLFVBQVUsR0FBMkI7SUFDaEQ7UUFDRSxPQUFPLEVBQUUsaUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxjQUFNLENBQUMsUUFBUSxFQUFFO0tBQzFCO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsaUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxDQUFDLGNBQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7S0FDaEM7Q0FDRixDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBNkI7SUFDekQ7UUFDRSxRQUFRLEVBQUUsb0VBQW9FO1FBQzlFLE9BQU8sRUFBRSxNQUFNO1FBQ2YsTUFBTSxFQUFFLDhDQUE4QztLQUN2RDtJQUNEO1FBQ0UsUUFBUSxFQUFFLG9FQUFvRTtRQUM5RSxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSw4Q0FBOEM7S0FDdkQ7Q0FDRixDQUFDO0FBRVcsUUFBQSxjQUFjLEdBQTZCO0lBQ3REO1FBQ0UsUUFBUSxFQUFFLG9FQUFvRTtRQUM5RSxPQUFPLEVBQUUsSUFBSTtRQUNiLE1BQU0sRUFBRSw4Q0FBOEM7S0FDdkQ7SUFDRDtRQUNFLFFBQVEsRUFBRSxvRUFBb0U7UUFDOUUsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsOENBQThDO0tBQ3ZEO0NBQ0YsQ0FBQztBQUVXLFFBQUEsT0FBTyxHQUFZO0lBQzlCLFNBQVMsRUFBRSxrQkFBVTtJQUNyQixRQUFRLEVBQUUsaUJBQVM7SUFDbkIsaUJBQWlCLEVBQUUseUJBQWlCO0NBQ3JDLENBQUM7QUFFSyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWEsRUFBNEIsRUFBRTtJQUN6RSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNqRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQzNCLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRTtLQUNyQixDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQU5XLFFBQUEsZUFBZSxtQkFNMUI7QUFFRix3REFBd0Q7QUFDM0MsUUFBQSxhQUFhLEdBQUc7SUFDM0IsaUNBQWlDO0lBQ2pDLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUNwQixrRUFBa0U7UUFDaEUsa0VBQWtFLEVBQ3BFLEtBQUssQ0FDTjtJQUNELHlDQUF5QztJQUN6QyxTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsY0FBTSxDQUFDLFNBQVM7S0FDdEI7Q0FDRixDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxpQ0FBaUM7SUFDakMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQ3BCLGtFQUFrRTtRQUNoRSxrRUFBa0UsRUFDcEUsS0FBSyxDQUNOO0lBQ0QsNkNBQTZDO0lBQzdDLFNBQVMsRUFBRTtRQUNULEdBQUcsRUFBRSxrQkFBVSxDQUFDLFNBQVM7S0FDMUI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNpcGllbnQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBHYXNEYXRhLCBUcmFuc2FjdGlvbk9iamVjdElucHV0IH0gZnJvbSAnLi4vLi4vc3JjL2xpYi9pZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBBTU9VTlQgPSAxMDAwO1xuZXhwb3J0IGNvbnN0IEdBU19CVURHRVQgPSA1MDAwMDAwO1xuZXhwb3J0IGNvbnN0IEdBU19QUklDRSA9IDEwMDA7XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzZXMgPSB7XG4gIHZhbGlkQWRkcmVzc2VzOiBbXG4gICAgJzB4ZGE5N2UxNjZkNDBmYTZhMGM5NDliNmFlYjg2MmUzOTFjMjkxMzliNTYzYWUwNDMwYjI0MTljNTg5YTAyYTZlMCcsXG4gICAgJzB4MDUwMmIzOWVjMGI4MmMxMGM2NGEwN2U5NjllZTExNDBlNjdkOGUwYzBmYzBjMGY2MzE5ZmU3ZTQ3ZGJiMGFiNScsXG4gICAgJzB4Zjk0MWFlM2NiZTU2NDVkY2NjMTVkYTgzNDZiNTMzZjdmOTFmMjAyMDg5YTU1MjE2NTNjMDYyYjJmZjEwYjMwNCcsXG4gIF0sXG4gIGludmFsaWRBZGRyZXNzZXM6IFtcbiAgICAncmFuZG9tU3RyaW5nJyxcbiAgICAnMHhjNDE3M2E4MDQ0MDZhMzY1ZTY5ZGZiMjk3ZGRmZ3NkY3ZmJyxcbiAgICAnNW5lN3BoQTQ4SnJ2cG4zOUF0dXBCOFprQ0NBeThnTFRmcEdpaFpQdURxZW4nLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IHNlbmRlciA9IHtcbiAgYWRkcmVzczogJzB4OTg4MjE4OGJhM2U4MDcwYTliYjA2YWU5NDQ2Y2Y2MDc5MTRlZThlZTU4ZWQ4MzA2YTNlM2FmZmY1YTFiYmI3MScsXG4gIHB1YmxpY0tleTogJzhjMjZlNTRlMzZjOTAyYzU0NTJlOGI0NGUyOGFiYzVhYWE2YzNmYWFmMTJiNGMwZThhMzhiNGM5ZGEwYzBhNmEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGdhc1Nwb25zb3IgPSB7XG4gIGFkZHJlc3M6ICcweDc3MjkxMzc2ZDg4NWVmYTc1MmVkOTIxYjQ4ZDFhYTFhNjVhMzg5YmYyMTRlYzBlYWI4YjMxOTcwYzlhYjM2MTgnLFxuICBwdWJsaWNLZXk6ICc0YzEzZjk1NWNlZThmODBkNWQ5NTU3N2IwN2Y2MjRiNDIzMjJkOGFlMWZhZGZjNmExYjkxNjgyODA5NTI0N2EyJyxcbn07XG5cbmV4cG9ydCBjb25zdCByZWNpcGllbnRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW1xuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMV0sXG4gICAgYW1vdW50OiAoQU1PVU5UICogMikudG9TdHJpbmcoKSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBnYXNQYXltZW50T2JqZWN0czogVHJhbnNhY3Rpb25PYmplY3RJbnB1dFtdID0gW1xuICB7XG4gICAgb2JqZWN0SWQ6ICcweDA5YzQwNTIyYWVkNTRiY2VjZmE0ODM2MDVjNWRhNTgyMWIxNzFhYzFhYTFiNjE1OTcxZmI4ZGZlMjdlZDEzZmQnLFxuICAgIHZlcnNpb246ICcxMTA1JyxcbiAgICBkaWdlc3Q6ICdER1ZoWWprNllId2RQZFpCZ0JOOGN6YXZ5OEx2YnJzaGtieEY5NjNFVzdtQicsXG4gIH0sXG4gIHtcbiAgICBvYmplY3RJZDogJzB4MjdkZDAwZTdmY2NkYzg3YjRkOTViNjM4NGI3MzkxMTliOTFmMmE4MWExNmJhZWRlYTdmNGUwMDY4ZTUyOTQzNycsXG4gICAgdmVyc2lvbjogJzIxNycsXG4gICAgZGlnZXN0OiAnRG9Kd1h1ejlvVTVZNXY1dkJSaVRnaXNWVFF1WlFMbUhaV2VxSnp6RDVRVUUnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IHBheW1lbnRPYmplY3RzOiBUcmFuc2FjdGlvbk9iamVjdElucHV0W10gPSBbXG4gIHtcbiAgICBvYmplY3RJZDogJzB4NTdiZWRlYzkzMWU4N2JlZWJlYmQ1YTM3NWZhZTVlOTY5OTY1ZGJhNzEwZTNjODY1MjgxNGFiMTc1MGI5ZTMwMScsXG4gICAgdmVyc2lvbjogJzMyJyxcbiAgICBkaWdlc3Q6ICc4MkxaV25Kd3hScFpQTHlGdlBkTFdCVHlFdTlKNWFFWlFGclR2YTlRUEx6SicsXG4gIH0sXG4gIHtcbiAgICBvYmplY3RJZDogJzB4YTkwZmRjYTZhOWI3ZTgzNjNkNTgyNWZiNDFjMDQ1NmZjODVhYjNmNDdkZGY1YmJjMTlmMzIwYzgyYWNiYzYyYScsXG4gICAgdmVyc2lvbjogJzMzJyxcbiAgICBkaWdlc3Q6ICdFRmNYUG9CdGNIS1pLM05oQkhVTFpBU0F1NjFhWmI1YWI5SkNYS0ViNWVNQycsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZ2FzRGF0YTogR2FzRGF0YSA9IHtcbiAgZ2FzQnVkZ2V0OiBHQVNfQlVER0VULFxuICBnYXNQcmljZTogR0FTX1BSSUNFLFxuICBnYXNQYXltZW50T2JqZWN0czogZ2FzUGF5bWVudE9iamVjdHMsXG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVPYmplY3RzID0gKGNvdW50OiBudW1iZXIpOiBUcmFuc2FjdGlvbk9iamVjdElucHV0W10gPT4ge1xuICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogY291bnQgfSwgKF8sIGkpID0+ICh7XG4gICAgb2JqZWN0SWQ6IGAweCR7aS50b1N0cmluZygxNikucGFkU3RhcnQoNjQsICcwJyl9YCxcbiAgICB2ZXJzaW9uOiAoaSArIDEpLnRvU3RyaW5nKCksXG4gICAgZGlnZXN0OiBgZGlnZXN0JHtpfWAsXG4gIH0pKTtcbn07XG5cbi8vIFRlc3Qgc2lnbmF0dXJlIGRhdGEgZm9yIHNpZ25hdHVyZSBzZXJpYWxpemF0aW9uIHRlc3RzXG5leHBvcnQgY29uc3QgdGVzdFNpZ25hdHVyZSA9IHtcbiAgLy8gNjQtYnl0ZSBzaWduYXR1cmUgKGhleCBzdHJpbmcpXG4gIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oXG4gICAgJ2ExYjJjM2Q0ZTVmNmE3YjhjOWQwZTFmMmEzYjRjNWQ2ZTdmOGE5YjBjMWQyZTNmNGE1YjZjN2Q4ZTlmMGExYjInICtcbiAgICAgICdjM2Q0ZTVmNmE3YjhjOWQwZTFmMmEzYjRjNWQ2ZTdmOGE5YjBjMWQyZTNmNGE1YjZjN2Q4ZTlmMGExYjJjM2Q0JyxcbiAgICAnaGV4J1xuICApLFxuICAvLyBQdWJsaWMga2V5IChhbHJlYWR5IGRlZmluZWQgaW4gc2VuZGVyKVxuICBwdWJsaWNLZXk6IHtcbiAgICBwdWI6IHNlbmRlci5wdWJsaWNLZXksXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgdGVzdEdhc1Nwb25zb3JTaWduYXR1cmUgPSB7XG4gIC8vIDY0LWJ5dGUgc2lnbmF0dXJlIChoZXggc3RyaW5nKVxuICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKFxuICAgICdkNGU1ZjZhN2I4YzlkMGUxZjJhM2I0YzVkNmU3ZjhhOWIwYzFkMmUzZjRhNWI2YzdkOGU5ZjBhMWIyYzNkNGU1JyArXG4gICAgICAnZjZhN2I4YzlkMGUxZjJhM2I0YzVkNmU3ZjhhOWIwYzFkMmUzZjRhNWI2YzdkOGU5ZjBhMWIyYzNkNGU1ZjZhNycsXG4gICAgJ2hleCdcbiAgKSxcbiAgLy8gUHVibGljIGtleSAoYWxyZWFkeSBkZWZpbmVkIGluIGdhc1Nwb25zb3IpXG4gIHB1YmxpY0tleToge1xuICAgIHB1YjogZ2FzU3BvbnNvci5wdWJsaWNLZXksXG4gIH0sXG59O1xuIl19
@@ -0,0 +1,57 @@
1
+ import { TransactionBuilderFactory, TransferBuilder, TransferTransaction } from '../../../src';
2
+ import * as testData from '../../resources/iota';
3
+ import { TransactionRecipient } from '@bitgo-beta/sdk-core';
4
+ import { TransactionObjectInput } from '../../../src/lib/iface';
5
+ /**
6
+ * Creates a basic transfer builder with sender, recipients, and payment objects.
7
+ */
8
+ export declare function createBasicTransferBuilder(): TransferBuilder;
9
+ /**
10
+ * Creates a transfer builder with gas data for real (non-simulate) transactions.
11
+ */
12
+ export declare function createTransferBuilderWithGas(): TransferBuilder;
13
+ /**
14
+ * Creates a transfer builder with a gas sponsor.
15
+ */
16
+ export declare function createTransferBuilderWithSponsor(): TransferBuilder;
17
+ /**
18
+ * Creates a builder with custom recipients.
19
+ */
20
+ export declare function createBuilderWithRecipients(recipients: TransactionRecipient[]): TransferBuilder;
21
+ /**
22
+ * Creates a builder that uses gas objects for payment (no payment objects).
23
+ */
24
+ export declare function createBuilderWithGasObjectsOnly(): TransferBuilder;
25
+ /**
26
+ * Creates a builder with custom gas objects.
27
+ */
28
+ export declare function createBuilderWithGasObjects(gasObjects: TransactionObjectInput[]): TransferBuilder;
29
+ /**
30
+ * Asserts that a transaction has the expected basic properties.
31
+ */
32
+ export declare function assertBasicTransactionProperties(tx: TransferTransaction): void;
33
+ /**
34
+ * Asserts that a transaction has valid gas data.
35
+ */
36
+ export declare function assertGasData(tx: TransferTransaction): void;
37
+ /**
38
+ * Asserts that a transaction has the expected inputs and outputs.
39
+ */
40
+ export declare function assertInputsAndOutputs(tx: TransferTransaction, expectedRecipients: TransactionRecipient[]): void;
41
+ /**
42
+ * Verifies that a raw transaction is valid.
43
+ */
44
+ export declare function assertValidRawTransaction(tx: TransferTransaction): Promise<void>;
45
+ /**
46
+ * Creates an array of recipients with the specified count and amount.
47
+ */
48
+ export declare function createRecipients(count: number, amount?: string): TransactionRecipient[];
49
+ /**
50
+ * Gets the transaction factory instance.
51
+ */
52
+ export declare function getFactory(): TransactionBuilderFactory;
53
+ /**
54
+ * Test data re-exports for convenience.
55
+ */
56
+ export { testData };
57
+ //# sourceMappingURL=testHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testHelpers.d.ts","sourceRoot":"","sources":["../../../../test/unit/helpers/testHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAUhE;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,eAAe,CAM5D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,eAAe,CAE9D;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,eAAe,CAElE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,oBAAoB,EAAE,GAAG,eAAe,CAO/F;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,eAAe,CAMjE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,sBAAsB,EAAE,GAAG,eAAe,CAMjG;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI,CAK9E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI,CAI3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAkBhH;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAKvF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,yBAAyB,CAEtD;AAED;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.testData = void 0;
40
+ exports.createBasicTransferBuilder = createBasicTransferBuilder;
41
+ exports.createTransferBuilderWithGas = createTransferBuilderWithGas;
42
+ exports.createTransferBuilderWithSponsor = createTransferBuilderWithSponsor;
43
+ exports.createBuilderWithRecipients = createBuilderWithRecipients;
44
+ exports.createBuilderWithGasObjectsOnly = createBuilderWithGasObjectsOnly;
45
+ exports.createBuilderWithGasObjects = createBuilderWithGasObjects;
46
+ exports.assertBasicTransactionProperties = assertBasicTransactionProperties;
47
+ exports.assertGasData = assertGasData;
48
+ exports.assertInputsAndOutputs = assertInputsAndOutputs;
49
+ exports.assertValidRawTransaction = assertValidRawTransaction;
50
+ exports.createRecipients = createRecipients;
51
+ exports.getFactory = getFactory;
52
+ const statics_1 = require("@bitgo-beta/statics");
53
+ const src_1 = require("../../../src");
54
+ const testData = __importStar(require("../../resources/iota"));
55
+ exports.testData = testData;
56
+ const should_1 = __importDefault(require("should"));
57
+ /**
58
+ * Common test helpers and fixtures for IOTA transaction tests.
59
+ * Reduces duplication and improves test readability.
60
+ */
61
+ const factory = new src_1.TransactionBuilderFactory(statics_1.coins.get('tiota'));
62
+ /**
63
+ * Creates a basic transfer builder with sender, recipients, and payment objects.
64
+ */
65
+ function createBasicTransferBuilder() {
66
+ return factory
67
+ .getTransferBuilder()
68
+ .sender(testData.sender.address)
69
+ .recipients(testData.recipients)
70
+ .paymentObjects(testData.paymentObjects);
71
+ }
72
+ /**
73
+ * Creates a transfer builder with gas data for real (non-simulate) transactions.
74
+ */
75
+ function createTransferBuilderWithGas() {
76
+ return createBasicTransferBuilder().gasData(testData.gasData);
77
+ }
78
+ /**
79
+ * Creates a transfer builder with a gas sponsor.
80
+ */
81
+ function createTransferBuilderWithSponsor() {
82
+ return createTransferBuilderWithGas().gasSponsor(testData.gasSponsor.address);
83
+ }
84
+ /**
85
+ * Creates a builder with custom recipients.
86
+ */
87
+ function createBuilderWithRecipients(recipients) {
88
+ return factory
89
+ .getTransferBuilder()
90
+ .sender(testData.sender.address)
91
+ .recipients(recipients)
92
+ .paymentObjects(testData.paymentObjects)
93
+ .gasData(testData.gasData);
94
+ }
95
+ /**
96
+ * Creates a builder that uses gas objects for payment (no payment objects).
97
+ */
98
+ function createBuilderWithGasObjectsOnly() {
99
+ return factory
100
+ .getTransferBuilder()
101
+ .sender(testData.sender.address)
102
+ .recipients(testData.recipients)
103
+ .gasData(testData.gasData);
104
+ }
105
+ /**
106
+ * Creates a builder with custom gas objects.
107
+ */
108
+ function createBuilderWithGasObjects(gasObjects) {
109
+ return factory.getTransferBuilder().sender(testData.sender.address).recipients(testData.recipients).gasData({
110
+ gasBudget: testData.GAS_BUDGET,
111
+ gasPrice: testData.GAS_PRICE,
112
+ gasPaymentObjects: gasObjects,
113
+ });
114
+ }
115
+ /**
116
+ * Asserts that a transaction has the expected basic properties.
117
+ */
118
+ function assertBasicTransactionProperties(tx) {
119
+ should_1.default.exist(tx);
120
+ should_1.default.equal(tx.sender, testData.sender.address);
121
+ should_1.default.deepEqual(tx.recipients, testData.recipients);
122
+ should_1.default.deepEqual(tx.paymentObjects, testData.paymentObjects);
123
+ }
124
+ /**
125
+ * Asserts that a transaction has valid gas data.
126
+ */
127
+ function assertGasData(tx) {
128
+ should_1.default.equal(tx.gasBudget, testData.GAS_BUDGET);
129
+ should_1.default.equal(tx.gasPrice, testData.GAS_PRICE);
130
+ should_1.default.deepEqual(tx.gasPaymentObjects, testData.gasPaymentObjects);
131
+ }
132
+ /**
133
+ * Asserts that a transaction has the expected inputs and outputs.
134
+ */
135
+ function assertInputsAndOutputs(tx, expectedRecipients) {
136
+ const totalAmount = expectedRecipients.reduce((sum, r) => sum + Number(r.amount), 0);
137
+ tx.inputs.length.should.equal(1);
138
+ tx.inputs[0].should.deepEqual({
139
+ address: testData.sender.address,
140
+ value: totalAmount.toString(),
141
+ coin: 'tiota',
142
+ });
143
+ tx.outputs.length.should.equal(expectedRecipients.length);
144
+ expectedRecipients.forEach((recipient, index) => {
145
+ tx.outputs[index].should.deepEqual({
146
+ address: recipient.address,
147
+ value: recipient.amount,
148
+ coin: 'tiota',
149
+ });
150
+ });
151
+ }
152
+ /**
153
+ * Verifies that a raw transaction is valid.
154
+ */
155
+ async function assertValidRawTransaction(tx) {
156
+ const rawTx = await tx.toBroadcastFormat();
157
+ should_1.default.exist(rawTx);
158
+ should_1.default.equal(typeof rawTx, 'string');
159
+ should_1.default.equal(rawTx.length > 0, true);
160
+ }
161
+ /**
162
+ * Creates an array of recipients with the specified count and amount.
163
+ */
164
+ function createRecipients(count, amount = '1000') {
165
+ return Array.from({ length: count }, (_, i) => ({
166
+ address: testData.addresses.validAddresses[i % testData.addresses.validAddresses.length],
167
+ amount,
168
+ }));
169
+ }
170
+ /**
171
+ * Gets the transaction factory instance.
172
+ */
173
+ function getFactory() {
174
+ return factory;
175
+ }
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdEhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvaGVscGVycy90ZXN0SGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsZ0VBTUM7QUFLRCxvRUFFQztBQUtELDRFQUVDO0FBS0Qsa0VBT0M7QUFLRCwwRUFNQztBQUtELGtFQU1DO0FBS0QsNEVBS0M7QUFLRCxzQ0FJQztBQUtELHdEQWtCQztBQUtELDhEQUtDO0FBS0QsNENBS0M7QUFLRCxnQ0FFQztBQTVJRCxpREFBNEM7QUFDNUMsc0NBQStGO0FBQy9GLCtEQUFpRDtBQStJeEMsNEJBQVE7QUE1SWpCLG9EQUE0QjtBQUU1Qjs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUVsRTs7R0FFRztBQUNILFNBQWdCLDBCQUEwQjtJQUN4QyxPQUFPLE9BQU87U0FDWCxrQkFBa0IsRUFBRTtTQUNwQixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDL0IsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7U0FDL0IsY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEI7SUFDMUMsT0FBTywwQkFBMEIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsZ0NBQWdDO0lBQzlDLE9BQU8sNEJBQTRCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiwy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IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBUcmFuc2ZlckJ1aWxkZXIsIFRyYW5zZmVyVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2lvdGEnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNpcGllbnQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9iamVjdElucHV0IH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi9pZmFjZSc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbi8qKlxuICogQ29tbW9uIHRlc3QgaGVscGVycyBhbmQgZml4dHVyZXMgZm9yIElPVEEgdHJhbnNhY3Rpb24gdGVzdHMuXG4gKiBSZWR1Y2VzIGR1cGxpY2F0aW9uIGFuZCBpbXByb3ZlcyB0ZXN0IHJlYWRhYmlsaXR5LlxuICovXG5cbmNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQoJ3Rpb3RhJykpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBiYXNpYyB0cmFuc2ZlciBidWlsZGVyIHdpdGggc2VuZGVyLCByZWNpcGllbnRzLCBhbmQgcGF5bWVudCBvYmplY3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQmFzaWNUcmFuc2ZlckJ1aWxkZXIoKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgcmV0dXJuIGZhY3RvcnlcbiAgICAuZ2V0VHJhbnNmZXJCdWlsZGVyKClcbiAgICAuc2VuZGVyKHRlc3REYXRhLnNlbmRlci5hZGRyZXNzKVxuICAgIC5yZWNpcGllbnRzKHRlc3REYXRhLnJlY2lwaWVudHMpXG4gICAgLnBheW1lbnRPYmplY3RzKHRlc3REYXRhLnBheW1lbnRPYmplY3RzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdHJhbnNmZXIgYnVpbGRlciB3aXRoIGdhcyBkYXRhIGZvciByZWFsIChub24tc2ltdWxhdGUpIHRyYW5zYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyYW5zZmVyQnVpbGRlcldpdGhHYXMoKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgcmV0dXJuIGNyZWF0ZUJhc2ljVHJhbnNmZXJCdWlsZGVyKCkuZ2FzRGF0YSh0ZXN0RGF0YS5nYXNEYXRhKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdHJhbnNmZXIgYnVpbGRlciB3aXRoIGEgZ2FzIHNwb25zb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmFuc2ZlckJ1aWxkZXJXaXRoU3BvbnNvcigpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICByZXR1cm4gY3JlYXRlVHJhbnNmZXJCdWlsZGVyV2l0aEdhcygpLmdhc1Nwb25zb3IodGVzdERhdGEuZ2FzU3BvbnNvci5hZGRyZXNzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgYnVpbGRlciB3aXRoIGN1c3RvbSByZWNpcGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQnVpbGRlcldpdGhSZWNpcGllbnRzKHJlY2lwaWVudHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICByZXR1cm4gZmFjdG9yeVxuICAgIC5nZXRUcmFuc2ZlckJ1aWxkZXIoKVxuICAgIC5zZW5kZXIodGVzdERhdGEuc2VuZGVyLmFkZHJlc3MpXG4gICAgLnJlY2lwaWVudHMocmVjaXBpZW50cylcbiAgICAucGF5bWVudE9iamVjdHModGVzdERhdGEucGF5bWVudE9iamVjdHMpXG4gICAgLmdhc0RhdGEodGVzdERhdGEuZ2FzRGF0YSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGJ1aWxkZXIgdGhhdCB1c2VzIGdhcyBvYmplY3RzIGZvciBwYXltZW50IChubyBwYXltZW50IG9iamVjdHMpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQnVpbGRlcldpdGhHYXNPYmplY3RzT25seSgpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICByZXR1cm4gZmFjdG9yeVxuICAgIC5nZXRUcmFuc2ZlckJ1aWxkZXIoKVxuICAgIC5zZW5kZXIodGVzdERhdGEuc2VuZGVyLmFkZHJlc3MpXG4gICAgLnJlY2lwaWVudHModGVzdERhdGEucmVjaXBpZW50cylcbiAgICAuZ2FzRGF0YSh0ZXN0RGF0YS5nYXNEYXRhKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgYnVpbGRlciB3aXRoIGN1c3RvbSBnYXMgb2JqZWN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJ1aWxkZXJXaXRoR2FzT2JqZWN0cyhnYXNPYmplY3RzOiBUcmFuc2FjdGlvbk9iamVjdElucHV0W10pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICByZXR1cm4gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKS5zZW5kZXIodGVzdERhdGEuc2VuZGVyLmFkZHJlc3MpLnJlY2lwaWVudHModGVzdERhdGEucmVjaXBpZW50cykuZ2FzRGF0YSh7XG4gICAgZ2FzQnVkZ2V0OiB0ZXN0RGF0YS5HQVNfQlVER0VULFxuICAgIGdhc1ByaWNlOiB0ZXN0RGF0YS5HQVNfUFJJQ0UsXG4gICAgZ2FzUGF5bWVudE9iamVjdHM6IGdhc09iamVjdHMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIHRyYW5zYWN0aW9uIGhhcyB0aGUgZXhwZWN0ZWQgYmFzaWMgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEJhc2ljVHJhbnNhY3Rpb25Qcm9wZXJ0aWVzKHR4OiBUcmFuc2ZlclRyYW5zYWN0aW9uKTogdm9pZCB7XG4gIHNob3VsZC5leGlzdCh0eCk7XG4gIHNob3VsZC5lcXVhbCh0eC5zZW5kZXIsIHRlc3REYXRhLnNlbmRlci5hZGRyZXNzKTtcbiAgc2hvdWxkLmRlZXBFcXVhbCh0eC5yZWNpcGllbnRzLCB0ZXN0RGF0YS5yZWNpcGllbnRzKTtcbiAgc2hvdWxkLmRlZXBFcXVhbCh0eC5wYXltZW50T2JqZWN0cywgdGVzdERhdGEucGF5bWVudE9iamVjdHMpO1xufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIHRyYW5zYWN0aW9uIGhhcyB2YWxpZCBnYXMgZGF0YS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEdhc0RhdGEodHg6IFRyYW5zZmVyVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgc2hvdWxkLmVxdWFsKHR4Lmdhc0J1ZGdldCwgdGVzdERhdGEuR0FTX0JVREdFVCk7XG4gIHNob3VsZC5lcXVhbCh0eC5nYXNQcmljZSwgdGVzdERhdGEuR0FTX1BSSUNFKTtcbiAgc2hvdWxkLmRlZXBFcXVhbCh0eC5nYXNQYXltZW50T2JqZWN0cywgdGVzdERhdGEuZ2FzUGF5bWVudE9iamVjdHMpO1xufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIHRyYW5zYWN0aW9uIGhhcyB0aGUgZXhwZWN0ZWQgaW5wdXRzIGFuZCBvdXRwdXRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0SW5wdXRzQW5kT3V0cHV0cyh0eDogVHJhbnNmZXJUcmFuc2FjdGlvbiwgZXhwZWN0ZWRSZWNpcGllbnRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdKTogdm9pZCB7XG4gIGNvbnN0IHRvdGFsQW1vdW50ID0gZXhwZWN0ZWRSZWNpcGllbnRzLnJlZHVjZSgoc3VtLCByKSA9PiBzdW0gKyBOdW1iZXIoci5hbW91bnQpLCAwKTtcblxuICB0eC5pbnB1dHMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgdHguaW5wdXRzWzBdLnNob3VsZC5kZWVwRXF1YWwoe1xuICAgIGFkZHJlc3M6IHRlc3REYXRhLnNlbmRlci5hZGRyZXNzLFxuICAgIHZhbHVlOiB0b3RhbEFtb3VudC50b1N0cmluZygpLFxuICAgIGNvaW46ICd0aW90YScsXG4gIH0pO1xuXG4gIHR4Lm91dHB1dHMubGVuZ3RoLnNob3VsZC5lcXVhbChleHBlY3RlZFJlY2lwaWVudHMubGVuZ3RoKTtcbiAgZXhwZWN0ZWRSZWNpcGllbnRzLmZvckVhY2goKHJlY2lwaWVudCwgaW5kZXgpID0+IHtcbiAgICB0eC5vdXRwdXRzW2luZGV4XS5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgICAgdmFsdWU6IHJlY2lwaWVudC5hbW91bnQsXG4gICAgICBjb2luOiAndGlvdGEnLFxuICAgIH0pO1xuICB9KTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IGEgcmF3IHRyYW5zYWN0aW9uIGlzIHZhbGlkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXNzZXJ0VmFsaWRSYXdUcmFuc2FjdGlvbih0eDogVHJhbnNmZXJUcmFuc2FjdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByYXdUeCA9IGF3YWl0IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gIHNob3VsZC5leGlzdChyYXdUeCk7XG4gIHNob3VsZC5lcXVhbCh0eXBlb2YgcmF3VHgsICdzdHJpbmcnKTtcbiAgc2hvdWxkLmVxdWFsKHJhd1R4Lmxlbmd0aCA+IDAsIHRydWUpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgcmVjaXBpZW50cyB3aXRoIHRoZSBzcGVjaWZpZWQgY291bnQgYW5kIGFtb3VudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlY2lwaWVudHMoY291bnQ6IG51bWJlciwgYW1vdW50ID0gJzEwMDAnKTogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSB7XG4gIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBjb3VudCB9LCAoXywgaSkgPT4gKHtcbiAgICBhZGRyZXNzOiB0ZXN0RGF0YS5hZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbaSAlIHRlc3REYXRhLmFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlcy5sZW5ndGhdLFxuICAgIGFtb3VudCxcbiAgfSkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHRyYW5zYWN0aW9uIGZhY3RvcnkgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGYWN0b3J5KCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICByZXR1cm4gZmFjdG9yeTtcbn1cblxuLyoqXG4gKiBUZXN0IGRhdGEgcmUtZXhwb3J0cyBmb3IgY29udmVuaWVuY2UuXG4gKi9cbmV4cG9ydCB7IHRlc3REYXRhIH07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../test/unit/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("should");
4
+ const sdk_test_1 = require("@bitgo-beta/sdk-test");
5
+ const sdk_api_1 = require("@bitgo-beta/sdk-api");
6
+ const src_1 = require("../../src");
7
+ describe('Iota:', function () {
8
+ let bitgo;
9
+ before(function () {
10
+ bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'mock' });
11
+ bitgo.safeRegister('iota', src_1.Iota.createInstance);
12
+ bitgo.safeRegister('tiota', src_1.Iota.createInstance);
13
+ bitgo.initializeTestVars();
14
+ });
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQkFBZ0I7QUFDaEIsbURBQStEO0FBQy9ELGlEQUErQztBQUMvQyxtQ0FBaUM7QUFFakMsUUFBUSxDQUFDLE9BQU8sRUFBRTtJQUNoQixJQUFJLEtBQW1CLENBQUM7SUFFeEIsTUFBTSxDQUFDO1FBQ0wsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWFwaSc7XG5pbXBvcnQgeyBJb3RhIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ0lvdGE6JywgZnVuY3Rpb24gKCkge1xuICBsZXQgYml0Z286IFRlc3RCaXRHb0FQSTtcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ21vY2snIH0pO1xuICAgIGJpdGdvLnNhZmVSZWdpc3RlcignaW90YScsIElvdGEuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLnNhZmVSZWdpc3RlcigndGlvdGEnLCBJb3RhLmNyZWF0ZUluc3RhbmNlKTtcbiAgICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iota.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iota.d.ts","sourceRoot":"","sources":["../../../test/unit/iota.ts"],"names":[],"mappings":""}