@bitgo-beta/sdk-coin-tao 1.0.1-alpha.6 → 1.0.1-alpha.60

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 (44) hide show
  1. package/CHANGELOG.md +109 -0
  2. package/dist/src/lib/index.d.ts +5 -7
  3. package/dist/src/lib/index.d.ts.map +1 -1
  4. package/dist/src/lib/index.js +22 -47
  5. package/dist/src/lib/stakingBuilder.d.ts +63 -0
  6. package/dist/src/lib/stakingBuilder.d.ts.map +1 -0
  7. package/dist/src/lib/stakingBuilder.js +133 -0
  8. package/dist/src/lib/transactionBuilderFactory.d.ts +11 -5
  9. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  10. package/dist/src/lib/transactionBuilderFactory.js +50 -8
  11. package/dist/src/lib/transferBuilder.d.ts +2 -4
  12. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  13. package/dist/src/lib/transferBuilder.js +8 -7
  14. package/dist/src/lib/unstakeBuilder.d.ts +66 -0
  15. package/dist/src/lib/unstakeBuilder.d.ts.map +1 -0
  16. package/dist/src/lib/unstakeBuilder.js +136 -0
  17. package/dist/src/lib/utils.d.ts +4 -14
  18. package/dist/src/lib/utils.d.ts.map +1 -1
  19. package/dist/src/lib/utils.js +7 -25
  20. package/dist/src/resources/index.d.ts +3 -0
  21. package/dist/src/resources/index.d.ts.map +1 -0
  22. package/dist/src/resources/index.js +19 -0
  23. package/dist/src/resources/mainnet.d.ts +13 -0
  24. package/dist/src/resources/mainnet.d.ts.map +1 -0
  25. package/dist/src/resources/mainnet.js +16 -0
  26. package/dist/src/resources/testnet.d.ts +13 -0
  27. package/dist/src/resources/testnet.d.ts.map +1 -0
  28. package/dist/src/resources/testnet.js +16 -0
  29. package/dist/src/tao.d.ts +41 -16
  30. package/dist/src/tao.d.ts.map +1 -1
  31. package/dist/src/tao.js +45 -29
  32. package/package.json +12 -9
  33. package/dist/src/lib/iface.d.ts +0 -7
  34. package/dist/src/lib/iface.d.ts.map +0 -1
  35. package/dist/src/lib/iface.js +0 -3
  36. package/dist/src/lib/keyPair.d.ts +0 -12
  37. package/dist/src/lib/keyPair.d.ts.map +0 -1
  38. package/dist/src/lib/keyPair.js +0 -24
  39. package/dist/src/lib/transaction.d.ts +0 -8
  40. package/dist/src/lib/transaction.d.ts.map +0 -1
  41. package/dist/src/lib/transaction.js +0 -17
  42. package/dist/src/lib/transactionBuilder.d.ts +0 -43
  43. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  44. package/dist/src/lib/transactionBuilder.js +0 -78
