@bitgo-beta/sdk-coin-sui 1.4.1-alpha.8 → 1.4.1-alpha.81

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 (136) hide show
  1. package/.eslintignore +1 -0
  2. package/.mocharc.yml +1 -2
  3. package/CHANGELOG.md +268 -0
  4. package/dist/src/index.d.ts +1 -0
  5. package/dist/src/index.d.ts.map +1 -1
  6. package/dist/src/index.js +2 -1
  7. package/dist/src/lib/compareTransactionBlocks.d.ts +8 -0
  8. package/dist/src/lib/compareTransactionBlocks.d.ts.map +1 -0
  9. package/dist/src/lib/compareTransactionBlocks.js +13 -0
  10. package/dist/src/lib/constants.d.ts +8 -8
  11. package/dist/src/lib/constants.d.ts.map +1 -1
  12. package/dist/src/lib/constants.js +11 -13
  13. package/dist/src/lib/customTransaction.d.ts +52 -0
  14. package/dist/src/lib/customTransaction.d.ts.map +1 -0
  15. package/dist/src/lib/customTransaction.js +153 -0
  16. package/dist/src/lib/customTransactionBuilder.d.ts +42 -0
  17. package/dist/src/lib/customTransactionBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/customTransactionBuilder.js +106 -0
  19. package/dist/src/lib/iface.d.ts +65 -51
  20. package/dist/src/lib/iface.d.ts.map +1 -1
  21. package/dist/src/lib/iface.js +33 -1
  22. package/dist/src/lib/index.d.ts +5 -0
  23. package/dist/src/lib/index.d.ts.map +1 -1
  24. package/dist/src/lib/index.js +12 -2
  25. package/dist/src/lib/keyPair.d.ts +11 -0
  26. package/dist/src/lib/keyPair.d.ts.map +1 -1
  27. package/dist/src/lib/keyPair.js +21 -10
  28. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +66 -0
  29. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -0
  30. package/dist/src/lib/mystenlab/builder/Inputs.js +56 -0
  31. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +616 -0
  32. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -0
  33. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +258 -0
  34. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +566 -0
  35. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -0
  36. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +171 -0
  37. package/dist/src/lib/mystenlab/builder/Transactions.d.ts +992 -0
  38. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -0
  39. package/dist/src/lib/mystenlab/builder/Transactions.js +119 -0
  40. package/dist/src/lib/mystenlab/builder/bcs.d.ts +25 -0
  41. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -0
  42. package/dist/src/lib/mystenlab/builder/bcs.js +141 -0
  43. package/dist/src/lib/mystenlab/builder/index.d.ts +5 -0
  44. package/dist/src/lib/mystenlab/builder/index.d.ts.map +1 -0
  45. package/dist/src/lib/mystenlab/builder/index.js +17 -0
  46. package/dist/src/lib/mystenlab/builder/serializer.d.ts +4 -0
  47. package/dist/src/lib/mystenlab/builder/serializer.d.ts.map +1 -0
  48. package/dist/src/lib/mystenlab/builder/serializer.js +101 -0
  49. package/dist/src/lib/mystenlab/builder/utils.d.ts +10 -0
  50. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -0
  51. package/dist/src/lib/mystenlab/builder/utils.js +10 -0
  52. package/dist/src/lib/mystenlab/cryptography/hash.d.ts +8 -0
  53. package/dist/src/lib/mystenlab/cryptography/hash.d.ts.map +1 -0
  54. package/dist/src/lib/mystenlab/cryptography/hash.js +22 -0
  55. package/dist/src/lib/mystenlab/framework/framework.d.ts +93 -0
  56. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -0
  57. package/dist/src/lib/mystenlab/framework/framework.js +138 -0
  58. package/dist/src/lib/mystenlab/framework/index.d.ts +3 -0
  59. package/dist/src/lib/mystenlab/framework/index.d.ts.map +1 -0
  60. package/dist/src/lib/mystenlab/framework/index.js +15 -0
  61. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +14 -0
  62. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -0
  63. package/dist/src/lib/mystenlab/framework/sui-system-state.js +22 -0
  64. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts +7 -0
  65. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts.map +1 -0
  66. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +119 -0
  67. package/dist/src/lib/mystenlab/types/coin.d.ts +89 -0
  68. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -0
  69. package/dist/src/lib/mystenlab/types/coin.js +32 -0
  70. package/dist/src/lib/mystenlab/types/common.d.ts +45 -0
  71. package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -0
  72. package/dist/src/lib/mystenlab/types/common.js +84 -0
  73. package/dist/src/lib/mystenlab/types/events.d.ts +198 -0
  74. package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -0
  75. package/dist/src/lib/mystenlab/types/events.js +46 -0
  76. package/dist/src/lib/mystenlab/types/index.d.ts +9 -0
  77. package/dist/src/lib/mystenlab/types/index.d.ts.map +1 -0
  78. package/dist/src/lib/mystenlab/types/index.js +21 -0
  79. package/dist/src/lib/mystenlab/types/normalized.d.ts +254 -0
  80. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -0
  81. package/dist/src/lib/mystenlab/types/normalized.js +111 -0
  82. package/dist/src/lib/mystenlab/types/objects.d.ts +806 -0
  83. package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -0
  84. package/dist/src/lib/mystenlab/types/objects.js +302 -0
  85. package/dist/src/lib/mystenlab/types/option.d.ts +8 -0
  86. package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -0
  87. package/dist/src/lib/mystenlab/types/option.js +14 -0
  88. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +111 -0
  89. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -0
  90. package/dist/src/lib/mystenlab/types/sui-bcs.js +107 -0
  91. package/dist/src/lib/mystenlab/types/transactions.d.ts +6703 -0
  92. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -0
  93. package/dist/src/lib/mystenlab/types/transactions.js +405 -0
  94. package/dist/src/lib/mystenlab/types/validator.d.ts +641 -0
  95. package/dist/src/lib/mystenlab/types/validator.d.ts.map +1 -0
  96. package/dist/src/lib/mystenlab/types/validator.js +156 -0
  97. package/dist/src/lib/stakingBuilder.d.ts +62 -0
  98. package/dist/src/lib/stakingBuilder.d.ts.map +1 -0
  99. package/dist/src/lib/stakingBuilder.js +190 -0
  100. package/dist/src/lib/stakingTransaction.d.ts +52 -0
  101. package/dist/src/lib/stakingTransaction.d.ts.map +1 -0
  102. package/dist/src/lib/stakingTransaction.js +208 -0
  103. package/dist/src/lib/transaction.d.ts +38 -33
  104. package/dist/src/lib/transaction.d.ts.map +1 -1
  105. package/dist/src/lib/transaction.js +104 -250
  106. package/dist/src/lib/transactionBuilder.d.ts +18 -33
  107. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  108. package/dist/src/lib/transactionBuilder.js +39 -169
  109. package/dist/src/lib/transactionBuilderFactory.d.ts +13 -3
  110. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  111. package/dist/src/lib/transactionBuilderFactory.js +39 -7
  112. package/dist/src/lib/transferBuilder.d.ts +31 -2
  113. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  114. package/dist/src/lib/transferBuilder.js +102 -1
  115. package/dist/src/lib/transferTransaction.d.ts +55 -0
  116. package/dist/src/lib/transferTransaction.d.ts.map +1 -0
  117. package/dist/src/lib/transferTransaction.js +180 -0
  118. package/dist/src/lib/unstakingBuilder.d.ts +62 -0
  119. package/dist/src/lib/unstakingBuilder.d.ts.map +1 -0
  120. package/dist/src/lib/unstakingBuilder.js +227 -0
  121. package/dist/src/lib/unstakingTransaction.d.ts +76 -0
  122. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -0
  123. package/dist/src/lib/unstakingTransaction.js +331 -0
  124. package/dist/src/lib/utils.d.ts +59 -3
  125. package/dist/src/lib/utils.d.ts.map +1 -1
  126. package/dist/src/lib/utils.js +198 -10
  127. package/dist/src/register.d.ts +3 -0
  128. package/dist/src/register.d.ts.map +1 -0
  129. package/dist/src/register.js +11 -0
  130. package/dist/src/sui.d.ts +3 -0
  131. package/dist/src/sui.d.ts.map +1 -1
  132. package/dist/src/sui.js +34 -14
  133. package/package.json +17 -12
  134. package/dist/src/lib/bcs.d.ts +0 -3
  135. package/dist/src/lib/bcs.d.ts.map +0 -1
  136. package/dist/src/lib/bcs.js +0 -82
