@bitgo-beta/sdk-coin-sui 1.4.1-alpha.398 → 1.4.1-alpha.399

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 (161) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +8 -8
  3. package/dist/src/index.d.ts +0 -6
  4. package/dist/src/index.d.ts.map +0 -1
  5. package/dist/src/index.js +0 -22
  6. package/dist/src/lib/compareTransactionBlocks.d.ts +0 -8
  7. package/dist/src/lib/compareTransactionBlocks.d.ts.map +0 -1
  8. package/dist/src/lib/compareTransactionBlocks.js +0 -12
  9. package/dist/src/lib/constants.d.ts +0 -17
  10. package/dist/src/lib/constants.d.ts.map +0 -1
  11. package/dist/src/lib/constants.js +0 -30
  12. package/dist/src/lib/customTransaction.d.ts +0 -57
  13. package/dist/src/lib/customTransaction.d.ts.map +0 -1
  14. package/dist/src/lib/customTransaction.js +0 -159
  15. package/dist/src/lib/customTransactionBuilder.d.ts +0 -46
  16. package/dist/src/lib/customTransactionBuilder.d.ts.map +0 -1
  17. package/dist/src/lib/customTransactionBuilder.js +0 -117
  18. package/dist/src/lib/iface.d.ts +0 -131
  19. package/dist/src/lib/iface.d.ts.map +0 -1
  20. package/dist/src/lib/iface.js +0 -63
  21. package/dist/src/lib/index.d.ts +0 -22
  22. package/dist/src/lib/index.d.ts.map +0 -1
  23. package/dist/src/lib/index.js +0 -77
  24. package/dist/src/lib/keyPair.d.ts +0 -29
  25. package/dist/src/lib/keyPair.d.ts.map +0 -1
  26. package/dist/src/lib/keyPair.js +0 -97
  27. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +0 -66
  28. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +0 -1
  29. package/dist/src/lib/mystenlab/builder/Inputs.js +0 -55
  30. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +0 -302
  31. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +0 -1
  32. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +0 -255
  33. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +0 -566
  34. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +0 -1
  35. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +0 -168
  36. package/dist/src/lib/mystenlab/builder/Transactions.d.ts +0 -937
  37. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +0 -1
  38. package/dist/src/lib/mystenlab/builder/Transactions.js +0 -118
  39. package/dist/src/lib/mystenlab/builder/bcs.d.ts +0 -25
  40. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +0 -1
  41. package/dist/src/lib/mystenlab/builder/bcs.js +0 -141
  42. package/dist/src/lib/mystenlab/builder/index.d.ts +0 -5
  43. package/dist/src/lib/mystenlab/builder/index.d.ts.map +0 -1
  44. package/dist/src/lib/mystenlab/builder/index.js +0 -21
  45. package/dist/src/lib/mystenlab/builder/serializer.d.ts +0 -4
  46. package/dist/src/lib/mystenlab/builder/serializer.d.ts.map +0 -1
  47. package/dist/src/lib/mystenlab/builder/serializer.js +0 -99
  48. package/dist/src/lib/mystenlab/builder/utils.d.ts +0 -10
  49. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +0 -1
  50. package/dist/src/lib/mystenlab/builder/utils.js +0 -10
  51. package/dist/src/lib/mystenlab/cryptography/hash.d.ts +0 -8
  52. package/dist/src/lib/mystenlab/cryptography/hash.d.ts.map +0 -1
  53. package/dist/src/lib/mystenlab/cryptography/hash.js +0 -21
  54. package/dist/src/lib/mystenlab/framework/framework.d.ts +0 -93
  55. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +0 -1
  56. package/dist/src/lib/mystenlab/framework/framework.js +0 -135
  57. package/dist/src/lib/mystenlab/framework/index.d.ts +0 -3
  58. package/dist/src/lib/mystenlab/framework/index.d.ts.map +0 -1
  59. package/dist/src/lib/mystenlab/framework/index.js +0 -19
  60. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +0 -14
  61. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +0 -1
  62. package/dist/src/lib/mystenlab/framework/sui-system-state.js +0 -22
  63. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts +0 -7
  64. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts.map +0 -1
  65. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +0 -119
  66. package/dist/src/lib/mystenlab/types/coin.d.ts +0 -89
  67. package/dist/src/lib/mystenlab/types/coin.d.ts.map +0 -1
  68. package/dist/src/lib/mystenlab/types/coin.js +0 -32
  69. package/dist/src/lib/mystenlab/types/common.d.ts +0 -45
  70. package/dist/src/lib/mystenlab/types/common.d.ts.map +0 -1
  71. package/dist/src/lib/mystenlab/types/common.js +0 -84
  72. package/dist/src/lib/mystenlab/types/events.d.ts +0 -198
  73. package/dist/src/lib/mystenlab/types/events.d.ts.map +0 -1
  74. package/dist/src/lib/mystenlab/types/events.js +0 -46
  75. package/dist/src/lib/mystenlab/types/index.d.ts +0 -9
  76. package/dist/src/lib/mystenlab/types/index.d.ts.map +0 -1
  77. package/dist/src/lib/mystenlab/types/index.js +0 -25
  78. package/dist/src/lib/mystenlab/types/normalized.d.ts +0 -254
  79. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +0 -1
  80. package/dist/src/lib/mystenlab/types/normalized.js +0 -111
  81. package/dist/src/lib/mystenlab/types/objects.d.ts +0 -806
  82. package/dist/src/lib/mystenlab/types/objects.d.ts.map +0 -1
  83. package/dist/src/lib/mystenlab/types/objects.js +0 -292
  84. package/dist/src/lib/mystenlab/types/option.d.ts +0 -8
  85. package/dist/src/lib/mystenlab/types/option.d.ts.map +0 -1
  86. package/dist/src/lib/mystenlab/types/option.js +0 -13
  87. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +0 -111
  88. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +0 -1
  89. package/dist/src/lib/mystenlab/types/sui-bcs.js +0 -107
  90. package/dist/src/lib/mystenlab/types/transactions.d.ts +0 -6703
  91. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +0 -1
  92. package/dist/src/lib/mystenlab/types/transactions.js +0 -389
  93. package/dist/src/lib/mystenlab/types/validator.d.ts +0 -641
  94. package/dist/src/lib/mystenlab/types/validator.d.ts.map +0 -1
  95. package/dist/src/lib/mystenlab/types/validator.js +0 -156
  96. package/dist/src/lib/resources/walrusConfig.d.ts +0 -22
  97. package/dist/src/lib/resources/walrusConfig.d.ts.map +0 -1
  98. package/dist/src/lib/resources/walrusConfig.js +0 -37
  99. package/dist/src/lib/rpcClient.d.ts +0 -5
  100. package/dist/src/lib/rpcClient.d.ts.map +0 -1
  101. package/dist/src/lib/rpcClient.js +0 -74
  102. package/dist/src/lib/stakingBuilder.d.ts +0 -62
  103. package/dist/src/lib/stakingBuilder.d.ts.map +0 -1
  104. package/dist/src/lib/stakingBuilder.js +0 -206
  105. package/dist/src/lib/stakingTransaction.d.ts +0 -51
  106. package/dist/src/lib/stakingTransaction.d.ts.map +0 -1
  107. package/dist/src/lib/stakingTransaction.js +0 -219
  108. package/dist/src/lib/tokenTransferBuilder.d.ts +0 -38
  109. package/dist/src/lib/tokenTransferBuilder.d.ts.map +0 -1
  110. package/dist/src/lib/tokenTransferBuilder.js +0 -132
  111. package/dist/src/lib/tokenTransferTransaction.d.ts +0 -57
  112. package/dist/src/lib/tokenTransferTransaction.d.ts.map +0 -1
  113. package/dist/src/lib/tokenTransferTransaction.js +0 -250
  114. package/dist/src/lib/transaction.d.ts +0 -82
  115. package/dist/src/lib/transaction.d.ts.map +0 -1
  116. package/dist/src/lib/transaction.js +0 -283
  117. package/dist/src/lib/transactionBuilder.d.ts +0 -60
  118. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  119. package/dist/src/lib/transactionBuilder.js +0 -140
  120. package/dist/src/lib/transactionBuilderFactory.d.ts +0 -48
  121. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  122. package/dist/src/lib/transactionBuilderFactory.js +0 -127
  123. package/dist/src/lib/transferBuilder.d.ts +0 -37
  124. package/dist/src/lib/transferBuilder.d.ts.map +0 -1
  125. package/dist/src/lib/transferBuilder.js +0 -132
  126. package/dist/src/lib/transferTransaction.d.ts +0 -54
  127. package/dist/src/lib/transferTransaction.d.ts.map +0 -1
  128. package/dist/src/lib/transferTransaction.js +0 -203
  129. package/dist/src/lib/unstakingBuilder.d.ts +0 -62
  130. package/dist/src/lib/unstakingBuilder.d.ts.map +0 -1
  131. package/dist/src/lib/unstakingBuilder.js +0 -227
  132. package/dist/src/lib/unstakingTransaction.d.ts +0 -75
  133. package/dist/src/lib/unstakingTransaction.d.ts.map +0 -1
  134. package/dist/src/lib/unstakingTransaction.js +0 -345
  135. package/dist/src/lib/utils.d.ts +0 -127
  136. package/dist/src/lib/utils.d.ts.map +0 -1
  137. package/dist/src/lib/utils.js +0 -539
  138. package/dist/src/lib/walrusStakingBuilder.d.ts +0 -66
  139. package/dist/src/lib/walrusStakingBuilder.d.ts.map +0 -1
  140. package/dist/src/lib/walrusStakingBuilder.js +0 -200
  141. package/dist/src/lib/walrusStakingTransaction.d.ts +0 -52
  142. package/dist/src/lib/walrusStakingTransaction.d.ts.map +0 -1
  143. package/dist/src/lib/walrusStakingTransaction.js +0 -269
  144. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts +0 -36
  145. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts.map +0 -1
  146. package/dist/src/lib/walrusWithdrawStakeBuilder.js +0 -173
  147. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts +0 -21
  148. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts.map +0 -1
  149. package/dist/src/lib/walrusWithdrawStakeTransaction.js +0 -190
  150. package/dist/src/register.d.ts +0 -3
  151. package/dist/src/register.d.ts.map +0 -1
  152. package/dist/src/register.js +0 -15
  153. package/dist/src/sui.d.ts +0 -92
  154. package/dist/src/sui.d.ts.map +0 -1
  155. package/dist/src/sui.js +0 -665
  156. package/dist/src/suiToken.d.ts +0 -22
  157. package/dist/src/suiToken.d.ts.map +0 -1
  158. package/dist/src/suiToken.js +0 -61
  159. package/dist/src/tsui.d.ts +0 -22
  160. package/dist/src/tsui.d.ts.map +0 -1
  161. package/dist/src/tsui.js +0 -30
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.19.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@5.18.4...@bitgo/sdk-coin-sui@5.19.0) (2025-09-25)
7
+
8
+ ### Features
9
+
10
+ - configure learn to skip git operations ([ee3a622](https://github.com/BitGo/BitGoJS/commit/ee3a6220496476aa7f4545b5f4a9a3bf97d9bdb9))
11
+
6
12
  ## [5.18.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@5.18.3...@bitgo/sdk-coin-sui@5.18.4) (2025-09-03)
7
13
 
8
14
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-sui",
3
- "version": "1.4.1-alpha.398",
3
+ "version": "1.4.1-alpha.399",
4
4
  "description": "BitGo SDK coin library for Sui",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -40,10 +40,10 @@
40
40
  ]
41
41
  },