package/CHANGELOG.md CHANGED
@@ -3,6 +3,115 @@
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.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)
7
+
8
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
9
+
10
+ ## [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)
11
+
12
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
13
+
14
+ ## [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)
15
+
16
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
17
+
18
+ ## [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)
19
+
20
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
21
+
22
+ ## [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)
23
+
24
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
25
+
26
+ ## [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)
27
+
28
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
29
+
30
+ ## [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)
31
+
32
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
33
+
34
+ ## [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)
35
+
36
+ ### Bug Fixes
37
+
38
+ - **sdk-coin-tao:** prevent real api calls by using beforeEach for stubbing ([4415e0e](https://github.com/BitGo/BitGoJS/commit/4415e0e0348eb9f110a53dcbd393f8bd2e1e8619))
39
+
40
+ # [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)
41
+
42
+ ### Features
43
+
44
+ - **abstract-substrate:** add wrw for tao ([9f30890](https://github.com/BitGo/BitGoJS/commit/9f3089000330d47696ab057891cd8d1083004a2a))
45
+
46
+ # [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)
47
+
48
+ ### Bug Fixes
49
+
50
+ - **sdk-coin-tao:** allow consolidations ([0e374cf](https://github.com/BitGo/BitGoJS/commit/0e374cfabd366438cc2abfe9d0967854bf03cd03))
51
+ - **sdk-coin-tao:** change amount and netuid type to string ([bbb92aa](https://github.com/BitGo/BitGoJS/commit/bbb92aa3e9def1e6260a074761cdf4a38888ebd6))
52
+ - **sdk-coin-tao:** use tao builder not dot ([3ee7bfc](https://github.com/BitGo/BitGoJS/commit/3ee7bfc3fcf3d22d12d31b8104614b1b7996648c))
53
+
54
+ ### Features
55
+
56
+ - **sdk-coin-tao:** add staking builder ([0859b9d](https://github.com/BitGo/BitGoJS/commit/0859b9d099fc0ab9c651d0476bfd74dd48f08d45))
57
+ - **sdk-coin-tao:** add unstaking builder for TAO ([fe568b5](https://github.com/BitGo/BitGoJS/commit/fe568b5fda3d3e27cf2ced01581e52ede08ee58d))
58
+
59
+ # [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)
60
+
61
+ ### Bug Fixes
62
+
63
+ - **sdk-coin-tao:** allow consolidations ([0e374cf](https://github.com/BitGo/BitGoJS/commit/0e374cfabd366438cc2abfe9d0967854bf03cd03))
64
+
65
+ ### Features
66
+
67
+ - **sdk-coin-tao:** add staking builder ([0859b9d](https://github.com/BitGo/BitGoJS/commit/0859b9d099fc0ab9c651d0476bfd74dd48f08d45))
68
+ - **sdk-coin-tao:** add unstaking builder for TAO ([fe568b5](https://github.com/BitGo/BitGoJS/commit/fe568b5fda3d3e27cf2ced01581e52ede08ee58d))
69
+
70
+ ## [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)
71
+
72
+ ### Bug Fixes
73
+
74
+ - **sdk-coin-tao:** allow consolidations ([0e374cf](https://github.com/BitGo/BitGoJS/commit/0e374cfabd366438cc2abfe9d0967854bf03cd03))
75
+
76
+ ## [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)
77
+
78
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
79
+
80
+ # [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)
81
+
82
+ ### Bug Fixes
83
+
84
+ - **abstract-substrate:** fix abstract-substrate implementation ([1c986da](https://github.com/BitGo/BitGoJS/commit/1c986daa817353ca522c0e8e72e67a6dffa00fac))
85
+ - **sdk-coin-tao:** fix coinBuilderMap for tao ([b592e09](https://github.com/BitGo/BitGoJS/commit/b592e098544b447e946c1d4432a442f9bb1ab6d3))
86
+
87
+ ### Features
88
+
89
+ - **sdk-coin-tao:** add network to ttao ([79ad572](https://github.com/BitGo/BitGoJS/commit/79ad5722b1b3b4ee08119d3c9a71f881e74095dc))
90
+
91
+ # [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)
92
+
93
+ ### Features
94
+
95
+ - implement base transaction and transfer builders ([b342edd](https://github.com/BitGo/BitGoJS/commit/b342edd6f655b242c6c286d65941e9989a9e672e))
96
+
97
+ # [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)
98
+
99
+ ### Bug Fixes
100
+
101
+ - fix utils ([53b9621](https://github.com/BitGo/BitGoJS/commit/53b9621171fbed7a2514c7c6d12ba8c917780eba))
102
+
103
+ ### Features
104
+
105
+ - implement tao specific functions ([67e658e](https://github.com/BitGo/BitGoJS/commit/67e658e03cb3e47959d9bbb18285cbb8cd19943b))
106
+
107
+ ## [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)
108
+
109
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
110
+
111
+ ## [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)
112
+
113
+ **Note:** Version bump only for package @bitgo/sdk-coin-tao
114
+
6
115
  ## [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)
7
116
 
8
117
  **Note:** Version bump only for package @bitgo/sdk-coin-tao
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDhEQUFzSDtBQUN0SCxnRUFBcUM7QUFDckMsbURBQTZGO0FBQzdGLHVFQUFvRztBQUVwRyxNQUFhLGNBQWUsU0FBUSx1Q0FBa0I7SUFLcEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08sZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FDbEI7WUFDRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTztTQUNyQixFQUNELFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQWU7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLDhCQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBOEIsQ0FBQztZQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZCQUE2QixJQUFJLENBQUMsT0FBTyxFQUFFLElBQUkscUJBQXFCLENBQUMsQ0FBQztRQUMxRyxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG1CQUFtQixDQUFDLENBQWM7UUFDaEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxjQUFjLENBQUMsWUFBb0IsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUN6RSxNQUFNLGdCQUFnQixHQUFHLDJCQUFNLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDO1lBQzlELFlBQVk7WUFDWixNQUFNO1lBQ04sTUFBTTtTQUNQLENBQUMsQ0FBQztRQUVILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLGtDQUF1QixDQUMvQixnREFBZ0QsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUNqRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMEJBQTBCLENBQUMsVUFBbUQsRUFBRSxjQUFzQjtRQUNwRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLDhCQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9ELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBeUMsQ0FBQztZQUM3RSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1lBQzNDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixNQUFNLGdCQUFnQixHQUFHLDJCQUFNLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2xHLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQywyQ0FBMkMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDakgsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssUUFBUSxDQUFDLElBQTRCLEVBQUUsSUFBZ0M7UUFDN0UsT0FBTyxJQUFBLDZCQUFZLEVBQ2pCO1lBQ0UsTUFBTSxFQUFFO2dCQUNOLElBQUk7Z0JBQ0osSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE1BQU0sRUFBRSxpQkFBaUI7YUFDMUI7WUFDRCxHQUFHLElBQUksQ0FBQyxVQUFVO1NBQ25CLEVBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBOUlELHdDQThJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiwgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUsIEJhc2VBZGRyZXNzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQnVpbGRlciwgSW50ZXJmYWNlLCBTY2hlbWEgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuXG5leHBvcnQgY2xhc3MgU3Rha2luZ0J1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2Ftb3VudDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2hvdGtleTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX25ldHVpZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSB0cmFuc2FjdGlvbiB0byBzdGFrZVxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgc3Rha2UgVEFPIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wb2xrYWRvdC5qcy5vcmcvZG9jcy9zdWJzdHJhdGUvZXh0cmluc2ljcy8jc3Rha2luZ1xuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiB0aGlzLmFkZFN0YWtlKFxuICAgICAge1xuICAgICAgICBhbW91bnRTdGFrZWQ6IHRoaXMuX2Ftb3VudCxcbiAgICAgICAgaG90a2V5OiB0aGlzLl9ob3RrZXksXG4gICAgICAgIG5ldHVpZDogdGhpcy5fbmV0dWlkLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBhbW91bnQgdG8gc3Rha2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCB0byBzdGFrZVxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IFRoaXMgc3Rha2luZyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tbm9taW5hdG9yI3JlcXVpcmVkLW1pbmltdW0tc3Rha2VcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGFtb3VudCkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHZhbGlkYXRvciBob3Qga2V5IGFkZHJlc3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhvdGtleSBhZGRyZXNzIG9mIHZhbGlkYXRvclxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IFRoaXMgc3Rha2luZyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tc3Rha2luZyNhY2NvdW50c1xuICAgKi9cbiAgaG90a2V5KHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9ob3RrZXkgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBuZXR1aWQgb2YgdGhlIHN1Ym5ldCAocm9vdCBuZXR3b3JrIGlzIDApXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXR1aWQgb2Ygc3VibmV0XG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gVGhpcyBzdGFraW5nIGJ1aWxkZXIuXG4gICAqL1xuICBuZXR1aWQobmV0dWlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9uZXR1aWQgPSBuZXR1aWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuQWRkU3Rha2UpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgSW50ZXJmYWNlLkFkZFN0YWtlQXJncztcbiAgICAgIHRoaXMuYW1vdW50KHR4TWV0aG9kLmFtb3VudFN0YWtlZCk7XG4gICAgICB0aGlzLmhvdGtleSh7IGFkZHJlc3M6IHR4TWV0aG9kLmhvdGtleSB9KTtcbiAgICAgIHRoaXMubmV0dWlkKHR4TWV0aG9kLm5ldHVpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIGFkZFN0YWtlYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbihfKTtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKHRoaXMuX2Ftb3VudCwgdGhpcy5faG90a2V5LCB0aGlzLl9uZXR1aWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gdmFsaWRhdGUgd2hldGhlciBzdGFrZSBwYXJhbXMgaGF2ZSB0aGUgY29ycmVjdCB0eXBlIGFuZCBmb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFN0YWtlZCBhbW91bnQgdG8gc3Rha2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhvdGtleSBob3RrZXkgYWRkcmVzcyBvZiB0aGUgdmFsaWRhdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXR1aWQgbmV0dWlkIG9mIHRoZSBzdWJuZXRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHMoYW1vdW50U3Rha2VkOiBzdHJpbmcsIGhvdGtleTogc3RyaW5nLCBuZXR1aWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBTY2hlbWEuU3Rha2VUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICBhbW91bnRTdGFrZWQsXG4gICAgICBob3RrZXksXG4gICAgICBuZXR1aWQsXG4gICAgfSk7XG5cbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgU3Rha2UgQnVpbGRlciBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuQWRkU3Rha2UpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEludGVyZmFjZS5BZGRTdGFrZUFyZ3M7XG4gICAgICBjb25zdCBhbW91bnRTdGFrZWQgPSB0eE1ldGhvZC5hbW91bnRTdGFrZWQ7XG4gICAgICBjb25zdCBob3RrZXkgPSB0eE1ldGhvZC5ob3RrZXk7XG4gICAgICBjb25zdCBuZXR1aWQgPSB0eE1ldGhvZC5uZXR1aWQ7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gU2NoZW1hLlN0YWtlVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhbW91bnRTdGFrZWQsIGhvdGtleSwgbmV0dWlkIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2ZlciBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCBhIHRyYW5zYWN0aW9uIHRvIHN0YWtlXG4gICAqXG4gICAqIEBwYXJhbSB7SW50ZXJmYWNlLkFkZFN0YWtlQXJnc30gU3Rha2UgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgYWRkU3Rha2UgbWV0aG9kXG4gICAqIEBwYXJhbSB7SW50ZXJmYWNlLkNyZWF0ZUJhc2VUeEluZm99IEJhc2UgdHhuIGluZm8gcmVxdWlyZWQgdG8gY29uc3RydWN0IHRoZSBhZGRTdGFrZSB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHN0YWtlIFRBTyB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBhZGRTdGFrZShhcmdzOiBJbnRlcmZhY2UuQWRkU3Rha2VBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2FkZFN0YWtlJyxcbiAgICAgICAgICBwYWxsZXQ6ICdzdWJ0ZW5zb3JNb2R1bGUnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,12 +1,18 @@
1
1
  import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
2
- import { TransactionBuilder } from './transactionBuilder';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { TransactionBuilder, Interface } from './';
3
4
  import { TransferBuilder } from './transferBuilder';
5
+ import { StakingBuilder } from './stakingBuilder';
6
+ import { UnstakeBuilder } from './unstakeBuilder';
4
7
  export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
5
- /** @inheritdoc */
6
- from(raw: string): TransactionBuilder;
7
- /** @inheritdoc */
8
+ protected _material: Interface.Material;
9
+ constructor(_coinConfig: Readonly<CoinConfig>);
8
10
  getTransferBuilder(): TransferBuilder;
9
- /** @inheritdoc */
11
+ getStakingBuilder(): StakingBuilder;
12
+ getUnstakingBuilder(): UnstakeBuilder;
10
13
  getWalletInitializationBuilder(): void;
14
+ from(rawTxn: string): TransactionBuilder;
15
+ material(material: Interface.Material): this;
16
+ private getBuilder;
11
17
  }
12
18
  //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAIrC,kBAAkB;IAClB,kBAAkB,IAAI,eAAe;IAIrC,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;CAGvC"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAqC,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAqB,kBAAkB,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;gBAE5B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,IAAI,cAAc;IAInC,mBAAmB,IAAI,cAAc;IAIrC,8BAA8B,IAAI,IAAI;IAItC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAMxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,IAAI;IAK5C,OAAO,CAAC,UAAU;CAkBnB"}
@@ -1,20 +1,62 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.TransactionBuilderFactory = void 0;
4
7
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
+ const _1 = require("./");
10
+ const transferBuilder_1 = require("./transferBuilder");
11
+ const utils_1 = __importDefault(require("./utils"));
12
+ const stakingBuilder_1 = require("./stakingBuilder");
13
+ const unstakeBuilder_1 = require("./unstakeBuilder");
5
14
  class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
6
- /** @inheritdoc */
7
- from(raw) {
8
- throw new Error('Method not implemented.');
15
+ constructor(_coinConfig) {
16
+ super(_coinConfig);
17
+ this._material = utils_1.default.getMaterial(_coinConfig.network.type);
9
18
  }
10
- /** @inheritdoc */
11
19
  getTransferBuilder() {
12
- throw new Error('Method not implemented.');
20
+ return new transferBuilder_1.TransferBuilder(this._coinConfig).material(this._material);
21
+ }
22
+ getStakingBuilder() {
23
+ return new stakingBuilder_1.StakingBuilder(this._coinConfig).material(this._material);
24
+ }
25
+ getUnstakingBuilder() {
26
+ return new unstakeBuilder_1.UnstakeBuilder(this._coinConfig).material(this._material);
13
27
  }
14
- /** @inheritdoc */
15
28
  getWalletInitializationBuilder() {
16
- throw new Error('Method not implemented.');
29
+ throw new sdk_core_1.NotImplementedError(`walletInitialization for ${this._coinConfig.name} not implemented`);
30
+ }
31
+ from(rawTxn) {
32
+ const builder = this.getBuilder(rawTxn);
33
+ builder.from(rawTxn);
34
+ return builder;
35
+ }
36
+ material(material) {
37
+ this._material = material;
38
+ return this;
39
+ }
40
+ getBuilder(rawTxn) {
41
+ const registry = _1.SingletonRegistry.getInstance(this._material);
42
+ const decodedTxn = (0, txwrapper_polkadot_1.decode)(rawTxn, {
43
+ metadataRpc: this._material.metadata,
44
+ registry: registry,
45
+ });
46
+ const methodName = decodedTxn.method?.name;
47
+ if (methodName === _1.Interface.MethodNames.TransferKeepAlive || methodName === _1.Interface.MethodNames.TransferAll) {
48
+ return this.getTransferBuilder();
49
+ }
50
+ else if (methodName === _1.Interface.MethodNames.AddStake) {
51
+ return this.getStakingBuilder();
52
+ }
53
+ else if (methodName === _1.Interface.MethodNames.RemoveStake) {
54
+ return this.getUnstakingBuilder();
55
+ }
56
+ else {
57
+ throw new sdk_core_1.NotSupported('Transaction cannot be parsed or has an unsupported transaction type');
58
+ }
17
59
  }
18
60
  }
19
61
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBcUU7QUFJckUsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFDMUUsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDhCQUE4QjtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBZkQsOERBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHJhdzogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKCk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBd0c7QUFFeEcsc0VBQXVEO0FBQ3ZELHlCQUFzRTtBQUN0RSx1REFBb0Q7QUFDcEQsb0RBQTRCO0FBQzVCLHFEQUFrRDtBQUNsRCxxREFBa0Q7QUFFbEQsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFHMUUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLCtCQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksK0JBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsOEJBQThCO1FBQzVCLE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFjO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQTRCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFVBQVUsQ0FBQyxNQUFjO1FBQy9CLE1BQU0sUUFBUSxHQUFHLG9CQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBQSwyQkFBTSxFQUFDLE1BQU0sRUFBRTtZQUNoQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO1lBQ3BDLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1FBQzNDLElBQUksVUFBVSxLQUFLLFlBQVMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLElBQUksVUFBVSxLQUFLLFlBQVMsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0csT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO2FBQU0sSUFBSSxVQUFVLEtBQUssWUFBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2xDLENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxZQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDcEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksdUJBQVksQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFyREQsOERBcURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIE5vdEltcGxlbWVudGVkRXJyb3IsIE5vdFN1cHBvcnRlZCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGRlY29kZSB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IFNpbmdsZXRvblJlZ2lzdHJ5LCBUcmFuc2FjdGlvbkJ1aWxkZXIsIEludGVyZmFjZSB9IGZyb20gJy4vJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQnVpbGRlcic7XG5pbXBvcnQgeyBVbnN0YWtlQnVpbGRlciB9IGZyb20gJy4vdW5zdGFrZUJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgcHJvdGVjdGVkIF9tYXRlcmlhbDogSW50ZXJmYWNlLk1hdGVyaWFsO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9tYXRlcmlhbCA9IHV0aWxzLmdldE1hdGVyaWFsKF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gIH1cblxuICBnZXRUcmFuc2ZlckJ1aWxkZXIoKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRTdGFraW5nQnVpbGRlcigpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRVbnN0YWtpbmdCdWlsZGVyKCk6IFVuc3Rha2VCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFVuc3Rha2VCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcihgd2FsbGV0SW5pdGlhbGl6YXRpb24gZm9yICR7dGhpcy5fY29pbkNvbmZpZy5uYW1lfSBub3QgaW1wbGVtZW50ZWRgKTtcbiAgfVxuXG4gIGZyb20ocmF3VHhuOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIocmF3VHhuKTtcbiAgICBidWlsZGVyLmZyb20ocmF3VHhuKTtcbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIG1hdGVyaWFsKG1hdGVyaWFsOiBJbnRlcmZhY2UuTWF0ZXJpYWwpOiB0aGlzIHtcbiAgICB0aGlzLl9tYXRlcmlhbCA9IG1hdGVyaWFsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdWlsZGVyKHJhd1R4bjogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICBjb25zdCByZWdpc3RyeSA9IFNpbmdsZXRvblJlZ2lzdHJ5LmdldEluc3RhbmNlKHRoaXMuX21hdGVyaWFsKTtcbiAgICBjb25zdCBkZWNvZGVkVHhuID0gZGVjb2RlKHJhd1R4biwge1xuICAgICAgbWV0YWRhdGFScGM6IHRoaXMuX21hdGVyaWFsLm1ldGFkYXRhLFxuICAgICAgcmVnaXN0cnk6IHJlZ2lzdHJ5LFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lO1xuICAgIGlmIChtZXRob2ROYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuVHJhbnNmZXJLZWVwQWxpdmUgfHwgbWV0aG9kTmFtZSA9PT0gSW50ZXJmYWNlLk1ldGhvZE5hbWVzLlRyYW5zZmVyQWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5BZGRTdGFrZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0J1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5SZW1vdmVTdGFrZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VW5zdGFraW5nQnVpbGRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKCdUcmFuc2FjdGlvbiBjYW5ub3QgYmUgcGFyc2VkIG9yIGhhcyBhbiB1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,8 +1,6 @@
1
- import { TransactionBuilder } from './transactionBuilder';
2
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { TransactionType } from '@bitgo-beta/sdk-core';
4
- export declare class TransferBuilder extends TransactionBuilder {
2
+ import { TransferBuilder as SubstrateTransferBuilder } from '@bitgo-beta/abstract-substrate';
3
+ export declare class TransferBuilder extends SubstrateTransferBuilder {
5
4
  constructor(_coinConfig: Readonly<CoinConfig>);
6
- protected get transactionType(): TransactionType;
7
5
  }
8
6
  //# sourceMappingURL=transferBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;CACF"}
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAG7F,qBAAa,eAAgB,SAAQ,wBAAwB;gBAC/C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI9C"}
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.TransferBuilder = void 0;
4
- const transactionBuilder_1 = require("./transactionBuilder");
5
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
- class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
7
+ const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
8
+ const utils_1 = __importDefault(require("./utils"));
9
+ class TransferBuilder extends abstract_substrate_1.TransferBuilder {
7
10
  constructor(_coinConfig) {
8
11
  super(_coinConfig);
9
- }
10
- get transactionType() {
11
- return sdk_core_1.TransactionType.Send;
12
+ this.material(utils_1.default.getMaterial(_coinConfig.network.type));
12
13
  }
13
14
  }
14
15
  exports.TransferBuilder = TransferBuilder;
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQTBEO0FBRTFELG1EQUF1RDtBQUV2RCxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBQ3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUFSRCwwQ0FRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG59XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsdUVBQTZGO0FBQzdGLG9EQUE0QjtBQUU1QixNQUFhLGVBQWdCLFNBQVEsb0NBQXdCO0lBQzNELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGO0FBTEQsMENBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgYXMgU3Vic3RyYXRlVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFN1YnN0cmF0ZVRyYW5zZmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLm1hdGVyaWFsKHV0aWxzLmdldE1hdGVyaWFsKF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSkpO1xuICB9XG59XG4iXX0=