@bitgo-beta/sdk-coin-sui 3.0.3-beta.20 → 3.0.3-beta.200

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 +294 -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,300 @@
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.13.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.13.0) (2023-12-09)
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
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
13
+
14
+ ### Features
15
+
16
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
17
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
18
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
19
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
20
+
21
+ # [4.12.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.12.0) (2023-12-05)
22
+
23
+ ### Bug Fixes
24
+
25
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
26
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
27
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
28
+
29
+ ### Features
30
+
31
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
32
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
33
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
34
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
35
+
36
+ # [4.11.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.11.0) (2023-11-28)
37
+
38
+ ### Bug Fixes
39
+
40
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
41
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
42
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
43
+
44
+ ### Features
45
+
46
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
47
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
48
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
49
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
50
+
51
+ # [4.10.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.10.0) (2023-11-24)
52
+
53
+ ### Bug Fixes
54
+
55
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
56
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
57
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
58
+
59
+ ### Features
60
+
61
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
62
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
63
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
64
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
65
+
66
+ # [4.9.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.9.0) (2023-11-17)
67
+
68
+ ### Bug Fixes
69
+
70
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
71
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
72
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
73
+
74
+ ### Features
75
+
76
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
77
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
78
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
79
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
80
+
81
+ # [4.8.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.8.0) (2023-11-13)
82
+
83
+ ### Bug Fixes
84
+
85
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
86
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
87
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
88
+
89
+ ### Features
90
+
91
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
92
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
93
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
94
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
95
+
96
+ # [4.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.7.0) (2023-11-13)
97
+
98
+ ### Bug Fixes
99
+
100
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
101
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
102
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
103
+
104
+ ### Features
105
+
106
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
107
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
108
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
109
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
110
+
111
+ # [4.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.6.0) (2023-11-13)
112
+
113
+ ### Bug Fixes
114
+
115
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
116
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
117
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
118
+
119
+ ### Features
120
+
121
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
122
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
123
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
124
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
125
+
126
+ # [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)
127
+
128
+ ### Bug Fixes
129
+
130
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
131
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
132
+
133
+ ### Features
134
+
135
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
136
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
137
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
138
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
139
+
140
+ # [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)
141
+
142
+ ### Bug Fixes
143
+
144
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
145
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
146
+
147
+ ### Features
148
+
149
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
150
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
151
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
152
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
153
+
154
+ # [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)
155
+
156
+ ### Bug Fixes
157
+
158
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
159
+
160
+ ### Features
161
+
162
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
163
+
164
+ ## [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)
165
+
166
+ ### Bug Fixes
167
+
168
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
169
+
170
+ ## [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)
171
+
172
+ ### Bug Fixes
173
+
174
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
175
+
176
+ ## [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)
177
+
178
+ ### Bug Fixes
179
+
180
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
181
+
182
+ ## [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)
183
+
184
+ ### Bug Fixes
185
+
186
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
187
+
188
+ ## [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)
189
+
190
+ ### Bug Fixes
191
+
192
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
193
+
194
+ ## [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)
195
+
196
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
197
+
198
+ ## [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)
199
+
200
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
201
+
202
+ ## [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)
203
+
204
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
205
+
206
+ ## [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)
207
+
208
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
209
+
210
+ ## [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)
211
+
212
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
213
+
214
+ # [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)
215
+
216
+ ### Features
217
+
218
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
219
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
220
+
221
+ # [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)
222
+
223
+ ### Features
224
+
225
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
226
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
227
+
228
+ # [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)
229
+
230
+ ### Features
231
+
232
+ - **sdk-coin-sui:** support stakeMany ([a908565](https://github.com/BitGo/BitGoJS/commit/a908565bf1e1b6d28503836f85ba83fc7472b1cf))
233
+
234
+ ### BREAKING CHANGES
235
+
236
+ - **sdk-coin-sui:** change addStake interface to support stake multiple
237
+ validator
238
+
239
+ # [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)
240
+
241
+ ### Bug Fixes
242
+
243
+ - **sdk-coin-sui:** add output value for unstaking txs ([9430e60](https://github.com/BitGo/BitGoJS/commit/9430e60d8000bb8d76e3057501c04d403458c1e7))
244
+ - **sdk-coin-sui:** fix method name for parsing reserialized tx pair ([a0e052b](https://github.com/BitGo/BitGoJS/commit/a0e052be7153f38de0d9fce57fd0776ef2f4a7d2))
245
+
246
+ ### Features
247
+
248
+ - **sdk-coin-sui:** double-check reserialized transactions ([dc2d672](https://github.com/BitGo/BitGoJS/commit/dc2d6725ee23767533a05e06990169b990104f7e))
249
+
250
+ ## [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)
251
+
252
+ ### Bug Fixes
253
+
254
+ - **sdk-coin-sui:** fix unstaking again ([ea0345f](https://github.com/BitGo/BitGoJS/commit/ea0345fec578dbb44c4230c9fde520dae1431151))
255
+
256
+ ## [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)
257
+
258
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
259
+
260
+ # [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)
261
+
262
+ ### Bug Fixes
263
+
264
+ - **sdk-coin-sui:** add method in RpcClient debug output ([e2541f2](https://github.com/BitGo/BitGoJS/commit/e2541f286ee04eeb96ddf4d9860014a26b47d592))
265
+ - **sdk-coin-sui:** improve unstaking test ([9e63d54](https://github.com/BitGo/BitGoJS/commit/9e63d548036516b3bd71c6527e24a290d5fd6674))
266
+ - **sdk-coin-sui:** remove `spec:` config in mocharc.yml ([4b53e1b](https://github.com/BitGo/BitGoJS/commit/4b53e1b3df47e6f33324a00c01e472f7215dc5ad))
267
+
268
+ ### Features
269
+
270
+ - **sdk-coin-sui:** add support for partial unstaking ([20cdb77](https://github.com/BitGo/BitGoJS/commit/20cdb774159dac7335298f3d4d83f8a29018f3c3))
271
+
272
+ ## [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)
273
+
274
+ ### Bug Fixes
275
+
276
+ - **sdk-coin-sui:** add src/lib/mystenlab to .prettierignore ([a90139b](https://github.com/BitGo/BitGoJS/commit/a90139ba7fe07129a1eaa63531c9a61ac23a6759))
277
+
278
+ ## [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)
279
+
280
+ ### Bug Fixes
281
+
282
+ - **sdk-coin-sui:** fix amount parsing ([b7e2b40](https://github.com/BitGo/BitGoJS/commit/b7e2b40711161a9f9fe739bcb71f5af00da2c689))
283
+ - **sdk-coin-sui:** fix large transaction ([050f66d](https://github.com/BitGo/BitGoJS/commit/050f66d58e4ad15f16ba94a6d9cc07d4e0ea19c6))
284
+ - **sdk-coin-sui:** fix split transaction ([a46eaff](https://github.com/BitGo/BitGoJS/commit/a46eaffc48506ba568e4c36237e874c32b5a0a24))
285
+
286
+ ## [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)
287
+
288
+ ### Bug Fixes
289
+
290
+ - **sdk-coin-sui:** support split coin ([cf34f73](https://github.com/BitGo/BitGoJS/commit/cf34f7391d47080ca0427a3bc62173afc0102f12))
291
+
292
+ ## [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)
293
+
294
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
295
+
296
+ ## [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)
297
+
298
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
299
+
6
300
  ## [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
301
 
8
302
  **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==