42
42
  "dependencies": {
43
- "@bitgo-beta/blake2b": "3.2.1-alpha.402",
44
- "@bitgo-beta/sdk-core": "2.4.1-alpha.401",
45
- "@bitgo-beta/sdk-lib-mpc": "8.2.1-alpha.357",
46
- "@bitgo-beta/statics": "10.0.1-alpha.401",
43
+ "@bitgo-beta/blake2b": "3.2.1-alpha.403",
44
+ "@bitgo-beta/sdk-core": "2.4.1-alpha.402",
45
+ "@bitgo-beta/sdk-lib-mpc": "8.2.1-alpha.358",
46
+ "@bitgo-beta/statics": "10.0.1-alpha.402",
47
47
  "@mysten/bcs": "^0.7.0",
48
48
  "bignumber.js": "^9.0.0",
49
49
  "bs58": "^4.0.1",
@@ -53,11 +53,11 @@
53
53
  "tweetnacl": "^1.0.3"
54
54
  },
55
55
  "devDependencies": {
56
- "@bitgo-beta/sdk-api": "1.6.1-alpha.401",
57
- "@bitgo-beta/sdk-test": "0.0.0-alpha.0",
56
+ "@bitgo-beta/sdk-api": "1.6.1-alpha.402",
57
+ "@bitgo-beta/sdk-test": "^9.1.0",
58
58
  "@types/lodash": "^4.14.183",
59
59
  "axios": "^1.12.0",
60
60
  "debug": "^4.3.4"
61
61
  },
