@bitgo-beta/sdk-coin-sui 3.0.3-beta.16 → 3.0.3-beta.160

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 (57) hide show
  1. package/.mocharc.yml +1 -2
  2. package/CHANGELOG.md +174 -0
  3. package/dist/src/lib/compareTransactionBlocks.d.ts +8 -0
  4. package/dist/src/lib/compareTransactionBlocks.d.ts.map +1 -0
  5. package/dist/src/lib/compareTransactionBlocks.js +13 -0
  6. package/dist/src/lib/constants.d.ts +1 -0
  7. package/dist/src/lib/constants.d.ts.map +1 -1
  8. package/dist/src/lib/constants.js +3 -2
  9. package/dist/src/lib/customTransaction.d.ts +57 -0
  10. package/dist/src/lib/customTransaction.d.ts.map +1 -0
  11. package/dist/src/lib/customTransaction.js +159 -0
  12. package/dist/src/lib/customTransactionBuilder.d.ts +46 -0
  13. package/dist/src/lib/customTransactionBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/customTransactionBuilder.js +117 -0
  15. package/dist/src/lib/iface.d.ts +22 -4
  16. package/dist/src/lib/iface.d.ts.map +1 -1
  17. package/dist/src/lib/iface.js +14 -1
  18. package/dist/src/lib/index.d.ts +2 -0
  19. package/dist/src/lib/index.d.ts.map +1 -1
  20. package/dist/src/lib/index.js +6 -2
  21. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -1
  22. package/dist/src/lib/mystenlab/builder/Inputs.js +1 -1
  23. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +33 -35
  24. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +2 -0
  25. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -1
  26. package/dist/src/lib/mystenlab/framework/sui-system-state.js +5 -2
  27. package/dist/src/lib/mystenlab/types/coin.d.ts +4 -4
  28. package/dist/src/lib/mystenlab/types/events.d.ts +12 -12
  29. package/dist/src/lib/mystenlab/types/objects.d.ts +49 -49
  30. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -1
  31. package/dist/src/lib/mystenlab/types/sui-bcs.js +2 -2
  32. package/dist/src/lib/mystenlab/types/transactions.d.ts +76 -76
  33. package/dist/src/lib/mystenlab/types/validator.d.ts +4 -4
  34. package/dist/src/lib/stakingBuilder.d.ts +3 -3
  35. package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
  36. package/dist/src/lib/stakingBuilder.js +28 -25
  37. package/dist/src/lib/stakingTransaction.d.ts +1 -0
  38. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  39. package/dist/src/lib/stakingTransaction.js +9 -12
  40. package/dist/src/lib/transaction.d.ts +2 -0
  41. package/dist/src/lib/transaction.d.ts.map +1 -1
  42. package/dist/src/lib/transaction.js +19 -2
  43. package/dist/src/lib/transactionBuilderFactory.d.ts +4 -1
  44. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  45. package/dist/src/lib/transactionBuilderFactory.js +11 -1
  46. package/dist/src/lib/transferTransaction.d.ts +1 -0
  47. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  48. package/dist/src/lib/unstakingBuilder.d.ts +8 -1
  49. package/dist/src/lib/unstakingBuilder.d.ts.map +1 -1
  50. package/dist/src/lib/unstakingBuilder.js +95 -16
  51. package/dist/src/lib/unstakingTransaction.d.ts +26 -1
  52. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -1
  53. package/dist/src/lib/unstakingTransaction.js +146 -21
  54. package/dist/src/lib/utils.d.ts +14 -4
  55. package/dist/src/lib/utils.d.ts.map +1 -1
  56. package/dist/src/lib/utils.js +84 -14
  57. package/package.json +13 -10
package/.mocharc.yml CHANGED
@@ -1,8 +1,7 @@
1
1
  require: 'ts-node/register'
2
- timeout: '60000'
2
+ timeout: 60000
3
3
  reporter: 'min'
4
4
  reporter-option:
5
5
  - 'cdn=true'
6
6
  - 'json=false'
7
7
  exit: true
