@bitgo-beta/sdk-coin-sui 3.0.3-beta.21 → 3.0.3-beta.210

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 +324 -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,330 @@
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.15.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.15.0) (2023-12-18)
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.14.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@4.2.0...@bitgo/sdk-coin-sui@4.14.0) (2023-12-12)
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.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)
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.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)
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.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)
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.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)
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.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)
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.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)
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.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)
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
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
133
+
134
+ ### Features
135
+
136
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
137
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
138
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
139
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
140
+
141
+ # [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)
142
+
143
+ ### Bug Fixes
144
+
145
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
146
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
147
+ - **sdk-coin-sui:** parse recipients for custom tx ([0781d50](https://github.com/BitGo/BitGoJS/commit/0781d5090ce4c25a4f7fa9e47bcf858b35990140))
148
+
149
+ ### Features
150
+
151
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
152
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
153
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
154
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
155
+
156
+ # [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)
157
+
158
+ ### Bug Fixes
159
+
160
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
161
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
162
+
163
+ ### Features
164
+
165
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
166
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
167
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
168
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
169
+
170
+ # [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)
171
+
172
+ ### Bug Fixes
173
+
174
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
175
+ - **sdk-coin-sui:** fix sui tx deserialization type inference bug ([b9e3f5e](https://github.com/BitGo/BitGoJS/commit/b9e3f5e19fa9cfa6f905d9c2af59aa2158af2d49))
176
+
177
+ ### Features
178
+
179
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
180
+ - **sdk-coin-sui:** add more validations for custom tx ([6746f27](https://github.com/BitGo/BitGoJS/commit/6746f27cbc87a58c034c0a1b4b5fc67d34a3b394))
181
+ - **sdk-coin-sui:** add new moveCall function ([c832651](https://github.com/BitGo/BitGoJS/commit/c8326510e8a1a039786408c832311e0faa8ddb0c))
182
+ - **sdk-coin-sui:** export the new custom tx type ([0bd4130](https://github.com/BitGo/BitGoJS/commit/0bd4130afea919174cc29ac0575806096642e0cf))
183
+
184
+ # [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)
185
+
186
+ ### Bug Fixes
187
+
188
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
189
+
190
+ ### Features
191
+
192
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
193
+
194
+ ## [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)
195
+
196
+ ### Bug Fixes
197
+
198
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
199
+
200
+ ## [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)
201
+
202
+ ### Bug Fixes
203
+
204
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
205
+
206
+ ## [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)
207
+
208
+ ### Bug Fixes
209
+
210
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
211
+
212
+ ## [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)
213
+
214
+ ### Bug Fixes
215
+
216
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
217
+
218
+ ## [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)
219
+
220
+ ### Bug Fixes
221
+
222
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
223
+
224
+ ## [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)
225
+
226
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
227
+
228
+ ## [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)
229
+
230
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
231
+
232
+ ## [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)
233
+
234
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
235
+
236
+ ## [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)
237
+
238
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
239
+
240
+ ## [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)
241
+
242
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
243
+
244
+ # [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)
245
+
246
+ ### Features
247
+
248
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
249
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
250
+
251
+ # [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)
252
+
253
+ ### Features
254
+
255
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
256
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
257
+
258
+ # [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)
259
+
260
+ ### Features
261
+
262
+ - **sdk-coin-sui:** support stakeMany ([a908565](https://github.com/BitGo/BitGoJS/commit/a908565bf1e1b6d28503836f85ba83fc7472b1cf))
263
+
264
+ ### BREAKING CHANGES
265
+
266
+ - **sdk-coin-sui:** change addStake interface to support stake multiple
267
+ validator
268
+
269
+ # [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)
270
+
271
+ ### Bug Fixes
272
+
273
+ - **sdk-coin-sui:** add output value for unstaking txs ([9430e60](https://github.com/BitGo/BitGoJS/commit/9430e60d8000bb8d76e3057501c04d403458c1e7))
274
+ - **sdk-coin-sui:** fix method name for parsing reserialized tx pair ([a0e052b](https://github.com/BitGo/BitGoJS/commit/a0e052be7153f38de0d9fce57fd0776ef2f4a7d2))
275
+
276
+ ### Features
277
+
278
+ - **sdk-coin-sui:** double-check reserialized transactions ([dc2d672](https://github.com/BitGo/BitGoJS/commit/dc2d6725ee23767533a05e06990169b990104f7e))
279
+
280
+ ## [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)
281
+
282
+ ### Bug Fixes
283
+
284
+ - **sdk-coin-sui:** fix unstaking again ([ea0345f](https://github.com/BitGo/BitGoJS/commit/ea0345fec578dbb44c4230c9fde520dae1431151))
285
+
286
+ ## [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)
287
+
288
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
289
+
290
+ # [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)
291
+
292
+ ### Bug Fixes
293
+
294
+ - **sdk-coin-sui:** add method in RpcClient debug output ([e2541f2](https://github.com/BitGo/BitGoJS/commit/e2541f286ee04eeb96ddf4d9860014a26b47d592))
295
+ - **sdk-coin-sui:** improve unstaking test ([9e63d54](https://github.com/BitGo/BitGoJS/commit/9e63d548036516b3bd71c6527e24a290d5fd6674))
296
+ - **sdk-coin-sui:** remove `spec:` config in mocharc.yml ([4b53e1b](https://github.com/BitGo/BitGoJS/commit/4b53e1b3df47e6f33324a00c01e472f7215dc5ad))
297
+
298
+ ### Features
299
+
300
+ - **sdk-coin-sui:** add support for partial unstaking ([20cdb77](https://github.com/BitGo/BitGoJS/commit/20cdb774159dac7335298f3d4d83f8a29018f3c3))
301
+
302
+ ## [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)
303
+
304
+ ### Bug Fixes
305
+
306
+ - **sdk-coin-sui:** add src/lib/mystenlab to .prettierignore ([a90139b](https://github.com/BitGo/BitGoJS/commit/a90139ba7fe07129a1eaa63531c9a61ac23a6759))
307
+
308
+ ## [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)
309
+
310
+ ### Bug Fixes
311
+
312
+ - **sdk-coin-sui:** fix amount parsing ([b7e2b40](https://github.com/BitGo/BitGoJS/commit/b7e2b40711161a9f9fe739bcb71f5af00da2c689))
313
+ - **sdk-coin-sui:** fix large transaction ([050f66d](https://github.com/BitGo/BitGoJS/commit/050f66d58e4ad15f16ba94a6d9cc07d4e0ea19c6))
314
+ - **sdk-coin-sui:** fix split transaction ([a46eaff](https://github.com/BitGo/BitGoJS/commit/a46eaffc48506ba568e4c36237e874c32b5a0a24))
315
+
316
+ ## [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)
317
+
318
+ ### Bug Fixes
319
+
320
+ - **sdk-coin-sui:** support split coin ([cf34f73](https://github.com/BitGo/BitGoJS/commit/cf34f7391d47080ca0427a3bc62173afc0102f12))
321
+
322
+ ## [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)
323
+
324
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
325
+
326
+ ## [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)
327
+
328
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
329
+
6
330
  ## [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
331
 
8
332
  **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==