62
- "gitHead": "28e541a84412c3351b43dad5b22ff8cbb3ab0b81"
62
+ "gitHead": "c7380a4d991afeab7fb19c4e4c654e73d6fb466b"
63
63
  }
@@ -1,6 +0,0 @@
1
- export * from './lib';
2
- export * from './sui';
3
- export * from './tsui';
4
- export * from './register';
5
- export * from './suiToken';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
package/dist/src/index.js DELETED
@@ -1,22 +0,0 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./lib"), exports);
18
- __exportStar(require("./sui"), exports);
19
- __exportStar(require("./tsui"), exports);
20
- __exportStar(require("./register"), exports);
21
- __exportStar(require("./suiToken"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3N1aSc7XG5leHBvcnQgKiBmcm9tICcuL3RzdWknO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL3N1aVRva2VuJztcbiJdfQ==
@@ -1,8 +0,0 @@
1
- export declare function assertEqualTransactionBlocks(a: {
2
- inputs: unknown[];
3
- transactions: unknown[];
4
- }, b: {
5
- inputs: unknown[];
6
- transactions: unknown[];
7
- }): void;
8
- //# sourceMappingURL=compareTransactionBlocks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compareTransactionBlocks.d.ts","sourceRoot":"","sources":["../../../src/lib/compareTransactionBlocks.ts"],"names":[],"mappings":"AAEA,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE;IAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,YAAY,EAAE,OAAO,EAAE,CAAA;CAAE,EACjD,CAAC,EAAE;IAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,YAAY,EAAE,OAAO,EAAE,CAAA;CAAE,GAChD,IAAI,CAGN"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.assertEqualTransactionBlocks = assertEqualTransactionBlocks;
7
- const assert_1 = __importDefault(require("assert"));
8
- function assertEqualTransactionBlocks(a, b) {
9
- assert_1.default.deepStrictEqual(a.inputs, b.inputs, 'Different inputs');
10
- assert_1.default.deepStrictEqual(a.transactions, b.transactions, 'Different transactions');
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZVRyYW5zYWN0aW9uQmxvY2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21wYXJlVHJhbnNhY3Rpb25CbG9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxvRUFNQztBQVJELG9EQUE0QjtBQUU1QixTQUFnQiw0QkFBNEIsQ0FDMUMsQ0FBaUQsRUFDakQsQ0FBaUQ7SUFFakQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDL0QsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEVxdWFsVHJhbnNhY3Rpb25CbG9ja3MoXG4gIGE6IHsgaW5wdXRzOiB1bmtub3duW107IHRyYW5zYWN0aW9uczogdW5rbm93bltdIH0sXG4gIGI6IHsgaW5wdXRzOiB1bmtub3duW107IHRyYW5zYWN0aW9uczogdW5rbm93bltdIH1cbik6IHZvaWQge1xuICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKGEuaW5wdXRzLCBiLmlucHV0cywgJ0RpZmZlcmVudCBpbnB1dHMnKTtcbiAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChhLnRyYW5zYWN0aW9ucywgYi50cmFuc2FjdGlvbnMsICdEaWZmZXJlbnQgdHJhbnNhY3Rpb25zJyk7XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- export declare const UNAVAILABLE_TEXT = "UNAVAILABLE";
2
- export declare const AMOUNT_UNKNOWN_TEXT = "AMOUNT_UNKNOWN";
3
- export declare const DUMMY_SUI_GAS_PRICE = 1000;
4
- export declare const SUI_ADDRESS_LENGTH = 32;
5
- export declare const SER_BUFFER_SIZE = 8192;
6
- export declare const MAX_COMMAND_ARGS = 512;
7
- export declare const MAX_GAS_OBJECTS = 256;
8
- export declare const SUI_INTENT_BYTES: Buffer<ArrayBuffer>;
9
- export declare const SIGNATURE_SCHEME_BYTES: number[];
10
- export declare const MIN_STAKING_THRESHOLD = 1000000000;
11
- export declare const MAX_GAS_BUDGET = 100000000;
12
- export declare const DEFAULT_GAS_PRICE = 1000;
13
- export declare const DEFAULT_GAS_OVERHEAD = 1.1;
14
- export declare const MAX_OBJECT_LIMIT = 1280;
15
- export declare const DEFAULT_SCAN_FACTOR = 20;
16
- export declare const TOKEN_OBJECT_LIMIT = 512;
17
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAIpD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,gBAAgB,qBAAyB,CAAC;AAEvD,eAAO,MAAM,sBAAsB,UAAS,CAAC;AAE7C,eAAO,MAAM,qBAAqB,aAAgB,CAAC;AAGnD,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAOxC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,eAAO,MAAM,kBAAkB,MAAM,CAAC"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TOKEN_OBJECT_LIMIT = exports.DEFAULT_SCAN_FACTOR = exports.MAX_OBJECT_LIMIT = exports.DEFAULT_GAS_OVERHEAD = exports.DEFAULT_GAS_PRICE = exports.MAX_GAS_BUDGET = exports.MIN_STAKING_THRESHOLD = exports.SIGNATURE_SCHEME_BYTES = exports.SUI_INTENT_BYTES = exports.MAX_GAS_OBJECTS = exports.MAX_COMMAND_ARGS = exports.SER_BUFFER_SIZE = exports.SUI_ADDRESS_LENGTH = exports.DUMMY_SUI_GAS_PRICE = exports.AMOUNT_UNKNOWN_TEXT = exports.UNAVAILABLE_TEXT = void 0;
4
- exports.UNAVAILABLE_TEXT = 'UNAVAILABLE';
5
- exports.AMOUNT_UNKNOWN_TEXT = 'AMOUNT_UNKNOWN';
6
- // Refer to
7
- // https://github.com/MystenLabs/sui/blob/main/crates/sui-types/src/messages.rs#L50
8
- exports.DUMMY_SUI_GAS_PRICE = 1000;
9
- exports.SUI_ADDRESS_LENGTH = 32;
10
- exports.SER_BUFFER_SIZE = 8192;
11
- // https://github.com/MystenLabs/sui/blob/e62839aecb192545c3951b6fa0bc84039120b373/crates/sui-protocol-config/src/lib.rs#L1496
12
- exports.MAX_COMMAND_ARGS = 512;
13
- // https://github.com/MystenLabs/sui/blob/e62839aecb192545c3951b6fa0bc84039120b373/crates/sui-protocol-config/src/lib.rs#L1493
14
- exports.MAX_GAS_OBJECTS = 256;
15
- exports.SUI_INTENT_BYTES = Buffer.from([0, 0, 0]);
16
- exports.SIGNATURE_SCHEME_BYTES = [0x00];
17
- exports.MIN_STAKING_THRESHOLD = 1000000000; // 1 SUI
18
- // The maximum gas that is allowed. 0.1 SUI
19
- exports.MAX_GAS_BUDGET = 100000000;
20
- exports.DEFAULT_GAS_PRICE = 1000;
21
- exports.DEFAULT_GAS_OVERHEAD = 1.1;
22
- /*
23
- * SUI transactions have a limit of 128 KB on the tx size,
24
- * that corresponds to a tx with max ~1600 objects depending on other transaction details,
25
- * we chose 1280 as the object limit, keeping in mind other things like multiple recipients etc.
26
- */
27
- exports.MAX_OBJECT_LIMIT = 1280;
28
- exports.DEFAULT_SCAN_FACTOR = 20; // default number of receive addresses to scan for funds
29
- exports.TOKEN_OBJECT_LIMIT = 512;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwRCxXQUFXO0FBQ1gsbUZBQW1GO0FBQ3RFLFFBQUEsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQztBQUNwQyw4SEFBOEg7QUFDakgsUUFBQSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFDcEMsOEhBQThIO0FBQ2pILFFBQUEsZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUV0QixRQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUMsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWhDLFFBQUEscUJBQXFCLEdBQUcsVUFBYSxDQUFDLENBQUMsUUFBUTtBQUU1RCwyQ0FBMkM7QUFDOUIsUUFBQSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0FBQ3pCLFFBQUEsb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBRXhDOzs7O0dBSUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLElBQUksQ0FBQztBQUV4QixRQUFBLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxDQUFDLHdEQUF3RDtBQUVsRixRQUFBLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBVTkFWQUlMQUJMRV9URVhUID0gJ1VOQVZBSUxBQkxFJztcbmV4cG9ydCBjb25zdCBBTU9VTlRfVU5LTk9XTl9URVhUID0gJ0FNT1VOVF9VTktOT1dOJztcblxuLy8gUmVmZXIgdG9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NeXN0ZW5MYWJzL3N1aS9ibG9iL21haW4vY3JhdGVzL3N1aS10eXBlcy9zcmMvbWVzc2FnZXMucnMjTDUwXG5leHBvcnQgY29uc3QgRFVNTVlfU1VJX0dBU19QUklDRSA9IDEwMDA7XG5leHBvcnQgY29uc3QgU1VJX0FERFJFU1NfTEVOR1RIID0gMzI7XG5leHBvcnQgY29uc3QgU0VSX0JVRkZFUl9TSVpFID0gODE5Mjtcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NeXN0ZW5MYWJzL3N1aS9ibG9iL2U2MjgzOWFlY2IxOTI1NDVjMzk1MWI2ZmEwYmM4NDAzOTEyMGIzNzMvY3JhdGVzL3N1aS1wcm90b2NvbC1jb25maWcvc3JjL2xpYi5ycyNMMTQ5NlxuZXhwb3J0IGNvbnN0IE1BWF9DT01NQU5EX0FSR1MgPSA1MTI7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9lNjI4MzlhZWNiMTkyNTQ1YzM5NTFiNmZhMGJjODQwMzkxMjBiMzczL2NyYXRlcy9zdWktcHJvdG9jb2wtY29uZmlnL3NyYy9saWIucnMjTDE0OTNcbmV4cG9ydCBjb25zdCBNQVhfR0FTX09CSkVDVFMgPSAyNTY7XG5cbmV4cG9ydCBjb25zdCBTVUlfSU5URU5UX0JZVEVTID0gQnVmZmVyLmZyb20oWzAsIDAsIDBdKTtcblxuZXhwb3J0IGNvbnN0IFNJR05BVFVSRV9TQ0hFTUVfQllURVMgPSBbMHgwMF07XG5cbmV4cG9ydCBjb25zdCBNSU5fU1RBS0lOR19USFJFU0hPTEQgPSAxXzAwMF8wMDBfMDAwOyAvLyAxIFNVSVxuXG4vLyBUaGUgbWF4aW11bSBnYXMgdGhhdCBpcyBhbGxvd2VkLiAwLjEgU1VJXG5leHBvcnQgY29uc3QgTUFYX0dBU19CVURHRVQgPSAxMDAwMDAwMDA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9HQVNfUFJJQ0UgPSAxMDAwO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfR0FTX09WRVJIRUFEID0gMS4xO1xuXG4vKlxuICogU1VJIHRyYW5zYWN0aW9ucyBoYXZlIGEgbGltaXQgb2YgMTI4IEtCIG9uIHRoZSB0eCBzaXplLFxuICogdGhhdCBjb3JyZXNwb25kcyB0byBhIHR4IHdpdGggbWF4IH4xNjAwIG9iamVjdHMgZGVwZW5kaW5nIG9uIG90aGVyIHRyYW5zYWN0aW9uIGRldGFpbHMsXG4gKiB3ZSBjaG9zZSAxMjgwIGFzIHRoZSBvYmplY3QgbGltaXQsIGtlZXBpbmcgaW4gbWluZCBvdGhlciB0aGluZ3MgbGlrZSBtdWx0aXBsZSByZWNpcGllbnRzIGV0Yy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9PQkpFQ1RfTElNSVQgPSAxMjgwO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TQ0FOX0ZBQ1RPUiA9IDIwOyAvLyBkZWZhdWx0IG51bWJlciBvZiByZWNlaXZlIGFkZHJlc3NlcyB0byBzY2FuIGZvciBmdW5kc1xuXG5leHBvcnQgY29uc3QgVE9LRU5fT0JKRUNUX0xJTUlUID0gNTEyO1xuIl19
@@ -1,57 +0,0 @@
1
- import { CustomProgrammableTransaction, TransactionExplanation, TxData } from './iface';
2
- import { Transaction } from './transaction';
3
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
- import { BaseKey, Recipient } from '@bitgo-beta/sdk-core';
5
- export declare class CustomTransaction extends Transaction<CustomProgrammableTransaction> {
6
- private _rawTransaction;
7
- private _recipients;
8
- constructor(_coinConfig: Readonly<CoinConfig>);
9
- /**
10
- * @inheritdoc
11
- * @param rawTransaction
12
- */
13
- fromRawTransaction(rawTransaction: string): void;
14
- /**
15
- * @inheritdoc
16
- */
17
- get id(): string;
18
- /**
19
- * @inheritdoc
20
- */
21
- canSign(key: BaseKey): boolean;
22
- /**
23
- * @inheritdoc
24
- */
25
- toBroadcastFormat(): string;
26
- /**
27
- * @inheritdoc
28
- */
29
- loadInputsAndOutputs(): void;
30
- /**
31
- * Get the raw transaction base64 string
32
- */
33
- get rawTransaction(): string;
34
- /**
35
- * Get the recipients of the transaction if there is any transfers.
36
- */
37
- get recipients(): Recipient[];
38
- /**
39
- * @inheritdoc
40
- */
41
- getTxData(): TxData;
42
- /**
43
- * @inheritdoc
44
- */
45
- toJson(): TxData;
46
- /**
47
- * @inheritdoc
48
- */
49
- explainTransaction(): TransactionExplanation;
50
- /**
51
- * Returns a complete explanation of the custom transaction
52
- * @param json
53
- * @param explanationResult
54
- */
55
- private explainCustomTransaction;
56
- }
57
- //# sourceMappingURL=customTransaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"customTransaction.d.ts","sourceRoot":"","sources":["../../../src/lib/customTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAG7B,sBAAsB,EACtB,MAAM,EACP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAA2B,SAAS,EAAyC,MAAM,sBAAsB,CAAC;AAG1H,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,6BAA6B,CAAC;IAC/E,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;OAGG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAgBhD;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAO3B;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAsB5B;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,SAAS,EAAE,CAE5B;IAED;;OAEG;IACI,SAAS,IAAI,MAAM;IAgB1B;;OAEG;IACI,MAAM,IAAI,MAAM;IAiBvB;;OAEG;IACH,kBAAkB,IAAI,sBAAsB;IAiB5C;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAUjC"}
@@ -1,159 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CustomTransaction = void 0;
7
- const iface_1 = require("./iface");
8
- const transaction_1 = require("./transaction");
9
- const utils_1 = __importDefault(require("./utils"));
10
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
11
- const constants_1 = require("./constants");
12
- class CustomTransaction extends transaction_1.Transaction {
13
- constructor(_coinConfig) {
14
- super(_coinConfig);
15
- }
16
- /**
17
- * @inheritdoc
18
- * @param rawTransaction
19
- */
20
- fromRawTransaction(rawTransaction) {
21
- try {
22
- utils_1.default.isValidRawTransaction(rawTransaction);
23
- this._suiTransaction = transaction_1.Transaction.deserializeSuiTransaction(rawTransaction);
24
- this._suiTransaction.type = iface_1.SuiTransactionType.CustomTx;
25
- this._type = sdk_core_1.TransactionType.CustomTx;
26
- this._id = this._suiTransaction.id;
27
- this._rawTransaction = rawTransaction;
28
- this.loadInputsAndOutputs();
29
- }
30
- catch (e) {
31
- throw e;
32
- }
33
- }
34
- /**
35
- * @inheritdoc
36
- */
37
- get id() {
38
- return this._id || constants_1.UNAVAILABLE_TEXT;
39
- }
40
- /**
41
- * @inheritdoc
42
- */
43
- canSign(key) {
44
- return true;
45
- }
46
- /**
47
- * @inheritdoc
48
- */
49
- toBroadcastFormat() {
50
- if (!this._suiTransaction) {
51
- throw new sdk_core_1.InvalidTransactionError('empty transaction');
52
- }
53
- return this.serialize();
54
- }
55
- /**
56
- * @inheritdoc
57
- */
58
- loadInputsAndOutputs() {
59
- if (!this._suiTransaction) {
60
- return;
61
- }
62
- this._recipients = utils_1.default.getRecipients(this._suiTransaction);
63
- this._outputs = this._recipients.map((recipient, index) => ({
64
- address: recipient.address,
65
- value: recipient.amount,
66
- coin: this._coinConfig.name,
67
- }));
68
- const totalAmount = this._recipients.reduce((accumulator, current) => accumulator + Number(current.amount), 0);
69
- this._inputs = [
70
- {
71
- address: this.suiTransaction.sender,
72
- value: totalAmount.toString(),
73
- coin: this._coinConfig.name,
74
- },
75
- ];
76
- }
77
- /**
78
- * Get the raw transaction base64 string
79
- */
80
- get rawTransaction() {
81
- return this._rawTransaction;
82
- }
83
- /**
84
- * Get the recipients of the transaction if there is any transfers.
85
- */
86
- get recipients() {
87
- return this._recipients;
88
- }
89
- /**
90
- * @inheritdoc
91
- */
92
- getTxData() {
93
- if (!this._suiTransaction) {
94
- throw new sdk_core_1.InvalidTransactionError('empty transaction');
95
- }
96
- const tx = this._suiTransaction;
97
- return {
98
- sender: this._suiTransaction.sender,
99
- expiration: { None: null },
100
- gasData: this._suiTransaction.gasData,
101
- kind: {
102
- ProgrammableTransaction: tx.tx,
103
- },
104
- };
105
- }
106
- /**
107
- * @inheritdoc
108
- */
109
- toJson() {
110
- if (!this._suiTransaction) {
111
- throw new sdk_core_1.InvalidTransactionError('empty transaction');
112
- }
113
- const tx = this._suiTransaction;
114
- return {
115
- id: tx.id,
116
- sender: tx.sender,
117
- expiration: { None: null },
118
- gasData: tx.gasData,
119
- kind: {
120
- ProgrammableTransaction: tx.tx,
121
- },
122
- };
123
- }
124
- /**
125
- * @inheritdoc
126
- */
127
- explainTransaction() {
128
- const result = this.toJson();
129
- const displayOrder = ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'];
130
- const explanationResult = {
131
- displayOrder,
132
- id: this.id,
133
- outputs: [], // placeholder which will be filled in the next step
134
- outputAmount: '0', // placeholder which will be filled in the next step
135
- changeOutputs: [],
136
- changeAmount: '0',
137
- fee: { fee: this.suiTransaction.gasData.budget.toString() },
138
- type: this.type,
139
- };
140
- return this.explainCustomTransaction(result, explanationResult);
141
- }
142
- /**
143
- * Returns a complete explanation of the custom transaction
144
- * @param json
145
- * @param explanationResult
146
- */
147
- explainCustomTransaction(json, explanationResult) {
148
- const recipients = utils_1.default.getRecipients(this.suiTransaction);
149
- const outputs = recipients.map((recipient) => recipient);
150
- const outputAmount = recipients.reduce((accumulator, current) => accumulator + Number(current.amount), 0);
151
- return {
152
- ...explanationResult,
153
- outputs,
154
- outputAmount,
155
- };
156
- }
157
- }
158
- exports.CustomTransaction = CustomTransaction;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1DQU1pQjtBQUNqQiwrQ0FBNEM7QUFFNUMsb0RBQTRCO0FBQzVCLG1EQUEwSDtBQUMxSCwyQ0FBK0M7QUFFL0MsTUFBYSxpQkFBa0IsU0FBUSx5QkFBMEM7SUFJL0UsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLGNBQXNCO1FBQ3ZDLElBQUksQ0FBQztZQUNILGVBQUssQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLHlCQUFXLENBQUMseUJBQXlCLENBQzFELGNBQWMsQ0FDa0MsQ0FBQztZQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRywwQkFBa0IsQ0FBQyxRQUFRLENBQUM7WUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLFFBQVEsQ0FBQztZQUN0QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLDRCQUFnQixDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJ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Y2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDdXN0b21Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbixcbiAgU3VpVHJhbnNhY3Rpb24sXG4gIFN1aVRyYW5zYWN0aW9uVHlwZSxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgVHhEYXRhLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgUmVjaXBpZW50LCBUcmFuc2FjdGlvblJlY2lwaWVudCwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVU5BVkFJTEFCTEVfVEVYVCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIEN1c3RvbVRyYW5zYWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb248Q3VzdG9tUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgcHJpdmF0ZSBfcmF3VHJhbnNhY3Rpb246IHN0cmluZztcbiAgcHJpdmF0ZSBfcmVjaXBpZW50czogUmVjaXBpZW50W107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqIEBwYXJhbSByYXdUcmFuc2FjdGlvblxuICAgKi9cbiAgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdXRpbHMuaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHRoaXMuX3N1aVRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZGVzZXJpYWxpemVTdWlUcmFuc2FjdGlvbihcbiAgICAgICAgcmF3VHJhbnNhY3Rpb25cbiAgICAgICkgYXMgU3VpVHJhbnNhY3Rpb248Q3VzdG9tUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+O1xuICAgICAgdGhpcy5fc3VpVHJhbnNhY3Rpb24udHlwZSA9IFN1aVRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHg7XG4gICAgICB0aGlzLl9pZCA9IHRoaXMuX3N1aVRyYW5zYWN0aW9uLmlkO1xuICAgICAgdGhpcy5fcmF3VHJhbnNhY3Rpb24gPSByYXdUcmFuc2FjdGlvbjtcbiAgICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkIHx8IFVOQVZBSUxBQkxFX1RFWFQ7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9zdWlUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdlbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgbG9hZElucHV0c0FuZE91dHB1dHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zdWlUcmFuc2FjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3JlY2lwaWVudHMgPSB1dGlscy5nZXRSZWNpcGllbnRzKHRoaXMuX3N1aVRyYW5zYWN0aW9uKTtcbiAgICB0aGlzLl9vdXRwdXRzID0gdGhpcy5fcmVjaXBpZW50cy5tYXAoKHJlY2lwaWVudCwgaW5kZXgpID0+ICh7XG4gICAgICBhZGRyZXNzOiByZWNpcGllbnQuYWRkcmVzcyxcbiAgICAgIHZhbHVlOiByZWNpcGllbnQuYW1vdW50LFxuICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgIH0pKTtcbiAgICBjb25zdCB0b3RhbEFtb3VudCA9IHRoaXMuX3JlY2lwaWVudHMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudCkgPT4gYWNjdW11bGF0b3IgKyBOdW1iZXIoY3VycmVudC5hbW91bnQpLCAwKTtcblxuICAgIHRoaXMuX2lucHV0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5zdWlUcmFuc2FjdGlvbi5zZW5kZXIsXG4gICAgICAgIHZhbHVlOiB0b3RhbEFtb3VudC50b1N0cmluZygpLFxuICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSByYXcgdHJhbnNhY3Rpb24gYmFzZTY0IHN0cmluZ1xuICAgKi9cbiAgZ2V0IHJhd1RyYW5zYWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3Jhd1RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcmVjaXBpZW50cyBvZiB0aGUgdHJhbnNhY3Rpb24gaWYgdGhlcmUgaXMgYW55IHRyYW5zZmVycy5cbiAgICovXG4gIGdldCByZWNpcGllbnRzKCk6IFJlY2lwaWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5fcmVjaXBpZW50cztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIGdldFR4RGF0YSgpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5fc3VpVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignZW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCB0eCA9IHRoaXMuX3N1aVRyYW5zYWN0aW9uO1xuICAgIHJldHVybiB7XG4gICAgICBzZW5kZXI6IHRoaXMuX3N1aVRyYW5zYWN0aW9uLnNlbmRlcixcbiAgICAgIGV4cGlyYXRpb246IHsgTm9uZTogbnVsbCB9LFxuICAgICAgZ2FzRGF0YTogdGhpcy5fc3VpVHJhbnNhY3Rpb24uZ2FzRGF0YSxcbiAgICAgIGtpbmQ6IHtcbiAgICAgICAgUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb246IHR4LnR4LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9zdWlUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdlbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IHR4ID0gdGhpcy5fc3VpVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0eC5pZCxcbiAgICAgIHNlbmRlcjogdHguc2VuZGVyLFxuICAgICAgZXhwaXJhdGlvbjogeyBOb25lOiBudWxsIH0sXG4gICAgICBnYXNEYXRhOiB0eC5nYXNEYXRhLFxuICAgICAga2luZDoge1xuICAgICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjogdHgudHgsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0cycsICdvdXRwdXRBbW91bnQnLCAnY2hhbmdlT3V0cHV0cycsICdjaGFuZ2VBbW91bnQnLCAnZmVlJywgJ3R5cGUnXTtcbiAgICBjb25zdCBleHBsYW5hdGlvblJlc3VsdDogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiA9IHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0czogW10sIC8vIHBsYWNlaG9sZGVyIHdoaWNoIHdpbGwgYmUgZmlsbGVkIGluIHRoZSBuZXh0IHN0ZXBcbiAgICAgIG91dHB1dEFtb3VudDogJzAnLCAvLyBwbGFjZWhvbGRlciB3aGljaCB3aWxsIGJlIGZpbGxlZCBpbiB0aGUgbmV4dCBzdGVwXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgICAgZmVlOiB7IGZlZTogdGhpcy5zdWlUcmFuc2FjdGlvbi5nYXNEYXRhLmJ1ZGdldC50b1N0cmluZygpIH0sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmV4cGxhaW5DdXN0b21UcmFuc2FjdGlvbihyZXN1bHQsIGV4cGxhbmF0aW9uUmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgY29tcGxldGUgZXhwbGFuYXRpb24gb2YgdGhlIGN1c3RvbSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ganNvblxuICAgKiBAcGFyYW0gZXhwbGFuYXRpb25SZXN1bHRcbiAgICovXG4gIHByaXZhdGUgZXhwbGFpbkN1c3RvbVRyYW5zYWN0aW9uKGpzb246IFR4RGF0YSwgZXhwbGFuYXRpb25SZXN1bHQ6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24pOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZWNpcGllbnRzID0gdXRpbHMuZ2V0UmVjaXBpZW50cyh0aGlzLnN1aVRyYW5zYWN0aW9uKTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gcmVjaXBpZW50cy5tYXAoKHJlY2lwaWVudCkgPT4gcmVjaXBpZW50KTtcbiAgICBjb25zdCBvdXRwdXRBbW91bnQgPSByZWNpcGllbnRzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnQpID0+IGFjY3VtdWxhdG9yICsgTnVtYmVyKGN1cnJlbnQuYW1vdW50KSwgMCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmV4cGxhbmF0aW9uUmVzdWx0LFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudCxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,46 +0,0 @@
1
- import { TransactionBuilder } from './transactionBuilder';
2
- import { CustomProgrammableTransaction, SuiTransaction } from './iface';
3
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
- import { CustomTransaction } from './customTransaction';
5
- import { TransactionType } from '@bitgo-beta/sdk-core';
6
- import { Transaction } from './transaction';
7
- export declare class CustomTransactionBuilder extends TransactionBuilder<CustomProgrammableTransaction> {
8
- protected _rawTransaction: string;
9
- constructor(_coinConfig: Readonly<CoinConfig>);
10
- protected get transactionType(): TransactionType;
11
- /**
12
- * set the raw transaction base64 string
13
- * @param rawTransaction
14
- */
15
- rawTransaction(rawTransaction: string): this;
16
- /**
17
- * @inheritdoc
18
- */
19
- protected fromImplementation(rawTransaction: string): Transaction<CustomProgrammableTransaction>;
20
- /**
21
- * @inheritdoc
22
- */
23
- protected buildImplementation(): Promise<Transaction<CustomProgrammableTransaction>>;
24
- /**
25
- * Currently custom tx only allows a combination of 3 types of SUI transactions:
26
- * 1. SplitCoins
27
- * 2. TransferObjects
28
- * 3. MoveCall
29
- * @inheritdoc
30
- */
31
- validateTransaction(transaction: CustomTransaction): void;
32
- /**
33
- * Initialize the transaction builder fields using the decoded transaction data
34
- * @param tx
35
- */
36
- initBuilder(tx: CustomTransaction): void;
37
- /**
38
- * Validates all fields are defined
39
- */
40
- private validateTransactionFields;
41
- /**
42
- * Build the SuiTransaction object
43
- */
44
- protected buildSuiTransaction(): SuiTransaction<CustomProgrammableTransaction>;
45
- }
46
- //# sourceMappingURL=customTransactionBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"customTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/customTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAkD,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,wBAAyB,SAAQ,kBAAkB,CAAC,6BAA6B,CAAC;IAC7F,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAEtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,oBAE5B;IAED;;;OAGG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAM5C;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,6BAA6B,CAAC;IAShG;;OAEG;cACa,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAkB1F;;;;;;OAMG;IACH,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAiBzD;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI;IAcxC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,6BAA6B,CAAC;CAI/E"}
@@ -1,117 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CustomTransactionBuilder = void 0;
7
- const transactionBuilder_1 = require("./transactionBuilder");
8
- const iface_1 = require("./iface");
9
- const customTransaction_1 = require("./customTransaction");
10
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
11
- const transaction_1 = require("./transaction");
12
- const assert_1 = __importDefault(require("assert"));
13
- const utils_1 = __importDefault(require("./utils"));
14
- class CustomTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
15
- constructor(_coinConfig) {
16
- super(_coinConfig);
17
- this._transaction = new customTransaction_1.CustomTransaction(_coinConfig);
18
- }
19
- get transactionType() {
20
- return sdk_core_1.TransactionType.CustomTx;
21
- }
22
- /**
23
- * set the raw transaction base64 string
24
- * @param rawTransaction
25
- */
26
- rawTransaction(rawTransaction) {
27
- this.validateRawTransaction(rawTransaction);
28
- this._rawTransaction = rawTransaction;
29
- return this;
30
- }
31
- /**
32
- * @inheritdoc
33
- */
34
- fromImplementation(rawTransaction) {
35
- const tx = new customTransaction_1.CustomTransaction(this._coinConfig);
36
- this.validateRawTransaction(rawTransaction);
37
- tx.fromRawTransaction(rawTransaction);
38
- this.initBuilder(tx);
39
- this.validateTransaction(tx);
40
- return this.transaction;
41
- }
42
- /**
43
- * @inheritdoc
44
- */
45
- async buildImplementation() {
46
- this.transaction.setSuiTransaction(this.buildSuiTransaction());
47
- this.transaction.transactionType(this.transactionType);
48
- if (this._signer) {
49
- this.transaction.sign(this._signer);
50
- }
51
- if (this.transaction.signature.length === 0) {
52
- this._signatures.forEach((signature) => {
53
- this.transaction.addSignature(signature.publicKey, signature.signature);
54
- });
55
- }
56
- this.transaction.loadInputsAndOutputs();
57
- return this.transaction;
58
- }
59
- /**
60
- * Currently custom tx only allows a combination of 3 types of SUI transactions:
61
- * 1. SplitCoins
62
- * 2. TransferObjects
63
- * 3. MoveCall
64
- * @inheritdoc
65
- */
66
- validateTransaction(transaction) {
67
- if (!transaction.suiTransaction) {
68
- return;
69
- }
70
- this.validateTransactionFields();
71
- try {
72
- this.transaction.suiTransaction.tx.transactions.forEach((tx) => {
73
- utils_1.default.getSuiTransactionType(tx);
74
- });
75
- }
76
- catch (e) {
77
- if (e instanceof sdk_core_1.InvalidTransactionError) {
78
- throw new sdk_core_1.BuildTransactionError(e.message);
79
- }
80
- throw e;
81
- }
82
- }
83
- /**
84
- * Initialize the transaction builder fields using the decoded transaction data
85
- * @param tx
86
- */
87
- initBuilder(tx) {
88
- this._transaction = tx;
89
- if (tx.signature && tx.signature.length > 0) {
90
- this._signatures = [tx.suiSignature];
91
- }
92
- this.type(iface_1.SuiTransactionType.CustomTx);
93
- const txData = tx.toJson();
94
- this.sender(txData.sender);
95
- this.rawTransaction(tx.rawTransaction);
96
- this.gasData(txData.gasData);
97
- }
98
- /**
99
- * Validates all fields are defined
100
- */
101
- validateTransactionFields() {
102
- (0, assert_1.default)(this._type, new sdk_core_1.BuildTransactionError('type is required before building'));
103
- (0, assert_1.default)(this._sender, new sdk_core_1.BuildTransactionError('sender is required before building'));
104
- (0, assert_1.default)(this._gasData, new sdk_core_1.BuildTransactionError('gasData is required before building'));
105
- (0, assert_1.default)(this._rawTransaction, new sdk_core_1.BuildTransactionError('rawTransaction is required before building'));
106
- this.validateGasData(this._gasData);
107
- }
108
- /**
109
- * Build the SuiTransaction object
110
- */
111
- buildSuiTransaction() {
112
- this.validateTransactionFields();
113
- return transaction_1.Transaction.deserializeSuiTransaction(this._rawTransaction);
114
- }
115
- }
116
- exports.CustomTransactionBuilder = CustomTransactionBuilder;
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkRBQTBEO0FBQzFELG1DQUE0RjtBQUU1RiwyREFBd0Q7QUFDeEQsbURBQXVHO0FBQ3ZHLCtDQUE0QztBQUM1QyxvREFBNEI7QUFDNUIsb0RBQTRCO0FBRTVCLE1BQWEsd0JBQXlCLFNBQVEsdUNBQWlEO0lBRzdGLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxjQUFzQjtRQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFD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LENBQUM7UUFDeEYsSUFBQSxnQkFBTSxFQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxnQ0FBcUIsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ08sbUJBQW1CO1FBQzNCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ2pDLE9BQU8seUJBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFrRCxDQUFDO0lBQ3RILENBQUM7Q0FDRjtBQW5IRCw0REFtSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBDdXN0b21Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbiwgU3VpVHJhbnNhY3Rpb24sIFN1aVRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQ3VzdG9tVHJhbnNhY3Rpb24gfSBmcm9tICcuL2N1c3RvbVRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXI8Q3VzdG9tUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgcHJvdGVjdGVkIF9yYXdUcmFuc2FjdGlvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBDdXN0b21UcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xuICB9XG5cbiAgLyoqXG4gICAqIHNldCB0aGUgcmF3IHRyYW5zYWN0aW9uIGJhc2U2NCBzdHJpbmdcbiAgICogQHBhcmFtIHJhd1RyYW5zYWN0aW9uXG4gICAqL1xuICByYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLl9yYXdUcmFuc2FjdGlvbiA9IHJhd1RyYW5zYWN0aW9uO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbjxDdXN0b21Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4ID0gbmV3IEN1c3RvbVRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnZhbGlkYXRlVHJhbnNhY3Rpb24odHgpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPEN1c3RvbVByb2dyYW1tYWJsZVRyYW5zYWN0aW9uPj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0U3VpVHJhbnNhY3Rpb24odGhpcy5idWlsZFN1aVRyYW5zYWN0aW9uKCkpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlKHRoaXMudHJhbnNhY3Rpb25UeXBlKTtcblxuICAgIGlmICh0aGlzLl9zaWduZXIpIHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbih0aGlzLl9zaWduZXIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnNpZ25hdHVyZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3NpZ25hdHVyZXMuZm9yRWFjaCgoc2lnbmF0dXJlKSA9PiB7XG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb24uYWRkU2lnbmF0dXJlKHNpZ25hdHVyZS5wdWJsaWNLZXksIHNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEN1cnJlbnRseSBjdXN0b20gdHggb25seSBhbGxvd3MgYSBjb21iaW5hdGlvbiBvZiAzIHR5cGVzIG9mIFNVSSB0cmFuc2FjdGlvbnM6XG4gICAqIDEuIFNwbGl0Q29pbnNcbiAgICogMi4gVHJhbnNmZXJPYmplY3RzXG4gICAqIDMuIE1vdmVDYWxsXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBDdXN0b21UcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIGlmICghdHJhbnNhY3Rpb24uc3VpVHJhbnNhY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uRmllbGRzKCk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uc3VpVHJhbnNhY3Rpb24udHgudHJhbnNhY3Rpb25zLmZvckVhY2goKHR4KSA9PiB7XG4gICAgICAgIHV0aWxzLmdldFN1aVRyYW5zYWN0aW9uVHlwZSh0eCk7XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEludmFsaWRUcmFuc2FjdGlvbkVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSBkZWNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICogQHBhcmFtIHR4XG4gICAqL1xuICBpbml0QnVpbGRlcih0eDogQ3VzdG9tVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHR4O1xuXG4gICAgaWYgKHR4LnNpZ25hdHVyZSAmJiB0eC5zaWduYXR1cmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fc2lnbmF0dXJlcyA9IFt0eC5zdWlTaWduYXR1cmVdO1xuICAgIH1cblxuICAgIHRoaXMudHlwZShTdWlUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHgpO1xuICAgIGNvbnN0IHR4RGF0YSA9IHR4LnRvSnNvbigpO1xuICAgIHRoaXMuc2VuZGVyKHR4RGF0YS5zZW5kZXIpO1xuICAgIHRoaXMucmF3VHJhbnNhY3Rpb24odHgucmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMuZ2FzRGF0YSh0eERhdGEuZ2FzRGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGFsbCBmaWVsZHMgYXJlIGRlZmluZWRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVUcmFuc2FjdGlvbkZpZWxkcygpOiB2b2lkIHtcbiAgICBhc3NlcnQodGhpcy5fdHlwZSwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcigndHlwZSBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignc2VuZGVyIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICBhc3NlcnQodGhpcy5fZ2FzRGF0YSwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignZ2FzRGF0YSBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgYXNzZXJ0KHRoaXMuX3Jhd1RyYW5zYWN0aW9uLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdyYXdUcmFuc2FjdGlvbiBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgdGhpcy52YWxpZGF0ZUdhc0RhdGEodGhpcy5fZ2FzRGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgdGhlIFN1aVRyYW5zYWN0aW9uIG9iamVjdFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkU3VpVHJhbnNhY3Rpb24oKTogU3VpVHJhbnNhY3Rpb248Q3VzdG9tUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLnZhbGlkYXRlVHJhbnNhY3Rpb25GaWVsZHMoKTtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb24uZGVzZXJpYWxpemVTdWlUcmFuc2FjdGlvbih0aGlzLl9yYXdUcmFuc2FjdGlvbikgYXMgU3VpVHJhbnNhY3Rpb248Q3VzdG9tUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+O1xuICB9XG59XG4iXX0=