@bitgo-beta/sdk-coin-tao 1.0.0-beta.5 → 1.0.0-beta.500

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 (61) hide show
  1. package/.mocharc.yml +1 -1
  2. package/CHANGELOG.md +216 -0
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +2 -1
  6. package/dist/src/lib/iface.d.ts +7 -5
  7. package/dist/src/lib/iface.d.ts.map +1 -1
  8. package/dist/src/lib/iface.js +1 -1
  9. package/dist/src/lib/index.d.ts +5 -7
  10. package/dist/src/lib/index.d.ts.map +1 -1
  11. package/dist/src/lib/index.js +22 -47
  12. package/dist/src/lib/stakingBuilder.d.ts +63 -0
  13. package/dist/src/lib/stakingBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/stakingBuilder.js +133 -0
  15. package/dist/src/lib/tokenTransferBuilder.d.ts +74 -0
  16. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  17. package/dist/src/lib/tokenTransferBuilder.js +154 -0
  18. package/dist/src/lib/tokenTransferTransaction.d.ts +10 -0
  19. package/dist/src/lib/tokenTransferTransaction.d.ts.map +1 -0
  20. package/dist/src/lib/tokenTransferTransaction.js +77 -0
  21. package/dist/src/lib/transactionBuilderFactory.d.ts +12 -5
  22. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  23. package/dist/src/lib/transactionBuilderFactory.js +57 -8
  24. package/dist/src/lib/transferBuilder.d.ts +2 -4
  25. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  26. package/dist/src/lib/transferBuilder.js +8 -7
  27. package/dist/src/lib/unstakeBuilder.d.ts +66 -0
  28. package/dist/src/lib/unstakeBuilder.d.ts.map +1 -0
  29. package/dist/src/lib/unstakeBuilder.js +136 -0
  30. package/dist/src/lib/utils.d.ts +5 -14
  31. package/dist/src/lib/utils.d.ts.map +1 -1
  32. package/dist/src/lib/utils.js +16 -24
  33. package/dist/src/register.d.ts.map +1 -1
  34. package/dist/src/register.js +5 -1
  35. package/dist/src/resources/index.d.ts +3 -0
  36. package/dist/src/resources/index.d.ts.map +1 -0
  37. package/dist/src/resources/index.js +19 -0
  38. package/dist/src/resources/mainnet.d.ts +13 -0
  39. package/dist/src/resources/mainnet.d.ts.map +1 -0
  40. package/dist/src/resources/mainnet.js +16 -0
  41. package/dist/src/resources/testnet.d.ts +13 -0
  42. package/dist/src/resources/testnet.d.ts.map +1 -0
  43. package/dist/src/resources/testnet.js +16 -0
  44. package/dist/src/tao.d.ts +41 -16
  45. package/dist/src/tao.d.ts.map +1 -1
  46. package/dist/src/tao.js +45 -29
  47. package/dist/src/taoToken.d.ts +19 -0
  48. package/dist/src/taoToken.d.ts.map +1 -0
  49. package/dist/src/taoToken.js +52 -0
  50. package/package.json +12 -9
  51. package/.gitignore +0 -3
  52. package/.prettierignore +0 -2
  53. package/dist/src/lib/keyPair.d.ts +0 -12
  54. package/dist/src/lib/keyPair.d.ts.map +0 -1
  55. package/dist/src/lib/keyPair.js +0 -24
  56. package/dist/src/lib/transaction.d.ts +0 -8
  57. package/dist/src/lib/transaction.d.ts.map +0 -1
  58. package/dist/src/lib/transaction.js +0 -17
  59. package/dist/src/lib/transactionBuilder.d.ts +0 -43
  60. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  61. package/dist/src/lib/transactionBuilder.js +0 -78
package/.mocharc.yml CHANGED
@@ -1,4 +1,4 @@
1
- require: 'ts-node/register'
1
+ require: 'tsx'
2
2
  timeout: '60000'
3
3
  reporter: 'min'
4
4
  reporter-option:
package/CHANGELOG.md CHANGED
@@ -3,6 +3,222 @@
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
+ # [1.11.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.10.2...@bitgo/sdk-coin-tao@1.11.0) (2025-08-22)
7
+
8
+ ### Features
9
+
10
+ - **root:** migrate ts-node -> tsx ([ea180b4](https://github.com/BitGo/BitGoJS/commit/ea180b43001d8e956196bc07b32798e3a7031eeb))
11
+
12
+ ## [1.10.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.10.1...@bitgo/sdk-coin-tao@1.10.2) (2025-08-22)
13
+
14
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
15
+
16
+ ## [1.10.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.10.0...@bitgo/sdk-coin-tao@1.10.1) (2025-08-19)
17
+
18
+ ### Bug Fixes
19
+
20
+ - **sdk-coin-tao:** fix toJson & explainTransaction for token transfers ([34a8175](https://github.com/BitGo/BitGoJS/commit/34a81751fd982a7ebd7449f8036d6d19b501780a))
21
+
22
+ # [1.10.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.9.0...@bitgo/sdk-coin-tao@1.10.0) (2025-08-14)
23
+
24
+ ### Features
25
+
26
+ - **sdk-coin-polyx:** add token builders ([6860780](https://github.com/BitGo/BitGoJS/commit/68607804efc1191ff396e05f20466526246b7d87))
27
+ - **sdk-coin-tao:** add tokenTransferBuilder ([43fc839](https://github.com/BitGo/BitGoJS/commit/43fc839f87e81d2592bcd249b14d7aef815a0927))
28
+
29
+ # [1.9.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.11...@bitgo/sdk-coin-tao@1.9.0) (2025-08-07)
30
+
31
+ ### Features
32
+
33
+ - add taoToken skeleton ([c3d65a2](https://github.com/BitGo/BitGoJS/commit/c3d65a29d8e4404e0157d8a8d825465f3c9cc693))
34
+
35
+ ## [1.8.11](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.10...@bitgo/sdk-coin-tao@1.8.11) (2025-07-31)
36
+
37
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
38
+
39
+ ## [1.8.10](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.9...@bitgo/sdk-coin-tao@1.8.10) (2025-07-30)
40
+
41
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
42
+
43
+ ## [1.8.9](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.7...@bitgo/sdk-coin-tao@1.8.9) (2025-07-25)
44
+
45
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
46
+
47
+ ## [1.8.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.7...@bitgo/sdk-coin-tao@1.8.8) (2025-07-23)
48
+
49
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
50
+
51
+ ## [1.8.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.6...@bitgo/sdk-coin-tao@1.8.7) (2025-07-15)
52
+
53
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
54
+
55
+ ## [1.8.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.5...@bitgo/sdk-coin-tao@1.8.6) (2025-07-10)
56
+
57
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
58
+
59
+ ## [1.8.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.4...@bitgo/sdk-coin-tao@1.8.5) (2025-07-03)
60
+
61
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
62
+
63
+ ## [1.8.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.3...@bitgo/sdk-coin-tao@1.8.4) (2025-06-25)
64
+
65
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
66
+
67
+ ## [1.8.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.2...@bitgo/sdk-coin-tao@1.8.3) (2025-06-24)
68
+
69
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
70
+
71
+ ## [1.8.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.1...@bitgo/sdk-coin-tao@1.8.2) (2025-06-18)
72
+
73
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
74
+
75
+ ## [1.8.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.8.0...@bitgo/sdk-coin-tao@1.8.1) (2025-06-10)
76
+
77
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
78
+
79
+ # [1.8.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.7.3...@bitgo/sdk-coin-tao@1.8.0) (2025-06-05)
80
+
81
+ ### Features
82
+
83
+ - **root:** support node 22 ([c4ad6af](https://github.com/BitGo/BitGoJS/commit/c4ad6af2e8896221417c303f0f6b84652b493216))
84
+
85
+ ## [1.7.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.7.2...@bitgo/sdk-coin-tao@1.7.3) (2025-06-02)
86
+
87
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
88
+
89
+ ## [1.7.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.7.1...@bitgo/sdk-coin-tao@1.7.2) (2025-05-28)
90
+
91
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
92
+
93
+ ## [1.7.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.7.0...@bitgo/sdk-coin-tao@1.7.1) (2025-05-22)
94
+
95
+ ### Bug Fixes
96
+
97
+ - remove empty space character at end of file names ([51bd0f5](https://github.com/BitGo/BitGoJS/commit/51bd0f56ca3275dcf980a21a20e7d94c8837ba42))
98
+
99
+ # [1.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.9...@bitgo/sdk-coin-tao@1.7.0) (2025-05-20)
100
+
101
+ ### Features
102
+
103
+ - **sdk-coin-polyx:** add transaction builders ([31c96bb](https://github.com/BitGo/BitGoJS/commit/31c96bbbce60b93e13208e3eab06bd144cfe57e4))
104
+
105
+ ## [1.6.9](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.8...@bitgo/sdk-coin-tao@1.6.9) (2025-05-07)
106
+
107
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
108
+
109
+ ## [1.6.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.7...@bitgo/sdk-coin-tao@1.6.8) (2025-04-29)
110
+
111
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
112
+
113
+ ## [1.6.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.6...@bitgo/sdk-coin-tao@1.6.7) (2025-04-25)
114
+
115
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
116
+
117
+ ## [1.6.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.5...@bitgo/sdk-coin-tao@1.6.6) (2025-04-15)
118
+
119
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
120
+
121
+ ## [1.6.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.4...@bitgo/sdk-coin-tao@1.6.5) (2025-04-04)
122
+
123
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
124
+
125
+ ## [1.6.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.3...@bitgo/sdk-coin-tao@1.6.4) (2025-04-02)
126
+
127
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
128
+
129
+ ## [1.6.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.2...@bitgo/sdk-coin-tao@1.6.3) (2025-03-28)
130
+
131
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
132
+
133
+ ## [1.6.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.1...@bitgo/sdk-coin-tao@1.6.2) (2025-03-20)
134
+
135
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
136
+
137
+ ## [1.6.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.6.0...@bitgo/sdk-coin-tao@1.6.1) (2025-03-18)
138
+
139
+ ### Bug Fixes
140
+
141
+ - **sdk-coin-tao:** prevent real api calls by using beforeEach for stubbing ([4415e0e](https://github.com/BitGo/BitGoJS/commit/4415e0e0348eb9f110a53dcbd393f8bd2e1e8619))
142
+
143
+ # [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.5.0...@bitgo/sdk-coin-tao@1.6.0) (2025-03-06)
144
+
145
+ ### Features
146
+
147
+ - **abstract-substrate:** add wrw for tao ([9f30890](https://github.com/BitGo/BitGoJS/commit/9f3089000330d47696ab057891cd8d1083004a2a))
148
+
149
+ # [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.3.1...@bitgo/sdk-coin-tao@1.5.0) (2025-03-04)
150
+
151
+ ### Bug Fixes
152
+
153
+ - **sdk-coin-tao:** allow consolidations ([0e374cf](https://github.com/BitGo/BitGoJS/commit/0e374cfabd366438cc2abfe9d0967854bf03cd03))
154
+ - **sdk-coin-tao:** change amount and netuid type to string ([bbb92aa](https://github.com/BitGo/BitGoJS/commit/bbb92aa3e9def1e6260a074761cdf4a38888ebd6))
155
+ - **sdk-coin-tao:** use tao builder not dot ([3ee7bfc](https://github.com/BitGo/BitGoJS/commit/3ee7bfc3fcf3d22d12d31b8104614b1b7996648c))
156
+
157
+ ### Features
158
+
159
+ - **sdk-coin-tao:** add staking builder ([0859b9d](https://github.com/BitGo/BitGoJS/commit/0859b9d099fc0ab9c651d0476bfd74dd48f08d45))
160
+ - **sdk-coin-tao:** add unstaking builder for TAO ([fe568b5](https://github.com/BitGo/BitGoJS/commit/fe568b5fda3d3e27cf2ced01581e52ede08ee58d))
161
+
162
+ # [1.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.3.1...@bitgo/sdk-coin-tao@1.4.0) (2025-02-26)
163
+
164
+ ### Bug Fixes
165
+
166
+ - **sdk-coin-tao:** allow consolidations ([0e374cf](https://github.com/BitGo/BitGoJS/commit/0e374cfabd366438cc2abfe9d0967854bf03cd03))
167
+
168
+ ### Features
169
+
170
+ - **sdk-coin-tao:** add staking builder ([0859b9d](https://github.com/BitGo/BitGoJS/commit/0859b9d099fc0ab9c651d0476bfd74dd48f08d45))
171
+ - **sdk-coin-tao:** add unstaking builder for TAO ([fe568b5](https://github.com/BitGo/BitGoJS/commit/fe568b5fda3d3e27cf2ced01581e52ede08ee58d))
172
+
173
+ ## [1.3.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.3.1...@bitgo/sdk-coin-tao@1.3.2) (2025-02-20)
174
+
175
+ ### Bug Fixes
176
+
177
+ - **sdk-coin-tao:** allow consolidations ([0e374cf](https://github.com/BitGo/BitGoJS/commit/0e374cfabd366438cc2abfe9d0967854bf03cd03))
178
+
179
+ ## [1.3.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.3.0...@bitgo/sdk-coin-tao@1.3.1) (2025-02-19)
180
+
181
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
182
+
183
+ # [1.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.2.0...@bitgo/sdk-coin-tao@1.3.0) (2025-02-11)
184
+
185
+ ### Bug Fixes
186
+
187
+ - **abstract-substrate:** fix abstract-substrate implementation ([1c986da](https://github.com/BitGo/BitGoJS/commit/1c986daa817353ca522c0e8e72e67a6dffa00fac))
188
+ - **sdk-coin-tao:** fix coinBuilderMap for tao ([b592e09](https://github.com/BitGo/BitGoJS/commit/b592e098544b447e946c1d4432a442f9bb1ab6d3))
189
+
190
+ ### Features
191
+
192
+ - **sdk-coin-tao:** add network to ttao ([79ad572](https://github.com/BitGo/BitGoJS/commit/79ad5722b1b3b4ee08119d3c9a71f881e74095dc))
193
+
194
+ # [1.2.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.1.0...@bitgo/sdk-coin-tao@1.2.0) (2025-02-05)
195
+
196
+ ### Features
197
+
198
+ - implement base transaction and transfer builders ([b342edd](https://github.com/BitGo/BitGoJS/commit/b342edd6f655b242c6c286d65941e9989a9e672e))
199
+
200
+ # [1.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.0.4...@bitgo/sdk-coin-tao@1.1.0) (2025-01-28)
201
+
202
+ ### Bug Fixes
203
+
204
+ - fix utils ([53b9621](https://github.com/BitGo/BitGoJS/commit/53b9621171fbed7a2514c7c6d12ba8c917780eba))
205
+
206
+ ### Features
207
+
208
+ - implement tao specific functions ([67e658e](https://github.com/BitGo/BitGoJS/commit/67e658e03cb3e47959d9bbb18285cbb8cd19943b))
209
+
210
+ ## [1.0.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.0.3...@bitgo/sdk-coin-tao@1.0.4) (2025-01-23)
211
+
212
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
213
+
214
+ ## [1.0.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.0.2...@bitgo/sdk-coin-tao@1.0.3) (2025-01-23)
215
+
216
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
217
+
218
+ ## [1.0.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-tao@1.0.1...@bitgo/sdk-coin-tao@1.0.2) (2025-01-20)
219
+
220
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
221
+
6
222
  ## 1.0.1 (2025-01-15)
7
223
 
8
224
  **Note:** Version bump only for package @bitgo/sdk-coin-tao
@@ -2,4 +2,5 @@ export * from './lib';
2
2
  export * from './register';
3
3
  export * from './tao';
4
4
  export * from './ttao';
5
+ export * from './taoToken';
5
6
  //# 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,YAAY,CAAC;AAC3B,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,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -18,4 +18,5 @@ __exportStar(require("./lib"), exports);
18
18
  __exportStar(require("./register"), exports);
19
19
  __exportStar(require("./tao"), exports);
20
20
  __exportStar(require("./ttao"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qiw2Q0FBMkI7QUFDM0Isd0NBQXNCO0FBQ3RCLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi90YW8nO1xuZXhwb3J0ICogZnJvbSAnLi90dGFvJztcbiJdfQ==
21
+ __exportStar(require("./taoToken"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qiw2Q0FBMkI7QUFDM0Isd0NBQXNCO0FBQ3RCLHlDQUF1QjtBQUN2Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFvJztcbmV4cG9ydCAqIGZyb20gJy4vdHRhbyc7XG5leHBvcnQgKiBmcm9tICcuL3Rhb1Rva2VuJztcbiJdfQ==
@@ -1,7 +1,9 @@
1
- /**
2
- * The transaction data returned from the toJson() function of a transaction
3
- */
4
- export interface TxData {
5
- id: string;
1
+ import { Interface } from '@bitgo-beta/abstract-substrate';
2
+ export interface TransferStakeTxData extends Interface.TxData {
3
+ destinationColdkey: string;
4
+ hotkey: string;
5
+ originNetuid: string;
6
+ destinationNetuid: string;
7
+ alphaAmount: string;
6
8
  }
7
9
  //# sourceMappingURL=iface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,MAAM;IAC3D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVyU3Rha2VUeERhdGEgZXh0ZW5kcyBJbnRlcmZhY2UuVHhEYXRhIHtcbiAgZGVzdGluYXRpb25Db2xka2V5OiBzdHJpbmc7XG4gIGhvdGtleTogc3RyaW5nO1xuICBvcmlnaW5OZXR1aWQ6IHN0cmluZztcbiAgZGVzdGluYXRpb25OZXR1aWQ6IHN0cmluZztcbiAgYWxwaGFBbW91bnQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,9 +1,7 @@
1
- import * as Utils from './utils';
2
- import * as Interface from './iface';
3
- export { KeyPair } from './keyPair';
4
- export { Transaction } from './transaction';
5
- export { TransactionBuilder } from './transactionBuilder';
6
- export { TransferBuilder } from './transferBuilder';
1
+ export { Constants, Errors, Interface, KeyPair, SingletonRegistry, Transaction, TransactionBuilder, } from '@bitgo-beta/abstract-substrate';
7
2
  export { TransactionBuilderFactory } from './transactionBuilderFactory';
8
- export { Interface, Utils };
3
+ export { TransferBuilder } from './transferBuilder';
4
+ export { StakingBuilder } from './stakingBuilder';
5
+ export { UnstakeBuilder } from './unstakeBuilder';
6
+ export { Utils, default as utils } from './utils';
9
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -1,51 +1,26 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
35
5
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Utils = exports.Interface = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
37
- const Utils = __importStar(require("./utils"));
38
- exports.Utils = Utils;
39
- const Interface = __importStar(require("./iface"));
40
- exports.Interface = Interface;
41
- var keyPair_1 = require("./keyPair");
42
- Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
43
- var transaction_1 = require("./transaction");
44
- Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
45
- var transactionBuilder_1 = require("./transactionBuilder");
46
- Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
47
- var transferBuilder_1 = require("./transferBuilder");
48
- Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
6
+ exports.utils = exports.Utils = exports.UnstakeBuilder = exports.StakingBuilder = exports.TransferBuilder = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.SingletonRegistry = exports.KeyPair = exports.Interface = exports.Errors = exports.Constants = void 0;
7
+ var abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
8
+ Object.defineProperty(exports, "Constants", { enumerable: true, get: function () { return abstract_substrate_1.Constants; } });
9
+ Object.defineProperty(exports, "Errors", { enumerable: true, get: function () { return abstract_substrate_1.Errors; } });
10
+ Object.defineProperty(exports, "Interface", { enumerable: true, get: function () { return abstract_substrate_1.Interface; } });
11
+ Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return abstract_substrate_1.KeyPair; } });
12
+ Object.defineProperty(exports, "SingletonRegistry", { enumerable: true, get: function () { return abstract_substrate_1.SingletonRegistry; } });
13
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return abstract_substrate_1.Transaction; } });
14
+ Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return abstract_substrate_1.TransactionBuilder; } });
49
15
  var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
50
16
  Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQVFiLHNCQUFLO0FBUHpCLG1EQUFxQztBQU81Qiw4QkFBUztBQUxsQixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBJbnRlcmZhY2UgZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgSW50ZXJmYWNlLCBVdGlscyB9O1xuIl19
17
+ var transferBuilder_1 = require("./transferBuilder");
18
+ Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
19
+ var stakingBuilder_1 = require("./stakingBuilder");
20
+ Object.defineProperty(exports, "StakingBuilder", { enumerable: true, get: function () { return stakingBuilder_1.StakingBuilder; } });
21
+ var unstakeBuilder_1 = require("./unstakeBuilder");
22
+ Object.defineProperty(exports, "UnstakeBuilder", { enumerable: true, get: function () { return unstakeBuilder_1.UnstakeBuilder; } });
23
+ var utils_1 = require("./utils");
24
+ Object.defineProperty(exports, "Utils", { enumerable: true, get: function () { return utils_1.Utils; } });
25
+ Object.defineProperty(exports, "utils", { enumerable: true, get: function () { return __importDefault(utils_1).default; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFFQVF3QztBQVB0QywrR0FBQSxTQUFTLE9BQUE7QUFDVCw0R0FBQSxNQUFNLE9BQUE7QUFDTiwrR0FBQSxTQUFTLE9BQUE7QUFDVCw2R0FBQSxPQUFPLE9BQUE7QUFDUCx1SEFBQSxpQkFBaUIsT0FBQTtBQUNqQixpSEFBQSxXQUFXLE9BQUE7QUFDWCx3SEFBQSxrQkFBa0IsT0FBQTtBQUdwQix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMscURBQW9EO0FBQTNDLGtIQUFBLGVBQWUsT0FBQTtBQUN4QixtREFBa0Q7QUFBekMsZ0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLG1EQUFrRDtBQUF6QyxnSEFBQSxjQUFjLE9BQUE7QUFDdkIsaUNBQWtEO0FBQXpDLDhGQUFBLEtBQUssT0FBQTtBQUFFLCtHQUFBLE9BQU8sT0FBUyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIENvbnN0YW50cyxcbiAgRXJyb3JzLFxuICBJbnRlcmZhY2UsXG4gIEtleVBhaXIsXG4gIFNpbmdsZXRvblJlZ2lzdHJ5LFxuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25CdWlsZGVyLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuXG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQnVpbGRlcic7XG5leHBvcnQgeyBVbnN0YWtlQnVpbGRlciB9IGZyb20gJy4vdW5zdGFrZUJ1aWxkZXInO1xuZXhwb3J0IHsgVXRpbHMsIGRlZmF1bHQgYXMgdXRpbHMgfSBmcm9tICcuL3V0aWxzJztcbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { UnsignedTransaction, DecodedSignedTx, DecodedSigningPayload } from '@substrate/txwrapper-core';
3
+ import { TransactionType, BaseAddress } from '@bitgo-beta/sdk-core';
4
+ import { Transaction, TransactionBuilder } from '@bitgo-beta/abstract-substrate';
5
+ export declare class StakingBuilder extends TransactionBuilder {
6
+ protected _amount: string;
7
+ protected _hotkey: string;
8
+ protected _netuid: string;
9
+ constructor(_coinConfig: Readonly<CoinConfig>);
10
+ /**
11
+ * Construct a transaction to stake
12
+ * @returns {UnsignedTransaction} an unsigned stake TAO transaction
13
+ *
14
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#staking
15
+ */
16
+ protected buildTransaction(): UnsignedTransaction;
17
+ /** @inheritdoc */
18
+ protected get transactionType(): TransactionType;
19
+ /**
20
+ * Set the amount to stake
21
+ * @param {string} amount to stake
22
+ * @returns {StakingBuilder} This staking builder.
23
+ *
24
+ * @see https://wiki.polkadot.network/docs/learn-nominator#required-minimum-stake
25
+ */
26
+ amount(amount: string): this;
27
+ /**
28
+ * Set the validator hot key address
29
+ * @param {string} hotkey address of validator
30
+ * @returns {StakingBuilder} This staking builder.
31
+ *
32
+ * @see https://wiki.polkadot.network/docs/learn-staking#accounts
33
+ */
34
+ hotkey({ address }: BaseAddress): this;
35
+ /**
36
+ * Set netuid of the subnet (root network is 0)
37
+ * @param {string} netuid of subnet
38
+ * @returns {StakingBuilder} This staking builder.
39
+ */
40
+ netuid(netuid: string): this;
41
+ /** @inheritdoc */
42
+ protected fromImplementation(rawTransaction: string): Transaction;
43
+ /** @inheritdoc */
44
+ validateTransaction(_: Transaction): void;
45
+ /**
46
+ * Helper method to validate whether stake params have the correct type and format
47
+ * @param {string} amountStaked amount to stake
48
+ * @param {string} hotkey hotkey address of the validator
49
+ * @param {string} netuid netuid of the subnet
50
+ */
51
+ private validateFields;
52
+ /** @inheritdoc */
53
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction: string): void;
54
+ /**
55
+ * Construct a transaction to stake
56
+ *
57
+ * @param {Interface.AddStakeArgs} Stake arguments to be passed to the addStake method
58
+ * @param {Interface.CreateBaseTxInfo} Base txn info required to construct the addStake txn
59
+ * @returns {UnsignedTransaction} an unsigned stake TAO transaction
60
+ */
61
+ private addStake;
62
+ }
63
+ //# sourceMappingURL=stakingBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/stakingBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAgB,mBAAmB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEtH,OAAO,EAA2B,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAqB,MAAM,gCAAgC,CAAC;AAEpG,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAYjD,kBAAkB;IAClB,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,IAAI;IAMtC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAajE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IActB,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAa7G;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;CAajB"}
@@ -0,0 +1,133 @@
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.StakingBuilder = void 0;
7
+ const txwrapper_core_1 = require("@substrate/txwrapper-core");
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
+ const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
11
+ class StakingBuilder extends abstract_substrate_1.TransactionBuilder {
12
+ constructor(_coinConfig) {
13
+ super(_coinConfig);
14
+ }
15
+ /**
16
+ * Construct a transaction to stake
17
+ * @returns {UnsignedTransaction} an unsigned stake TAO transaction
18
+ *
19
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#staking
20
+ */
21
+ buildTransaction() {
22
+ const baseTxInfo = this.createBaseTxInfo();
23
+ return this.addStake({
24
+ amountStaked: this._amount,
25
+ hotkey: this._hotkey,
26
+ netuid: this._netuid,
27
+ }, baseTxInfo);
28
+ }
29
+ /** @inheritdoc */
30
+ get transactionType() {
31
+ return sdk_core_1.TransactionType.StakingActivate;
32
+ }
33
+ /**
34
+ * Set the amount to stake
35
+ * @param {string} amount to stake
36
+ * @returns {StakingBuilder} This staking builder.
37
+ *
38
+ * @see https://wiki.polkadot.network/docs/learn-nominator#required-minimum-stake
39
+ */
40
+ amount(amount) {
41
+ this.validateValue(new bignumber_js_1.default(amount));
42
+ this._amount = amount;
43
+ return this;
44
+ }
45
+ /**
46
+ * Set the validator hot key address
47
+ * @param {string} hotkey address of validator
48
+ * @returns {StakingBuilder} This staking builder.
49
+ *
50
+ * @see https://wiki.polkadot.network/docs/learn-staking#accounts
51
+ */
52
+ hotkey({ address }) {
53
+ this.validateAddress({ address });
54
+ this._hotkey = address;
55
+ return this;
56
+ }
57
+ /**
58
+ * Set netuid of the subnet (root network is 0)
59
+ * @param {string} netuid of subnet
60
+ * @returns {StakingBuilder} This staking builder.
61
+ */
62
+ netuid(netuid) {
63
+ this._netuid = netuid;
64
+ return this;
65
+ }
66
+ /** @inheritdoc */
67
+ fromImplementation(rawTransaction) {
68
+ const tx = super.fromImplementation(rawTransaction);
69
+ if (this._method?.name === abstract_substrate_1.Interface.MethodNames.AddStake) {
70
+ const txMethod = this._method.args;
71
+ this.amount(txMethod.amountStaked);
72
+ this.hotkey({ address: txMethod.hotkey });
73
+ this.netuid(txMethod.netuid);
74
+ }
75
+ else {
76
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected addStake`);
77
+ }
78
+ return tx;
79
+ }
80
+ /** @inheritdoc */
81
+ validateTransaction(_) {
82
+ super.validateTransaction(_);
83
+ this.validateFields(this._amount, this._hotkey, this._netuid);
84
+ }
85
+ /**
86
+ * Helper method to validate whether stake params have the correct type and format
87
+ * @param {string} amountStaked amount to stake
88
+ * @param {string} hotkey hotkey address of the validator
89
+ * @param {string} netuid netuid of the subnet
90
+ */
91
+ validateFields(amountStaked, hotkey, netuid) {
92
+ const validationResult = abstract_substrate_1.Schema.StakeTransactionSchema.validate({
93
+ amountStaked,
94
+ hotkey,
95
+ netuid,
96
+ });
97
+ if (validationResult.error) {
98
+ throw new sdk_core_1.InvalidTransactionError(`Stake Builder Transaction validation failed: ${validationResult.error.message}`);
99
+ }
100
+ }
101
+ /** @inheritdoc */
102
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
103
+ if (decodedTxn.method?.name === abstract_substrate_1.Interface.MethodNames.AddStake) {
104
+ const txMethod = decodedTxn.method.args;
105
+ const amountStaked = txMethod.amountStaked;
106
+ const hotkey = txMethod.hotkey;
107
+ const netuid = txMethod.netuid;
108
+ const validationResult = abstract_substrate_1.Schema.StakeTransactionSchema.validate({ amountStaked, hotkey, netuid });
109
+ if (validationResult.error) {
110
+ throw new sdk_core_1.InvalidTransactionError(`Transfer Transaction validation failed: ${validationResult.error.message}`);
111
+ }
112
+ }
113
+ }
114
+ /**
115
+ * Construct a transaction to stake
116
+ *
117
+ * @param {Interface.AddStakeArgs} Stake arguments to be passed to the addStake method
118
+ * @param {Interface.CreateBaseTxInfo} Base txn info required to construct the addStake txn
119
+ * @returns {UnsignedTransaction} an unsigned stake TAO transaction
120
+ */
121
+ addStake(args, info) {
122
+ return (0, txwrapper_core_1.defineMethod)({
123
+ method: {
124
+ args,
125
+ name: 'addStake',
126
+ pallet: 'subtensorModule',
127
+ },
128
+ ...info.baseTxInfo,
129
+ }, info.options);
130
+ }
131
+ }
132
+ exports.StakingBuilder = StakingBuilder;
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDhEQUFzSDtBQUN0SCxnRUFBcUM7QUFDckMsbURBQTZGO0FBQzdGLHVFQUFvRztBQUVwRyxNQUFhLGNBQWUsU0FBUSx1Q0FBa0I7SUFLcEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08sZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FDbEI7WUFDRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTztTQUNyQixFQUNELFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQWU7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxD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aUI7YUFDMUI7WUFDRCxHQUFHLElBQUksQ0FBQyxVQUFVO1NBQ25CLEVBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBOUlELHdDQThJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiwgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUsIEJhc2VBZGRyZXNzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQnVpbGRlciwgSW50ZXJmYWNlLCBTY2hlbWEgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuXG5leHBvcnQgY2xhc3MgU3Rha2luZ0J1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2Ftb3VudDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2hvdGtleTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX25ldHVpZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSB0cmFuc2FjdGlvbiB0byBzdGFrZVxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgc3Rha2UgVEFPIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wb2xrYWRvdC5qcy5vcmcvZG9jcy9zdWJzdHJhdGUvZXh0cmluc2ljcy8jc3Rha2luZ1xuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiB0aGlzLmFkZFN0YWtlKFxuICAgICAge1xuICAgICAgICBhbW91bnRTdGFrZWQ6IHRoaXMuX2Ftb3VudCxcbiAgICAgICAgaG90a2V5OiB0aGlzLl9ob3RrZXksXG4gICAgICAgIG5ldHVpZDogdGhpcy5fbmV0dWlkLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBhbW91bnQgdG8gc3Rha2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCB0byBzdGFrZVxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IFRoaXMgc3Rha2luZyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tbm9taW5hdG9yI3JlcXVpcmVkLW1pbmltdW0tc3Rha2VcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGFtb3VudCkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHZhbGlkYXRvciBob3Qga2V5IGFkZHJlc3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhvdGtleSBhZGRyZXNzIG9mIHZhbGlkYXRvclxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IFRoaXMgc3Rha2luZyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tc3Rha2luZyNhY2NvdW50c1xuICAgKi9cbiAgaG90a2V5KHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9ob3RrZXkgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBuZXR1aWQgb2YgdGhlIHN1Ym5ldCAocm9vdCBuZXR3b3JrIGlzIDApXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXR1aWQgb2Ygc3VibmV0XG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gVGhpcyBzdGFraW5nIGJ1aWxkZXIuXG4gICAqL1xuICBuZXR1aWQobmV0dWlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9uZXR1aWQgPSBuZXR1aWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuQWRkU3Rha2UpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgSW50ZXJmYWNlLkFkZFN0YWtlQXJncztcbiAgICAgIHRoaXMuYW1vdW50KHR4TWV0aG9kLmFtb3VudFN0YWtlZCk7XG4gICAgICB0aGlzLmhvdGtleSh7IGFkZHJlc3M6IHR4TWV0aG9kLmhvdGtleSB9KTtcbiAgICAgIHRoaXMubmV0dWlkKHR4TWV0aG9kLm5ldHVpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIGFkZFN0YWtlYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbihfKTtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKHRoaXMuX2Ftb3VudCwgdGhpcy5faG90a2V5LCB0aGlzLl9uZXR1aWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gdmFsaWRhdGUgd2hldGhlciBzdGFrZSBwYXJhbXMgaGF2ZSB0aGUgY29ycmVjdCB0eXBlIGFuZCBmb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFN0YWtlZCBhbW91bnQgdG8gc3Rha2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhvdGtleSBob3RrZXkgYWRkcmVzcyBvZiB0aGUgdmFsaWRhdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXR1aWQgbmV0dWlkIG9mIHRoZSBzdWJuZXRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHMoYW1vdW50U3Rha2VkOiBzdHJpbmcsIGhvdGtleTogc3RyaW5nLCBuZXR1aWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBTY2hlbWEuU3Rha2VUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICBhbW91bnRTdGFrZWQsXG4gICAgICBob3RrZXksXG4gICAgICBuZXR1aWQsXG4gICAgfSk7XG5cbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgU3Rha2UgQnVpbGRlciBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuQWRkU3Rha2UpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEludGVyZmFjZS5BZGRTdGFrZUFyZ3M7XG4gICAgICBjb25zdCBhbW91bnRTdGFrZWQgPSB0eE1ldGhvZC5hbW91bnRTdGFrZWQ7XG4gICAgICBjb25zdCBob3RrZXkgPSB0eE1ldGhvZC5ob3RrZXk7XG4gICAgICBjb25zdCBuZXR1aWQgPSB0eE1ldGhvZC5uZXR1aWQ7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gU2NoZW1hLlN0YWtlVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhbW91bnRTdGFrZWQsIGhvdGtleSwgbmV0dWlkIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2ZlciBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCBhIHRyYW5zYWN0aW9uIHRvIHN0YWtlXG4gICAqXG4gICAqIEBwYXJhbSB7SW50ZXJmYWNlLkFkZFN0YWtlQXJnc30gU3Rha2UgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgYWRkU3Rha2UgbWV0aG9kXG4gICAqIEBwYXJhbSB7SW50ZXJmYWNlLkNyZWF0ZUJhc2VUeEluZm99IEJhc2UgdHhuIGluZm8gcmVxdWlyZWQgdG8gY29uc3RydWN0IHRoZSBhZGRTdGFrZSB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHN0YWtlIFRBTyB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBhZGRTdGFrZShhcmdzOiBJbnRlcmZhY2UuQWRkU3Rha2VBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2FkZFN0YWtlJyxcbiAgICAgICAgICBwYWxsZXQ6ICdzdWJ0ZW5zb3JNb2R1bGUnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19