package/.eslintignore CHANGED
@@ -2,4 +2,5 @@ node_modules
2
2
  .idea
3
3
  public
4
4
  dist
5
+ src/lib/mystenlab/
5
6
 
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,274 @@
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.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)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
11
+
12
+ ### Features
13
+
14
+ - **sdk-coin-sui:** add custom tx type ([8136220](https://github.com/BitGo/BitGoJS/commit/81362200468f8a2d25b97186f56de5d5729fa0cf))
15
+
16
+ ## [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)
17
+
18
+ ### Bug Fixes
19
+
20
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
21
+
22
+ ## [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)
23
+
24
+ ### Bug Fixes
25
+
26
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
27
+
28
+ ## [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)
29
+
30
+ ### Bug Fixes
31
+
32
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
33
+
34
+ ## [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)
35
+
36
+ ### Bug Fixes
37
+
38
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
39
+
40
+ ## [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)
41
+
42
+ ### Bug Fixes
43
+
44
+ - **root:** update @types/node ([cedc1a0](https://github.com/BitGo/BitGoJS/commit/cedc1a0035e79bb42fda57bf6ac29d606242f50b))
45
+
46
+ ## [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)
47
+
48
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
49
+
50
+ ## [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)
51
+
52
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
53
+
54
+ ## [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)
55
+
56
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
57
+
58
+ ## [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)
59
+
60
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
61
+
62
+ ## [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)
63
+
64
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
65
+
66
+ # [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)
67
+
68
+ ### Features
69
+
70
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
71
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
72
+
73
+ # [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)
74
+
75
+ ### Features
76
+
77
+ - **root:** add node 18 to engines and CI ([9cc6a70](https://github.com/BitGo/BitGoJS/commit/9cc6a70ba807161b7c6a0ebe3d7c47f25c7c8eca))
78
+ - **root:** remove node 14 from engines ([6ec47cb](https://github.com/BitGo/BitGoJS/commit/6ec47cbd7996cc78bbf2cf7f16595c24fe43cd41))
79
+
80
+ # [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)
81
+
82
+ ### Features
83
+
84
+ - **sdk-coin-sui:** support stakeMany ([a908565](https://github.com/BitGo/BitGoJS/commit/a908565bf1e1b6d28503836f85ba83fc7472b1cf))
85
+
86
+ ### BREAKING CHANGES
87
+
88
+ - **sdk-coin-sui:** change addStake interface to support stake multiple
89
+ validator
90
+
91
+ # [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)
92
+
93
+ ### Bug Fixes
94
+
95
+ - **sdk-coin-sui:** add output value for unstaking txs ([9430e60](https://github.com/BitGo/BitGoJS/commit/9430e60d8000bb8d76e3057501c04d403458c1e7))
96
+ - **sdk-coin-sui:** fix method name for parsing reserialized tx pair ([a0e052b](https://github.com/BitGo/BitGoJS/commit/a0e052be7153f38de0d9fce57fd0776ef2f4a7d2))
97
+
98
+ ### Features
99
+
100
+ - **sdk-coin-sui:** double-check reserialized transactions ([dc2d672](https://github.com/BitGo/BitGoJS/commit/dc2d6725ee23767533a05e06990169b990104f7e))
101
+
102
+ ## [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)
103
+
104
+ ### Bug Fixes
105
+
106
+ - **sdk-coin-sui:** fix unstaking again ([ea0345f](https://github.com/BitGo/BitGoJS/commit/ea0345fec578dbb44c4230c9fde520dae1431151))
107
+
108
+ ## [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)
109
+
110
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
111
+
112
+ # [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)
113
+
114
+ ### Bug Fixes
115
+
116
+ - **sdk-coin-sui:** add method in RpcClient debug output ([e2541f2](https://github.com/BitGo/BitGoJS/commit/e2541f286ee04eeb96ddf4d9860014a26b47d592))
117
+ - **sdk-coin-sui:** improve unstaking test ([9e63d54](https://github.com/BitGo/BitGoJS/commit/9e63d548036516b3bd71c6527e24a290d5fd6674))
118
+ - **sdk-coin-sui:** remove `spec:` config in mocharc.yml ([4b53e1b](https://github.com/BitGo/BitGoJS/commit/4b53e1b3df47e6f33324a00c01e472f7215dc5ad))
119
+
120
+ ### Features
121
+
122
+ - **sdk-coin-sui:** add support for partial unstaking ([20cdb77](https://github.com/BitGo/BitGoJS/commit/20cdb774159dac7335298f3d4d83f8a29018f3c3))
123
+
124
+ ## [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)
125
+
126
+ ### Bug Fixes
127
+
128
+ - **sdk-coin-sui:** add src/lib/mystenlab to .prettierignore ([a90139b](https://github.com/BitGo/BitGoJS/commit/a90139ba7fe07129a1eaa63531c9a61ac23a6759))
129
+
130
+ ## [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)
131
+
132
+ ### Bug Fixes
133
+
134
+ - **sdk-coin-sui:** fix amount parsing ([b7e2b40](https://github.com/BitGo/BitGoJS/commit/b7e2b40711161a9f9fe739bcb71f5af00da2c689))
135
+ - **sdk-coin-sui:** fix large transaction ([050f66d](https://github.com/BitGo/BitGoJS/commit/050f66d58e4ad15f16ba94a6d9cc07d4e0ea19c6))
136
+ - **sdk-coin-sui:** fix split transaction ([a46eaff](https://github.com/BitGo/BitGoJS/commit/a46eaffc48506ba568e4c36237e874c32b5a0a24))
137
+
138
+ ## [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)
139
+
140
+ ### Bug Fixes
141
+
142
+ - **sdk-coin-sui:** support split coin ([cf34f73](https://github.com/BitGo/BitGoJS/commit/cf34f7391d47080ca0427a3bc62173afc0102f12))
143
+
144
+ ## [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)
145
+
146
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
147
+
148
+ ## [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)
149
+
150
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
151
+
152
+ ## [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)
153
+
154
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
155
+
156
+ ## [3.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.0...@bitgo/sdk-coin-sui@3.0.1) (2023-04-20)
157
+
158
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
159
+
160
+ # [3.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@2.0.1...@bitgo/sdk-coin-sui@3.0.0) (2023-04-13)
161
+
162
+ ### Bug Fixes
163
+
164
+ - **sdk-coin-sui:** adjust sui bcs models changes ([25f06e7](https://github.com/BitGo/BitGoJS/commit/25f06e7a0c922594858a8b9fc5b48c96acacc27f))
165
+ - **sdk-coin-sui:** export unstaking ([d23986d](https://github.com/BitGo/BitGoJS/commit/d23986dd25fba757501696263a3118012e948922))
166
+ - **sdk-coin-sui:** fix outputs address and add validation ([077640c](https://github.com/BitGo/BitGoJS/commit/077640c4b76492489a88728c272b33755ef744a9))
167
+ - **sdk-coin-sui:** fix sui verifyTransaction method ([c86766a](https://github.com/BitGo/BitGoJS/commit/c86766aa3668d2f22f1f2cf438c806bb3b88289c))
168
+ - **sdk-coin-sui:** fix tx type ([94e2178](https://github.com/BitGo/BitGoJS/commit/94e2178dff63faf5f41065e4781c47d0fc8cbd2a))
169
+ - **sdk-coin-sui:** fix txHex to hex string ([48b462e](https://github.com/BitGo/BitGoJS/commit/48b462eb914fd8f69b801bc440eb5d236c7893c6))
170
+ - **sdk-coin-sui:** fixed getAddressFromPublicKey for SUI ([0d6d72d](https://github.com/BitGo/BitGoJS/commit/0d6d72dd9529e7156b13aa204d8999806587e502))
171
+ - **sdk-coin-sui:** staking explain transaction ([fbc49f8](https://github.com/BitGo/BitGoJS/commit/fbc49f8cd39d265f7a5ff65ed5896e12389b4b09))
172
+ - **sdk-coin-sui:** tx signing flow ([ae681ed](https://github.com/BitGo/BitGoJS/commit/ae681ed6d9d895beff67621e46a589d0317eb403))
173
+
174
+ ### chore
175
+
176
+ - **sdk-coin-sui:** update bcs and tx serialization ([8280468](https://github.com/BitGo/BitGoJS/commit/82804683d6c5149e628002f64b2b9b5c8f92665b))
177
+
178
+ ### Features
179
+
180
+ - remove swtich tx builder not supported prior on 0.28 release ([2aaff40](https://github.com/BitGo/BitGoJS/commit/2aaff4018842137ea2fdef4a4ab818f28eff8232))
181
+ - **sdk-coin-sui:** add mystenlab types and remove old impl of transfer ([4a8aeaa](https://github.com/BitGo/BitGoJS/commit/4a8aeaa97cb372dfaa2b364fd9c617f47f037d03))
182
+ - **sdk-coin-sui:** build staking transaction ([53d3b6e](https://github.com/BitGo/BitGoJS/commit/53d3b6efcda6148bb20ebf6647deb05e7c464744))
183
+ - **sdk-coin-sui:** build transfer transaction ([bc0f531](https://github.com/BitGo/BitGoJS/commit/bc0f5310650dbb5a6cc16c23047f81853aec1b1e))
184
+ - **sdk-coin-sui:** build unstaking transaction ([c3ef7de](https://github.com/BitGo/BitGoJS/commit/c3ef7de26abca8d5d1161ef04891a39b5aaf6d4b))
185
+ - **sdk-coin-sui:** implement generateKeyPair ([ca9f788](https://github.com/BitGo/BitGoJS/commit/ca9f788d8e08bf6c04ae49088ee7a0b405b03be5))
186
+ - **sdk-coin-sui:** update sui models up to 0.30 ([b9de616](https://github.com/BitGo/BitGoJS/commit/b9de616afaebc8da546bd95cbec63d5d21079889))
187
+ - update signature hashing ([fcadc86](https://github.com/BitGo/BitGoJS/commit/fcadc8688ef9d0c2f1ed86b7e50053fd62045b0a))
188
+
189
+ ### BREAKING CHANGES
190
+
191
+ - **sdk-coin-sui:** gasData is added to transaction builder interface
192
+
193
+ ## [2.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@2.0.0...@bitgo/sdk-coin-sui@2.0.1) (2023-02-17)
194
+
195
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
196
+
197
+ # [2.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.7.0...@bitgo/sdk-coin-sui@2.0.0) (2023-02-16)
198
+
199
+ ### Bug Fixes
200
+
201
+ - **sdk-coin-sui:** fix sui signing ([860e078](https://github.com/BitGo/BitGoJS/commit/860e078f3b2e6cb724411d28994e67ce5d6d0340))
202
+
203
+ ### Features
204
+
205
+ - **sdk-coin-sui:** add support for staking transactions ([c7dc420](https://github.com/BitGo/BitGoJS/commit/c7dc420bb1270beb66ca0c4782ea9da00928ee32))
206
+ - **sdk-coin-sui:** add switch delegation tx ([08e6f94](https://github.com/BitGo/BitGoJS/commit/08e6f94d1640dd1796bafc7bd18bc7a35e76f8fd))
207
+ - **sdk-coin-sui:** add withdrawDelegation staking tx ([f2161d4](https://github.com/BitGo/BitGoJS/commit/f2161d4c67751ddf3355393792a0a10fd8563c4f))
208
+
209
+ ### BREAKING CHANGES
210
+
211
+ - **sdk-coin-sui:** makes SuiTransaction and transactionBuilder
212
+ generic to support PayTx and MoveCallTx as tx property
213
+
214
+ ## [1.7.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.7.0...@bitgo/sdk-coin-sui@1.7.2) (2023-02-08)
215
+
216
+ ### Bug Fixes
217
+
218
+ - **sdk-coin-sui:** fix sui signing ([860e078](https://github.com/BitGo/BitGoJS/commit/860e078f3b2e6cb724411d28994e67ce5d6d0340))
219
+
220
+ ## [1.7.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.7.0...@bitgo/sdk-coin-sui@1.7.1) (2023-01-30)
221
+
222
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
223
+
224
+ # [1.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.5...@bitgo/sdk-coin-sui@1.7.0) (2023-01-25)
225
+
226
+ ### Features
227
+
228
+ - **sdk-coin-sui:** update sui serialize and deserialize tx to version greater than 0.19 ([e228ba2](https://github.com/BitGo/BitGoJS/commit/e228ba2670a75025b879df3e6df7fee3e460a557))
229
+
230
+ ## [1.6.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.4...@bitgo/sdk-coin-sui@1.6.5) (2022-12-23)
231
+
232
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
233
+
234
+ ## [1.6.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.3...@bitgo/sdk-coin-sui@1.6.4) (2022-12-20)
235
+
236
+ ### Bug Fixes
237
+
238
+ - **sdk-coin-sui:** add allowAccountConsolidations ([0a6ca38](https://github.com/BitGo/BitGoJS/commit/0a6ca38b9403f08bd489b01b1edd3265b139aabc))
239
+ - **sdk-coin-sui:** exclude signer data from tx digest ([88db48e](https://github.com/BitGo/BitGoJS/commit/88db48e0b5a4947a9d49814f34a90213b15e1af5))
240
+ - **sdk-coin-sui:** fix explainTransaction when amounts is empty ([783471b](https://github.com/BitGo/BitGoJS/commit/783471bbdfb6187746e34f0430d11cdafa463eac))
241
+ - **sdk-coin-sui:** remove amount from payAll serialized txn ([ddf9273](https://github.com/BitGo/BitGoJS/commit/ddf92737910e73e5c73abb0d5d775e5831903f63))
242
+
243
+ ## [1.6.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.2...@bitgo/sdk-coin-sui@1.6.3) (2022-12-09)
244
+
245
+ ### Bug Fixes
246
+
247
+ - **sdk-coin-sui:** add signed data to serialized str ([1f49745](https://github.com/BitGo/BitGoJS/commit/1f49745f2c8ba2e1f3016e21448c1c6519fd4a73))
248
+ - **sdk-coin-sui:** fix serialization byte size ([750a16d](https://github.com/BitGo/BitGoJS/commit/750a16df89fa282d567aad1e362a4e772acb4832))
249
+
250
+ ## [1.6.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.1...@bitgo/sdk-coin-sui@1.6.2) (2022-12-06)
251
+
252
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
253
+
254
+ ## [1.6.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.0...@bitgo/sdk-coin-sui@1.6.1) (2022-12-01)
255
+
256
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
257
+
258
+ # [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.6.0) (2022-11-29)
259
+
260
+ ### Bug Fixes
261
+
262
+ - **sdk-coin-sui:** added signature to sui transaction ([17e06be](https://github.com/BitGo/BitGoJS/commit/17e06bec0eaffb0db2464dc456c01e5db324d94b))
263
+ - **sdk-coin-sui:** fix serialized tx format type ([b1f716e](https://github.com/BitGo/BitGoJS/commit/b1f716ee1b76624487affd956e29f1ff351ba306))
264
+ - **sdk-coin-sui:** fix sui gasPayment in inputCoins ([22328e2](https://github.com/BitGo/BitGoJS/commit/22328e268429c3d664cc890aedf2eb938de2fbf4))
265
+
266
+ ### Features
267
+
268
+ - implement isWalletAddress for SUI ([a3696ab](https://github.com/BitGo/BitGoJS/commit/a3696ab00f693da2db4ef32034a85504dc5aa4c5))
269
+ - implement sui keypair ([1ae6096](https://github.com/BitGo/BitGoJS/commit/1ae6096bbf48de1db0ccc8a3122b114f0e1489ce))
270
+ - **sdk-coin-sui:** add sui parse transaction ([c1b7b4f](https://github.com/BitGo/BitGoJS/commit/c1b7b4f21bd866e22192111dff304bb87f3460e5))
271
+ - **sdk-coin-sui:** added sui explain transaction ([0e681da](https://github.com/BitGo/BitGoJS/commit/0e681da2f5572e66dffe0be992c13acdcafc549d))
272
+ - **sdk-coin-sui:** support paySui and payAllSui transaction types ([2df4f9f](https://github.com/BitGo/BitGoJS/commit/2df4f9fa7423d3bc0ccf7fea478291ce3217b8ed))
273
+
6
274
  # [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.5.0) (2022-11-04)
7
275
 
8
276
  ### Bug Fixes
@@ -1,4 +1,5 @@
1
1
  export * from './lib';
2
2
  export * from './sui';
3
3
  export * from './tsui';
4
+ export * from './register';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -13,4 +13,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./lib"), exports);
14
14
  __exportStar(require("./sui"), exports);
15
15
  __exportStar(require("./tsui"), exports);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHdDQUFzQjtBQUN0Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3N1aSc7XG5leHBvcnQgKiBmcm9tICcuL3RzdWknO1xuIl19
16
+ __exportStar(require("./register"), exports);
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9zdWknO1xuZXhwb3J0ICogZnJvbSAnLi90c3VpJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXInO1xuIl19
@@ -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
@@ -1,10 +1,10 @@
1
+ /// <reference types="node" />
1
2
  export declare const UNAVAILABLE_TEXT = "UNAVAILABLE";
2
- export declare const TYPE_TAG: number[];
3
- export declare const SUI_GAS_PRICE = 1;
4
- export declare const SUI_ADDRESS_LENGTH = 20;
5
- export declare enum SuiTransactionType {
6
- Pay = "Pay",
7
- PaySui = "PaySui",
8
- PayAllSui = "PayAllSui"
9
- }
3
+ export declare const AMOUNT_UNKNOWN_TEXT = "AMOUNT_UNKNOWN";
4
+ export declare const DUMMY_SUI_GAS_PRICE = 1000;
5
+ export declare const SUI_ADDRESS_LENGTH = 32;
6
+ export declare const SER_BUFFER_SIZE = 8192;
7
+ export declare const SUI_INTENT_BYTES: Buffer;
8
+ export declare const SIGNATURE_SCHEME_BYTES: number[];
9
+ export declare const MIN_STAKING_THRESHOLD = 1000000000;
10
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,QAAQ,UAA8D,CAAC;AAIpF,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB"}
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,16 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SuiTransactionType = exports.SUI_ADDRESS_LENGTH = exports.SUI_GAS_PRICE = exports.TYPE_TAG = 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
- exports.TYPE_TAG = Array.from('TransactionData::').map((e) => e.charCodeAt(0));
6
- // Need to keep in sync with
7
- // https://github.com/MystenLabs/sui/blob/f32877f2e40d35a008710c232e49b57aab886462/crates/sui-types/src/messages.rs#L338
8
- exports.SUI_GAS_PRICE = 1;
9
- exports.SUI_ADDRESS_LENGTH = 20;
10
- var SuiTransactionType;
11
- (function (SuiTransactionType) {
12
- SuiTransactionType["Pay"] = "Pay";
13
- SuiTransactionType["PaySui"] = "PaySui";
14
- SuiTransactionType["PayAllSui"] = "PayAllSui";
15
- })(SuiTransactionType = exports.SuiTransactionType || (exports.SuiTransactionType = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXBGLDRCQUE0QjtBQUM1Qix3SEFBd0g7QUFDM0csUUFBQSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBRXJDLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QixpQ0FBVyxDQUFBO0lBQ1gsdUNBQWlCLENBQUE7SUFDakIsNkNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBSTdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVOQVZBSUxBQkxFX1RFWFQgPSAnVU5BVkFJTEFCTEUnO1xuZXhwb3J0IGNvbnN0IFRZUEVfVEFHID0gQXJyYXkuZnJvbSgnVHJhbnNhY3Rpb25EYXRhOjonKS5tYXAoKGUpID0+IGUuY2hhckNvZGVBdCgwKSk7XG5cbi8vIE5lZWQgdG8ga2VlcCBpbiBzeW5jIHdpdGhcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NeXN0ZW5MYWJzL3N1aS9ibG9iL2YzMjg3N2YyZTQwZDM1YTAwODcxMGMyMzJlNDliNTdhYWI4ODY0NjIvY3JhdGVzL3N1aS10eXBlcy9zcmMvbWVzc2FnZXMucnMjTDMzOFxuZXhwb3J0IGNvbnN0IFNVSV9HQVNfUFJJQ0UgPSAxO1xuZXhwb3J0IGNvbnN0IFNVSV9BRERSRVNTX0xFTkdUSCA9IDIwO1xuXG5leHBvcnQgZW51bSBTdWlUcmFuc2FjdGlvblR5cGUge1xuICBQYXkgPSAnUGF5JyxcbiAgUGF5U3VpID0gJ1BheVN1aScsXG4gIFBheUFsbFN1aSA9ICdQYXlBbGxTdWknLFxufVxuIl19
5
+ exports.AMOUNT_UNKNOWN_TEXT = 'AMOUNT_UNKNOWN';
6
+ // Refer to
7
+ // https://github.com/MystenLabs/sui/blob/main/crates/sui-types/src/messages.rs#L50
8
+ exports.DUMMY_SUI_GAS_PRICE = 1000;
9
+ exports.SUI_ADDRESS_LENGTH = 32;
10
+ exports.SER_BUFFER_SIZE = 8192;
11
+ exports.SUI_INTENT_BYTES = Buffer.from([0, 0, 0]);
12
+ exports.SIGNATURE_SCHEME_BYTES = [0x00];
13
+ exports.MIN_STAKING_THRESHOLD = 1000000000; // 1 SUI
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwRCxXQUFXO0FBQ1gsbUZBQW1GO0FBQ3RFLFFBQUEsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQztBQUV2QixRQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUMsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWhDLFFBQUEscUJBQXFCLEdBQUcsVUFBYSxDQUFDLENBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBVTkFWQUlMQUJMRV9URVhUID0gJ1VOQVZBSUxBQkxFJztcbmV4cG9ydCBjb25zdCBBTU9VTlRfVU5LTk9XTl9URVhUID0gJ0FNT1VOVF9VTktOT1dOJztcblxuLy8gUmVmZXIgdG9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NeXN0ZW5MYWJzL3N1aS9ibG9iL21haW4vY3JhdGVzL3N1aS10eXBlcy9zcmMvbWVzc2FnZXMucnMjTDUwXG5leHBvcnQgY29uc3QgRFVNTVlfU1VJX0dBU19QUklDRSA9IDEwMDA7XG5leHBvcnQgY29uc3QgU1VJX0FERFJFU1NfTEVOR1RIID0gMzI7XG5leHBvcnQgY29uc3QgU0VSX0JVRkZFUl9TSVpFID0gODE5MjtcblxuZXhwb3J0IGNvbnN0IFNVSV9JTlRFTlRfQllURVMgPSBCdWZmZXIuZnJvbShbMCwgMCwgMF0pO1xuXG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX1NDSEVNRV9CWVRFUyA9IFsweDAwXTtcblxuZXhwb3J0IGNvbnN0IE1JTl9TVEFLSU5HX1RIUkVTSE9MRCA9IDFfMDAwXzAwMF8wMDA7IC8vIDEgU1VJXG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { CustomProgrammableTransaction, TransactionExplanation, TxData } from './iface';
2
+ import { Transaction } from './transaction';
3
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
+ import { BaseKey } from '@bitgo-beta/sdk-core';
5
+ export declare class CustomTransaction extends Transaction<CustomProgrammableTransaction> {
6
+ private _rawTransaction;
7
+ constructor(_coinConfig: Readonly<CoinConfig>);
8
+ /**
9
+ * @inheritdoc
10
+ * @param rawTransaction
11
+ */
12
+ fromRawTransaction(rawTransaction: string): void;
13
+ /**
14
+ * @inheritdoc
15
+ */
16
+ get id(): string;
17
+ /**
18
+ * @inheritdoc
19
+ */
20
+ canSign(key: BaseKey): boolean;
21
+ /**
22
+ * @inheritdoc
23
+ */
24
+ toBroadcastFormat(): string;
25
+ /**
26
+ * @inheritdoc
27
+ */
28
+ loadInputsAndOutputs(): void;
29
+ /**
30
+ * Get the raw transaction base64 string
31
+ */
32
+ get rawTransaction(): string;
33
+ /**
34
+ * @inheritdoc
35
+ */
36
+ getTxData(): TxData;
37
+ /**
38
+ * @inheritdoc
39
+ */
40
+ toJson(): TxData;
41
+ /**
42
+ * @inheritdoc
43
+ */
44
+ explainTransaction(): TransactionExplanation;
45
+ /**
46
+ * Returns a complete explanation of the custom transaction
47
+ * @param json
48
+ * @param explanationResult
49
+ */
50
+ private explainCustomTransaction;
51
+ }
52
+ //# 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,EAAkE,MAAM,sBAAsB,CAAC;AAG/G,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,6BAA6B,CAAC;IAC/E,OAAO,CAAC,eAAe,CAAS;gBAEpB,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;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,153 @@
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
+ const recipients = utils_1.default.getRecipients(this._suiTransaction);
63
+ this._outputs = recipients.map((recipient, index) => ({
64
+ address: recipient.address,
65
+ value: recipient.amount,
66
+ coin: this._coinConfig.name,
67
+ }));
68
+ const totalAmount = 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
+ * @inheritdoc
85
+ */
86
+ getTxData() {
87
+ if (!this._suiTransaction) {
88
+ throw new sdk_core_1.InvalidTransactionError('empty transaction');
89
+ }
90
+ const tx = this._suiTransaction;
91
+ return {
92
+ sender: this._suiTransaction.sender,
93
+ expiration: { None: null },
94
+ gasData: this._suiTransaction.gasData,
95
+ kind: {
96
+ ProgrammableTransaction: tx.tx,
97
+ },
98
+ };
99
+ }
100
+ /**
101
+ * @inheritdoc
102
+ */
103
+ toJson() {
104
+ if (!this._suiTransaction) {
105
+ throw new sdk_core_1.InvalidTransactionError('empty transaction');
106
+ }
107
+ const tx = this._suiTransaction;
108
+ return {
109
+ id: tx.id,
110
+ sender: tx.sender,
111
+ expiration: { None: null },
112
+ gasData: tx.gasData,
113
+ kind: {
114
+ ProgrammableTransaction: tx.tx,
115
+ },
116
+ };
117
+ }
118
+ /**
119
+ * @inheritdoc
120
+ */
121
+ explainTransaction() {
122
+ const result = this.toJson();
123
+ const displayOrder = ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'];
124
+ const explanationResult = {
125
+ displayOrder,
126
+ id: this.id,
127
+ outputs: [],
128
+ outputAmount: '0',
129
+ changeOutputs: [],
130
+ changeAmount: '0',
131
+ fee: { fee: this.suiTransaction.gasData.budget.toString() },
132
+ type: this.type,
133
+ };
134
+ return this.explainCustomTransaction(result, explanationResult);
135
+ }
136
+ /**
137
+ * Returns a complete explanation of the custom transaction
138
+ * @param json
139
+ * @param explanationResult
140
+ */
141
+ explainCustomTransaction(json, explanationResult) {
142
+ const recipients = utils_1.default.getRecipients(this.suiTransaction);
143
+ const outputs = recipients.map((recipient) => recipient);
144
+ const outputAmount = recipients.reduce((accumulator, current) => accumulator + Number(current.amount), 0);
145
+ return {
146
+ ...explanationResult,
147
+ outputs,
148
+ outputAmount,
149
+ };
150
+ }
151
+ }
152
+ exports.CustomTransaction = CustomTransaction;
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1DQU1pQjtBQUNqQiwrQ0FBNEM7QUFFNUMsb0RBQTRCO0FBQzVCLG1EQUErRztBQUMvRywyQ0FBK0M7QUFFL0MsTUFBYSxpQkFBa0IsU0FBUSx5QkFBMEM7SUFHL0UsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLGNBQXNCO1FBQ3ZDLElBQUk7WUFDRixlQUFLLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyx5QkFBVyxDQUFDLHlCQUF5QixDQUMxRCxjQUFjLENBQ2tDLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsMEJBQWtCLENBQUMsUUFBUSxDQUFDO1lBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxRQUFRLENBQUM7WUFDdEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztZQUN0QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSw0QkFBZ0IsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsR0FBWTtRQUNsQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFp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QUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsT0FBTyxFQUFFLEVBQUU7WUFDWCxZQUFZLEVBQUUsR0FBRztZQUNqQixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsR0FBRztZQUNqQixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzNELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyx3QkFBd0IsQ0FBQyxJQUFZLEVBQUUsaUJBQXlDO1FBQ3RGLE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUEyQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUcsT0FBTztZQUNMLEdBQUcsaUJBQWlCO1lBQ3BCLE9BQU87WUFDUCxZQUFZO1NBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTdKRCw4Q0E2SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDdXN0b21Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbixcbiAgU3VpVHJhbnNhY3Rpb24sXG4gIFN1aVRyYW5zYWN0aW9uVHlwZSxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgVHhEYXRhLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25SZWNpcGllbnQsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFVOQVZBSUxBQkxFX1RFWFQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21UcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uPEN1c3RvbVByb2dyYW1tYWJsZVRyYW5zYWN0aW9uPiB7XG4gIHByaXZhdGUgX3Jhd1RyYW5zYWN0aW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqIEBwYXJhbSByYXdUcmFuc2FjdGlvblxuICAgKi9cbiAgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdXRpbHMuaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHRoaXMuX3N1aVRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZGVzZXJpYWxpemVTdWlUcmFuc2FjdGlvbihcbiAgICAgICAgcmF3VHJhbnNhY3Rpb25cbiAgICAgICkgYXMgU3VpVHJhbnNhY3Rpb248Q3VzdG9tUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+O1xuICAgICAgdGhpcy5fc3VpVHJhbnNhY3Rpb24udHlwZSA9IFN1aVRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHg7XG4gICAgICB0aGlzLl9pZCA9IHRoaXMuX3N1aVRyYW5zYWN0aW9uLmlkO1xuICAgICAgdGhpcy5fcmF3VHJhbnNhY3Rpb24gPSByYXdUcmFuc2FjdGlvbjtcbiAgICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkIHx8IFVOQVZBSUxBQkxFX1RFWFQ7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9zdWlUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdlbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgbG9hZElucHV0c0FuZE91dHB1dHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zdWlUcmFuc2FjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB1dGlscy5nZXRSZWNpcGllbnRzKHRoaXMuX3N1aVRyYW5zYWN0aW9uKTtcbiAgICB0aGlzLl9vdXRwdXRzID0gcmVjaXBpZW50cy5tYXAoKHJlY2lwaWVudCwgaW5kZXgpID0+ICh7XG4gICAgICBhZGRyZXNzOiByZWNpcGllbnQuYWRkcmVzcyxcbiAgICAgIHZhbHVlOiByZWNpcGllbnQuYW1vdW50LFxuICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgIH0pKTtcbiAgICBjb25zdCB0b3RhbEFtb3VudCA9IHJlY2lwaWVudHMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudCkgPT4gYWNjdW11bGF0b3IgKyBOdW1iZXIoY3VycmVudC5hbW91bnQpLCAwKTtcblxuICAgIHRoaXMuX2lucHV0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5zdWlUcmFuc2FjdGlvbi5zZW5kZXIsXG4gICAgICAgIHZhbHVlOiB0b3RhbEFtb3VudC50b1N0cmluZygpLFxuICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSByYXcgdHJhbnNhY3Rpb24gYmFzZTY0IHN0cmluZ1xuICAgKi9cbiAgZ2V0IHJhd1RyYW5zYWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3Jhd1RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgZ2V0VHhEYXRhKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9zdWlUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdlbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IHR4ID0gdGhpcy5fc3VpVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbmRlcjogdGhpcy5fc3VpVHJhbnNhY3Rpb24uc2VuZGVyLFxuICAgICAgZXhwaXJhdGlvbjogeyBOb25lOiBudWxsIH0sXG4gICAgICBnYXNEYXRhOiB0aGlzLl9zdWlUcmFuc2FjdGlvbi5nYXNEYXRhLFxuICAgICAga2luZDoge1xuICAgICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjogdHgudHgsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX3N1aVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ2VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdHggPSB0aGlzLl9zdWlUcmFuc2FjdGlvbjtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHR4LmlkLFxuICAgICAgc2VuZGVyOiB0eC5zZW5kZXIsXG4gICAgICBleHBpcmF0aW9uOiB7IE5vbmU6IG51bGwgfSxcbiAgICAgIGdhc0RhdGE6IHR4Lmdhc0RhdGEsXG4gICAgICBraW5kOiB7XG4gICAgICAgIFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uOiB0eC50eCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gWydpZCcsICdvdXRwdXRzJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VPdXRwdXRzJywgJ2NoYW5nZUFtb3VudCcsICdmZWUnLCAndHlwZSddO1xuICAgIGNvbnN0IGV4cGxhbmF0aW9uUmVzdWx0OiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uID0ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBvdXRwdXRzOiBbXSwgLy8gcGxhY2Vob2xkZXIgd2hpY2ggd2lsbCBiZSBmaWxsZWQgaW4gdGhlIG5leHQgc3RlcFxuICAgICAgb3V0cHV0QW1vdW50OiAnMCcsIC8vIHBsYWNlaG9sZGVyIHdoaWNoIHdpbGwgYmUgZmlsbGVkIGluIHRoZSBuZXh0IHN0ZXBcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiB0aGlzLnN1aVRyYW5zYWN0aW9uLmdhc0RhdGEuYnVkZ2V0LnRvU3RyaW5nKCkgfSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuZXhwbGFpbkN1c3RvbVRyYW5zYWN0aW9uKHJlc3VsdCwgZXhwbGFuYXRpb25SZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb21wbGV0ZSBleHBsYW5hdGlvbiBvZiB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBqc29uXG4gICAqIEBwYXJhbSBleHBsYW5hdGlvblJlc3VsdFxuICAgKi9cbiAgcHJpdmF0ZSBleHBsYWluQ3VzdG9tVHJhbnNhY3Rpb24oanNvbjogVHhEYXRhLCBleHBsYW5hdGlvblJlc3VsdDogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbik6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB1dGlscy5nZXRSZWNpcGllbnRzKHRoaXMuc3VpVHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSByZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiByZWNpcGllbnQpO1xuICAgIGNvbnN0IG91dHB1dEFtb3VudCA9IHJlY2lwaWVudHMucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudCkgPT4gYWNjdW11bGF0b3IgKyBOdW1iZXIoY3VycmVudC5hbW91bnQpLCAwKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZXhwbGFuYXRpb25SZXN1bHQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgb3V0cHV0QW1vdW50LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==