8
- spec: ['test/unit/**/*.ts']
package/CHANGELOG.md CHANGED
@@ -3,6 +3,180 @@
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
+ # [4.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.5.0) (2023-10-20)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
11
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
12
+
13
+ ### Features
14
+
15
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
16
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
17
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
18
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
19
+
20
+ # [4.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.4.0) (2023-10-18)
21
+
22
+ ### Bug Fixes
23
+
24
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
25
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
26
+
27
+ ### Features
28
+
29
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
30
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
31
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
32
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
33
+
34
+ # [4.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.3.0) (2023-09-25)
35
+
36
+ ### Bug Fixes
37
+
38
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
39
+
40
+ ### Features
41
+
42
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
43
+
44
+ ## [4.2.10](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.10) (2023-09-09)
45
+
46
+ ### Bug Fixes
47
+
48
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
49
+
50
+ ## [4.2.9](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.9) (2023-09-09)
51
+
52
+ ### Bug Fixes
53
+
54
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
55
+
56
+ ## [4.2.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.8) (2023-09-07)
57
+
58
+ ### Bug Fixes
59
+
60
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
61
+
62
+ ## [4.2.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.7) (2023-09-05)
63
+
64
+ ### Bug Fixes
65
+
66
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
67
+
68
+ ## [4.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.6) (2023-09-01)
69
+
70
+ ### Bug Fixes
71
+
72
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
73
+
74
+ ## [4.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.5) (2023-08-29)
75
+
76
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
77
+
78
+ ## [4.2.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.4) (2023-08-25)
79
+
80
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
81
+
82
+ ## [4.2.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.3) (2023-08-24)
83
+
84
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
85
+
86
+ ## [4.2.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.2) (2023-08-16)
87
+
88
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
89
+
90
+ ## [4.2.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.2.1) (2023-08-16)
91
+
92
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
93
+
94
+ # [4.2.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.0.0...@bitgo/sdk-coin-sui@4.2.0) (2023-08-04)
95
+
96
+ ### Features
97
+
98
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
99
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
100
+
101
+ # [4.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.0.0...@bitgo/sdk-coin-sui@4.1.0) (2023-07-28)
102
+
103
+ ### Features
104
+
105
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
106
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
107
+
108
+ # [4.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.2.0...@bitgo/sdk-coin-sui@4.0.0) (2023-07-18)
109
+
110
+ ### Features
111
+
112
+ - **sdk-coin-sui:** support stakeMany ([a908565](https://github.com/BitGo/BitGoJS/commit/a908565bf1e1b6d28503836f85ba83fc7472b1cf))
113
+
114
+ ### BREAKING CHANGES
115
+
116
+ - **sdk-coin-sui:** change addStake interface to support stake multiple
117
+ validator
118
+
119
+ # [3.2.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.1.2...@bitgo/sdk-coin-sui@3.2.0) (2023-06-21)
120
+
121
+ ### Bug Fixes
122
+
123
+ - **sdk-coin-sui:** add output value for unstaking txs ([9430e60](https://github.com/BitGo/BitGoJS/commit/9430e60d8000bb8d76e3057501c04d403458c1e7))
124
+ - **sdk-coin-sui:** fix method name for parsing reserialized tx pair ([a0e052b](https://github.com/BitGo/BitGoJS/commit/a0e052be7153f38de0d9fce57fd0776ef2f4a7d2))
125
+
126
+ ### Features
127
+
128
+ - **sdk-coin-sui:** double-check reserialized transactions ([dc2d672](https://github.com/BitGo/BitGoJS/commit/dc2d6725ee23767533a05e06990169b990104f7e))
129
+
130
+ ## [3.1.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.1.1...@bitgo/sdk-coin-sui@3.1.2) (2023-06-14)
131
+
132
+ ### Bug Fixes
133
+
134
+ - **sdk-coin-sui:** fix unstaking again ([ea0345f](https://github.com/BitGo/BitGoJS/commit/ea0345fec578dbb44c4230c9fde520dae1431151))
135
+
136
+ ## [3.1.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.1.0...@bitgo/sdk-coin-sui@3.1.1) (2023-06-13)
137
+
138
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
139
+
140
+ # [3.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.7...@bitgo/sdk-coin-sui@3.1.0) (2023-06-07)
141
+
142
+ ### Bug Fixes
143
+
144
+ - **sdk-coin-sui:** add method in RpcClient debug output ([e2541f2](https://github.com/BitGo/BitGoJS/commit/e2541f286ee04eeb96ddf4d9860014a26b47d592))
145
+ - **sdk-coin-sui:** improve unstaking test ([9e63d54](https://github.com/BitGo/BitGoJS/commit/9e63d548036516b3bd71c6527e24a290d5fd6674))
146
+ - **sdk-coin-sui:** remove `spec:` config in mocharc.yml ([4b53e1b](https://github.com/BitGo/BitGoJS/commit/4b53e1b3df47e6f33324a00c01e472f7215dc5ad))
147
+
148
+ ### Features
149
+
150
+ - **sdk-coin-sui:** add support for partial unstaking ([20cdb77](https://github.com/BitGo/BitGoJS/commit/20cdb774159dac7335298f3d4d83f8a29018f3c3))
151
+
152
+ ## [3.0.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.6...@bitgo/sdk-coin-sui@3.0.7) (2023-06-05)
153
+
154
+ ### Bug Fixes
155
+
156
+ - **sdk-coin-sui:** add src/lib/mystenlab to .prettierignore ([a90139b](https://github.com/BitGo/BitGoJS/commit/a90139ba7fe07129a1eaa63531c9a61ac23a6759))
157
+
158
+ ## [3.0.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.5...@bitgo/sdk-coin-sui@3.0.6) (2023-05-25)
159
+
160
+ ### Bug Fixes
161
+
162
+ - **sdk-coin-sui:** fix amount parsing ([b7e2b40](https://github.com/BitGo/BitGoJS/commit/b7e2b40711161a9f9fe739bcb71f5af00da2c689))
163
+ - **sdk-coin-sui:** fix large transaction ([050f66d](https://github.com/BitGo/BitGoJS/commit/050f66d58e4ad15f16ba94a6d9cc07d4e0ea19c6))
164
+ - **sdk-coin-sui:** fix split transaction ([a46eaff](https://github.com/BitGo/BitGoJS/commit/a46eaffc48506ba568e4c36237e874c32b5a0a24))
165
+
166
+ ## [3.0.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.4...@bitgo/sdk-coin-sui@3.0.5) (2023-05-17)
167
+
168
+ ### Bug Fixes
169
+
170
+ - **sdk-coin-sui:** support split coin ([cf34f73](https://github.com/BitGo/BitGoJS/commit/cf34f7391d47080ca0427a3bc62173afc0102f12))
171
+
172
+ ## [3.0.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.3...@bitgo/sdk-coin-sui@3.0.4) (2023-05-10)
173
+
174
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
175
+
176
+ ## [3.0.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.2...@bitgo/sdk-coin-sui@3.0.3) (2023-05-03)
177
+
178
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
179
+
6
180
  ## [3.0.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.1...@bitgo/sdk-coin-sui@3.0.2) (2023-04-25)
7
181
 
8
182
  **Note:** Version bump only for package @bitgo/sdk-coin-sui
@@ -0,0 +1,8 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,13 @@
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 = void 0;
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
+ exports.assertEqualTransactionBlocks = assertEqualTransactionBlocks;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZVRyYW5zYWN0aW9uQmxvY2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21wYXJlVHJhbnNhY3Rpb25CbG9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLFNBQWdCLDRCQUE0QixDQUMxQyxDQUFpRCxFQUNqRCxDQUFpRDtJQUVqRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUMvRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBTkQsb0VBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRFcXVhbFRyYW5zYWN0aW9uQmxvY2tzKFxuICBhOiB7IGlucHV0czogdW5rbm93bltdOyB0cmFuc2FjdGlvbnM6IHVua25vd25bXSB9LFxuICBiOiB7IGlucHV0czogdW5rbm93bltdOyB0cmFuc2FjdGlvbnM6IHVua25vd25bXSB9XG4pOiB2b2lkIHtcbiAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChhLmlucHV0cywgYi5pbnB1dHMsICdEaWZmZXJlbnQgaW5wdXRzJyk7XG4gIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoYS50cmFuc2FjdGlvbnMsIGIudHJhbnNhY3Rpb25zLCAnRGlmZmVyZW50IHRyYW5zYWN0aW9ucycpO1xufVxuIl19
@@ -6,4 +6,5 @@ export declare const SUI_ADDRESS_LENGTH = 32;
6
6
  export declare const SER_BUFFER_SIZE = 8192;
7
7
  export declare const SUI_INTENT_BYTES: Buffer;
8
8
  export declare const SIGNATURE_SCHEME_BYTES: number[];
9
+ export declare const MIN_STAKING_THRESHOLD = 1000000000;
9
10
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
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,QAAyB,CAAC;AAEvD,eAAO,MAAM,sBAAsB,UAAS,CAAC"}
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,QAAyB,CAAC;AAEvD,eAAO,MAAM,sBAAsB,UAAS,CAAC;AAE7C,eAAO,MAAM,qBAAqB,aAAgB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SIGNATURE_SCHEME_BYTES = exports.SUI_INTENT_BYTES = exports.SER_BUFFER_SIZE = exports.SUI_ADDRESS_LENGTH = exports.DUMMY_SUI_GAS_PRICE = exports.AMOUNT_UNKNOWN_TEXT = exports.UNAVAILABLE_TEXT = void 0;
3
+ exports.MIN_STAKING_THRESHOLD = exports.SIGNATURE_SCHEME_BYTES = exports.SUI_INTENT_BYTES = exports.SER_BUFFER_SIZE = exports.SUI_ADDRESS_LENGTH = exports.DUMMY_SUI_GAS_PRICE = exports.AMOUNT_UNKNOWN_TEXT = exports.UNAVAILABLE_TEXT = void 0;
4
4
  exports.UNAVAILABLE_TEXT = 'UNAVAILABLE';
5
5
  exports.AMOUNT_UNKNOWN_TEXT = 'AMOUNT_UNKNOWN';
6
6
  // Refer to
@@ -10,4 +10,5 @@ exports.SUI_ADDRESS_LENGTH = 32;
10
10
  exports.SER_BUFFER_SIZE = 8192;
11
11
  exports.SUI_INTENT_BYTES = Buffer.from([0, 0, 0]);
12
12
  exports.SIGNATURE_SCHEME_BYTES = [0x00];
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwRCxXQUFXO0FBQ1gsbUZBQW1GO0FBQ3RFLFFBQUEsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQztBQUV2QixRQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUMsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVOQVZBSUxBQkxFX1RFWFQgPSAnVU5BVkFJTEFCTEUnO1xuZXhwb3J0IGNvbnN0IEFNT1VOVF9VTktOT1dOX1RFWFQgPSAnQU1PVU5UX1VOS05PV04nO1xuXG4vLyBSZWZlciB0b1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL015c3RlbkxhYnMvc3VpL2Jsb2IvbWFpbi9jcmF0ZXMvc3VpLXR5cGVzL3NyYy9tZXNzYWdlcy5ycyNMNTBcbmV4cG9ydCBjb25zdCBEVU1NWV9TVUlfR0FTX1BSSUNFID0gMTAwMDtcbmV4cG9ydCBjb25zdCBTVUlfQUREUkVTU19MRU5HVEggPSAzMjtcbmV4cG9ydCBjb25zdCBTRVJfQlVGRkVSX1NJWkUgPSA4MTkyO1xuXG5leHBvcnQgY29uc3QgU1VJX0lOVEVOVF9CWVRFUyA9IEJ1ZmZlci5mcm9tKFswLCAwLCAwXSk7XG5cbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfU0NIRU1FX0JZVEVTID0gWzB4MDBdO1xuIl19
13
+ exports.MIN_STAKING_THRESHOLD = 1000000000; // 1 SUI
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwRCxXQUFXO0FBQ1gsbUZBQW1GO0FBQ3RFLFFBQUEsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQztBQUV2QixRQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUMsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWhDLFFBQUEscUJBQXFCLEdBQUcsVUFBYSxDQUFDLENBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBVTkFWQUlMQUJMRV9URVhUID0gJ1VOQVZBSUxBQkxFJztcbmV4cG9ydCBjb25zdCBBTU9VTlRfVU5LTk9XTl9URVhUID0gJ0FNT1VOVF9VTktOT1dOJztcblxuLy8gUmVmZXIgdG9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NeXN0ZW5MYWJzL3N1aS9ibG9iL21haW4vY3JhdGVzL3N1aS10eXBlcy9zcmMvbWVzc2FnZXMucnMjTDUwXG5leHBvcnQgY29uc3QgRFVNTVlfU1VJX0dBU19QUklDRSA9IDEwMDA7XG5leHBvcnQgY29uc3QgU1VJX0FERFJFU1NfTEVOR1RIID0gMzI7XG5leHBvcnQgY29uc3QgU0VSX0JVRkZFUl9TSVpFID0gODE5MjtcblxuZXhwb3J0IGNvbnN0IFNVSV9JTlRFTlRfQllURVMgPSBCdWZmZXIuZnJvbShbMCwgMCwgMF0pO1xuXG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX1NDSEVNRV9CWVRFUyA9IFsweDAwXTtcblxuZXhwb3J0IGNvbnN0IE1JTl9TVEFLSU5HX1RIUkVTSE9MRCA9IDFfMDAwXzAwMF8wMDA7IC8vIDEgU1VJXG4iXX0=
@@ -0,0 +1,57 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,159 @@
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: [],
134
+ outputAmount: '0',
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1DQU1pQjtBQUNqQiwrQ0FBNEM7QUFFNUMsb0RBQTRCO0FBQzVCLG1EQUEwSDtBQUMxSCwyQ0FBK0M7QUFFL0MsTUFBYSxpQkFBa0IsU0FBUSx5QkFBMEM7SUFJL0UsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLGNBQXNCO1FBQ3ZDLElBQUk7WUFDRixlQUFLLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyx5QkFBVyxDQUFDLHlCQUF5QixDQUMxRCxjQUFjLENBQ2tDLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsMEJBQWtCLENBQUMsUUFBUSxDQUFDO1lBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxRQUFRLENBQUM7WUFDdEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztZQUN0QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSw0QkFBZ0IsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsR0FBWTtRQUNsQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFp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LGVBQWUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZHLE1BQU0saUJBQWlCLEdBQTJCO1lBQ2hELFlBQVk7WUFDWixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxPQUFPLEVBQUUsRUFBRTtZQUNYLFlBQVksRUFBRSxHQUFHO1lBQ2pCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLFlBQVksRUFBRSxHQUFHO1lBQ2pCLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDM0QsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHdCQUF3QixDQUFDLElBQVksRUFBRSxpQkFBeUM7UUFDdEYsTUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQTJCLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRyxPQUFPO1lBQ0wsR0FBRyxpQkFBaUI7WUFDcEIsT0FBTztZQUNQLFlBQVk7U0FDYixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcktELDhDQXFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEN1c3RvbVByb2dyYW1tYWJsZVRyYW5zYWN0aW9uLFxuICBTdWlUcmFuc2FjdGlvbixcbiAgU3VpVHJhbnNhY3Rpb25UeXBlLFxuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUeERhdGEsXG59IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJhc2VLZXksIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBSZWNpcGllbnQsIFRyYW5zYWN0aW9uUmVjaXBpZW50LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBVTkFWQUlMQUJMRV9URVhUIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tVHJhbnNhY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbjxDdXN0b21Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICBwcml2YXRlIF9yYXdUcmFuc2FjdGlvbjogc3RyaW5nO1xuICBwcml2YXRlIF9yZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICogQHBhcmFtIHJhd1RyYW5zYWN0aW9uXG4gICAqL1xuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB1dGlscy5pc1ZhbGlkUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgICAgdGhpcy5fc3VpVHJhbnNhY3Rpb24gPSBUcmFuc2FjdGlvbi5kZXNlcmlhbGl6ZVN1aVRyYW5zYWN0aW9uKFxuICAgICAgICByYXdUcmFuc2FjdGlvblxuICAgICAgKSBhcyBTdWlUcmFuc2FjdGlvbjxDdXN0b21Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbj47XG4gICAgICB0aGlzLl9zdWlUcmFuc2FjdGlvbi50eXBlID0gU3VpVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xuICAgICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgICAgIHRoaXMuX2lkID0gdGhpcy5fc3VpVHJhbnNhY3Rpb24uaWQ7XG4gICAgICB0aGlzLl9yYXdUcmFuc2FjdGlvbiA9IHJhd1RyYW5zYWN0aW9uO1xuICAgICAgdGhpcy5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQgfHwgVU5BVkFJTEFCTEVfVEVYVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgY2FuU2lnbihrZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX3N1aVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ2VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBsb2FkSW5wdXRzQW5kT3V0cHV0cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3N1aVRyYW5zYWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcmVjaXBpZW50cyA9IHV0aWxzLmdldFJlY2lwaWVudHModGhpcy5fc3VpVHJhbnNhY3Rpb24pO1xuICAgIHRoaXMuX291dHB1dHMgPSB0aGlzLl9yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50LCBpbmRleCkgPT4gKHtcbiAgICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgICAgdmFsdWU6IHJlY2lwaWVudC5hbW91bnQsXG4gICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgfSkpO1xuICAgIGNvbnN0IHRvdGFsQW1vdW50ID0gdGhpcy5fcmVjaXBpZW50cy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50KSA9PiBhY2N1bXVsYXRvciArIE51bWJlcihjdXJyZW50LmFtb3VudCksIDApO1xuXG4gICAgdGhpcy5faW5wdXRzID0gW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiB0aGlzLnN1aVRyYW5zYWN0aW9uLnNlbmRlcixcbiAgICAgICAgdmFsdWU6IHRvdGFsQW1vdW50LnRvU3RyaW5nKCksXG4gICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJhdyB0cmFuc2FjdGlvbiBiYXNlNjQgc3RyaW5nXG4gICAqL1xuICBnZXQgcmF3VHJhbnNhY3Rpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcmF3VHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSByZWNpcGllbnRzIG9mIHRoZSB0cmFuc2FjdGlvbiBpZiB0aGVyZSBpcyBhbnkgdHJhbnNmZXJzLlxuICAgKi9cbiAgZ2V0IHJlY2lwaWVudHMoKTogUmVjaXBpZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9yZWNpcGllbnRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgZ2V0VHhEYXRhKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9zdWlUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdlbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IHR4ID0gdGhpcy5fc3VpVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbmRlcjogdGhpcy5fc3VpVHJhbnNhY3Rpb24uc2VuZGVyLFxuICAgICAgZXhwaXJhdGlvbjogeyBOb25lOiBudWxsIH0sXG4gICAgICBnYXNEYXRhOiB0aGlzLl9zdWlUcmFuc2FjdGlvbi5nYXNEYXRhLFxuICAgICAga2luZDoge1xuICAgICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjogdHgudHgsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX3N1aVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ2VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdHggPSB0aGlzLl9zdWlUcmFuc2FjdGlvbjtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHR4LmlkLFxuICAgICAgc2VuZGVyOiB0eC5zZW5kZXIsXG4gICAgICBleHBpcmF0aW9uOiB7IE5vbmU6IG51bGwgfSxcbiAgICAgIGdhc0RhdGE6IHR4Lmdhc0RhdGEsXG4gICAgICBraW5kOiB7XG4gICAgICAgIFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uOiB0eC50eCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gWydpZCcsICdvdXRwdXRzJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VPdXRwdXRzJywgJ2NoYW5nZUFtb3VudCcsICdmZWUnLCAndHlwZSddO1xuICAgIGNvbnN0IGV4cGxhbmF0aW9uUmVzdWx0OiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uID0ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBvdXRwdXRzOiBbXSwgLy8gcGxhY2Vob2xkZXIgd2hpY2ggd2lsbCBiZSBmaWxsZWQgaW4gdGhlIG5leHQgc3RlcFxuICAgICAgb3V0cHV0QW1vdW50OiAnMCcsIC8vIHBsYWNlaG9sZGVyIHdoaWNoIHdpbGwgYmUgZmlsbGVkIGluIHRoZSBuZXh0IHN0ZXBcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiB0aGlzLnN1aVRyYW5zYWN0aW9uLmdhc0RhdGEuYnVkZ2V0LnRvU3RyaW5nKCkgfSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuZXhwbGFpbkN1c3RvbVRyYW5zYWN0aW9uKHJlc3VsdCwgZXhwbGFuYXRpb25SZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb21wbGV0ZSBleHBsYW5hdGlvbiBvZiB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBqc29uXG4gICAqIEBwYXJhbSBleHBsYW5hdGlvblJlc3VsdFxuICAgKi9cbiAgcHJpdmF0ZSBleHBsYWluQ3VzdG9tVHJhbnNhY3Rpb24oanNvbjogVHhEYXRhLCBleHBsYW5hdGlvblJlc3VsdDogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbik6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB1dGlscy5nZXRSZWNpcGllbnRzKHRoaXMuc3VpVHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSByZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiByZWNpcGllbnQpO1xuICAgIGNvbnN0IG91dHB1dEFtb3VudCA9IHJlY2lwaWVudHMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudCkgPT4gYWNjdW11bGF0b3IgKyBOdW1iZXIoY3VycmVudC5hbW91bnQpLCAwKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZXhwbGFuYXRpb25SZXN1bHQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgb3V0cHV0QW1vdW50LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,46 @@
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
@@ -0,0 +1 @@
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"}