@bitgo/account-lib 2.17.2-rc.0.0 → 2.17.2-rc.3

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 (101) hide show
  1. package/dist/browser/bitgo-account-lib.min.js +1 -1
  2. package/dist/browser/bitgo-account-lib.min.js.LICENSE.txt +132 -0
  3. package/dist/package.json +10 -3
  4. package/dist/resources/dot/index.ts +2 -0
  5. package/dist/resources/dot/mainnet.ts +2 -0
  6. package/dist/resources/dot/westend.ts +2 -0
  7. package/dist/resources/trx/protobuf/tron.js~account-lib_master +31380 -0
  8. package/dist/src/coin/algo/keyExclusionBuilder.d.ts +9 -0
  9. package/dist/src/coin/algo/keyExclusionBuilder.d.ts.map +1 -0
  10. package/dist/src/coin/algo/keyExclusionBuilder.js +83 -0
  11. package/dist/src/coin/algo/utils.d.ts +39 -22
  12. package/dist/src/coin/algo/utils.d.ts.map +1 -1
  13. package/dist/src/coin/algo/utils.js +88 -73
  14. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  15. package/dist/src/coin/baseCoin/baseTransactionBuilder.js +1 -1
  16. package/dist/src/coin/cspr/utils.js +2 -2
  17. package/dist/src/coin/dot/errors.d.ts +8 -0
  18. package/dist/src/coin/dot/errors.d.ts.map +1 -0
  19. package/dist/src/coin/dot/errors.js +40 -0
  20. package/dist/src/coin/dot/iface.d.ts +153 -0
  21. package/dist/src/coin/dot/iface.d.ts.map +1 -0
  22. package/dist/src/coin/dot/iface.js +15 -0
  23. package/dist/src/coin/dot/index.d.ts +6 -0
  24. package/dist/src/coin/dot/index.d.ts.map +1 -1
  25. package/dist/src/coin/dot/index.js +14 -2
  26. package/dist/src/coin/dot/keyPair.d.ts +15 -2
  27. package/dist/src/coin/dot/keyPair.d.ts.map +1 -1
  28. package/dist/src/coin/dot/keyPair.js +41 -6
  29. package/dist/src/coin/dot/stakingBuilder.d.ts +59 -0
  30. package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -0
  31. package/dist/src/coin/dot/stakingBuilder.js +157 -0
  32. package/dist/src/coin/dot/transaction.d.ts +31 -3
  33. package/dist/src/coin/dot/transaction.d.ts.map +1 -1
  34. package/dist/src/coin/dot/transaction.js +268 -7
  35. package/dist/src/coin/dot/transactionBuilder.d.ts +105 -9
  36. package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
  37. package/dist/src/coin/dot/transactionBuilder.js +311 -15
  38. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +12 -16
  39. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -1
  40. package/dist/src/coin/dot/transactionBuilderFactory.js +60 -25
  41. package/dist/src/coin/dot/transferBuilder.d.ts +62 -4
  42. package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -1
  43. package/dist/src/coin/dot/transferBuilder.js +158 -44
  44. package/dist/src/coin/dot/txnSchema.d.ts +10 -0
  45. package/dist/src/coin/dot/txnSchema.d.ts.map +1 -0
  46. package/dist/src/coin/dot/txnSchema.js +83 -0
  47. package/dist/src/coin/dot/unstakeBuilder.d.ts +38 -0
  48. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -0
  49. package/dist/src/coin/dot/unstakeBuilder.js +111 -0
  50. package/dist/src/coin/dot/utils.d.ts +69 -0
  51. package/dist/src/coin/dot/utils.d.ts.map +1 -1
  52. package/dist/src/coin/dot/utils.js +144 -4
  53. package/dist/src/coin/dot/walletInitializationBuilder.d.ts +51 -5
  54. package/dist/src/coin/dot/walletInitializationBuilder.d.ts.map +1 -1
  55. package/dist/src/coin/dot/walletInitializationBuilder.js +108 -45
  56. package/dist/src/coin/sol/constants.d.ts +24 -0
  57. package/dist/src/coin/sol/constants.d.ts.map +1 -0
  58. package/dist/src/coin/sol/constants.js +35 -0
  59. package/dist/src/coin/sol/iface.d.ts +47 -0
  60. package/dist/src/coin/sol/iface.d.ts.map +1 -0
  61. package/dist/src/coin/sol/iface.js +3 -0
  62. package/dist/src/coin/sol/index.d.ts +5 -0
  63. package/dist/src/coin/sol/index.d.ts.map +1 -0
  64. package/dist/src/coin/sol/index.js +29 -0
  65. package/dist/src/coin/sol/instructionParamsFactory.d.ts +12 -0
  66. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -0
  67. package/dist/src/coin/sol/instructionParamsFactory.js +99 -0
  68. package/dist/src/coin/sol/keyPair.d.ts +45 -0
  69. package/dist/src/coin/sol/keyPair.d.ts.map +1 -0
  70. package/dist/src/coin/sol/keyPair.js +128 -0
  71. package/dist/src/coin/sol/solInstructionFactory.d.ts +10 -0
  72. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -0
  73. package/dist/src/coin/sol/solInstructionFactory.js +102 -0
  74. package/dist/src/coin/sol/transaction.d.ts +50 -0
  75. package/dist/src/coin/sol/transaction.d.ts.map +1 -0
  76. package/dist/src/coin/sol/transaction.js +269 -0
  77. package/dist/src/coin/sol/transactionBuilder.d.ts +96 -0
  78. package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -0
  79. package/dist/src/coin/sol/transactionBuilder.js +316 -0
  80. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +34 -0
  81. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -0
  82. package/dist/src/coin/sol/transactionBuilderFactory.js +86 -0
  83. package/dist/src/coin/sol/transferBuilder.d.ts +26 -0
  84. package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -0
  85. package/dist/src/coin/sol/transferBuilder.js +140 -0
  86. package/dist/src/coin/sol/utils.d.ts +104 -0
  87. package/dist/src/coin/sol/utils.d.ts.map +1 -0
  88. package/dist/src/coin/sol/utils.js +244 -0
  89. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +26 -0
  90. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -0
  91. package/dist/src/coin/sol/walletInitializationBuilder.js +141 -0
  92. package/dist/src/index.d.ts +4 -0
  93. package/dist/src/index.d.ts.map +1 -1
  94. package/dist/src/index.js +10 -2
  95. package/dist/src/utils/crypto.d.ts +8 -0
  96. package/dist/src/utils/crypto.d.ts.map +1 -1
  97. package/dist/src/utils/crypto.js +13 -2
  98. package/package.json +10 -3
  99. package/resources/dot/index.ts +2 -0
  100. package/resources/dot/mainnet.ts +2 -0
  101. package/resources/dot/westend.ts +2 -0
@@ -18,39 +18,74 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TransactionBuilderFactory = void 0;
19
19
  var baseCoin_1 = require("../baseCoin");
20
20
  var errors_1 = require("../baseCoin/errors");
21
+ var txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
21
22
  var transferBuilder_1 = require("./transferBuilder");
22
23
  var walletInitializationBuilder_1 = require("./walletInitializationBuilder");
24
+ var stakingBuilder_1 = require("./stakingBuilder");
25
+ var iface_1 = require("./iface");
26
+ var _1 = require(".");
23
27
  var TransactionBuilderFactory = /** @class */ (function (_super) {
24
28
  __extends(TransactionBuilderFactory, _super);
25
29
  function TransactionBuilderFactory(_coinConfig) {
26
- return _super.call(this, _coinConfig) || this;
30
+ var _this = _super.call(this, _coinConfig) || this;
31
+ _this.staticsConfig();
32
+ return _this;
27
33
  }
28
- /** @inheritdoc */
29
- TransactionBuilderFactory.prototype.from = function (raw) {
30
- throw new errors_1.NotImplementedError('from not implemented');
31
- };
32
- /** @inheritdoc */
33
- TransactionBuilderFactory.prototype.getWalletInitializationBuilder = function (tx) {
34
- return TransactionBuilderFactory.initializeBuilder(tx, new walletInitializationBuilder_1.WalletInitializationBuilder(this._coinConfig));
35
- };
36
- /** @inheritdoc */
37
- TransactionBuilderFactory.prototype.getTransferBuilder = function (tx) {
38
- return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
39
- };
40
- /**
41
- * Initialize the builder with the given transaction
42
- *
43
- * @param {Transaction | undefined} tx - the transaction used to initialize the builder
44
- * @param {TransactionBuilder} builder - the builder to be initialized
45
- * @returns {TransactionBuilder} the builder initialized
46
- */
47
- TransactionBuilderFactory.initializeBuilder = function (tx, builder) {
48
- if (tx) {
49
- builder.initBuilder(tx);
50
- }
34
+ TransactionBuilderFactory.prototype.getTransferBuilder = function () {
35
+ return new transferBuilder_1.TransferBuilder(this._coinConfig);
36
+ };
37
+ TransactionBuilderFactory.prototype.getStakingBuilder = function () {
38
+ return new stakingBuilder_1.StakingBuilder(this._coinConfig);
39
+ };
40
+ TransactionBuilderFactory.prototype.getWalletInitializationBuilder = function () {
41
+ return new walletInitializationBuilder_1.WalletInitializationBuilder(this._coinConfig);
42
+ };
43
+ TransactionBuilderFactory.prototype.getUnstakeBuilder = function () {
44
+ return new _1.UnstakeBuilder(this._coinConfig);
45
+ };
46
+ TransactionBuilderFactory.prototype.from = function (rawTxn) {
47
+ var builder = this.getBuilder(rawTxn);
48
+ builder.from(rawTxn);
51
49
  return builder;
52
50
  };
51
+ TransactionBuilderFactory.prototype.staticsConfig = function () {
52
+ var networkConfig = this._coinConfig.network;
53
+ var specName = networkConfig.specName, specVersion = networkConfig.specVersion, chainName = networkConfig.chainName, metadataRpc = networkConfig.metadataRpc;
54
+ this._registry = txwrapper_polkadot_1.getRegistry({
55
+ chainName: chainName,
56
+ specName: specName,
57
+ specVersion: specVersion,
58
+ metadataRpc: metadataRpc,
59
+ });
60
+ };
61
+ TransactionBuilderFactory.prototype.getBuilder = function (rawTxn) {
62
+ var _a;
63
+ var metadataRpc = this._coinConfig.network.metadataRpc;
64
+ if (!this._registry) {
65
+ throw new errors_1.BuildTransactionError('Please set the network before parsing the transaction');
66
+ }
67
+ var decodedTxn = txwrapper_polkadot_1.decode(rawTxn, {
68
+ metadataRpc: metadataRpc,
69
+ registry: this._registry,
70
+ });
71
+ var methodName = (_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name;
72
+ if (methodName === iface_1.MethodNames.TransferKeepAlive || methodName === iface_1.MethodNames.Proxy) {
73
+ return this.getTransferBuilder();
74
+ }
75
+ else if (methodName === iface_1.MethodNames.Bond) {
76
+ return this.getStakingBuilder();
77
+ }
78
+ else if (methodName === iface_1.MethodNames.AddProxy) {
79
+ return this.getWalletInitializationBuilder();
80
+ }
81
+ else if (methodName === iface_1.MethodNames.Unbond) {
82
+ return this.getUnstakeBuilder();
83
+ }
84
+ else {
85
+ throw new errors_1.NotSupported('Transaction cannot be parsed or has an unsupported transaction type');
86
+ }
87
+ };
53
88
  return TransactionBuilderFactory;
54
89
  }(baseCoin_1.BaseTransactionBuilderFactory));
55
90
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2RvdC90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHdDQUE0RDtBQUM1RCw2Q0FBeUQ7QUFDekQscURBQW9EO0FBQ3BELDZFQUE0RTtBQUk1RTtJQUErQyw2Q0FBNkI7SUFDMUUsbUNBQVksV0FBaUM7ZUFDM0Msa0JBQU0sV0FBVyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsd0NBQUksR0FBSixVQUFLLEdBQXdCO1FBQzNCLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0VBQThCLEdBQTlCLFVBQStCLEVBQWdCO1FBQzdDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseURBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixzREFBa0IsR0FBbEIsVUFBbUIsRUFBZ0I7UUFDakMsT0FBTyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDWSwyQ0FBaUIsR0FBaEMsVUFBK0QsRUFBMkIsRUFBRSxPQUFVO1FBQ3BHLElBQUksRUFBRSxFQUFFO1lBQ04sT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDSCxnQ0FBQztBQUFELENBQUMsQUFqQ0QsQ0FBK0Msd0NBQTZCLEdBaUMzRTtBQWpDWSw4REFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdmcm9tIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBidWlsZGVyIHdpdGggdGhlIGdpdmVuIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb24gfCB1bmRlZmluZWR9IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uQnVpbGRlcn0gYnVpbGRlciAtIHRoZSBidWlsZGVyIHRvIGJlIGluaXRpYWxpemVkXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IHRoZSBidWlsZGVyIGluaXRpYWxpemVkXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsIGJ1aWxkZXI6IFQpOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxufVxuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2RvdC90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHdDQUE0RDtBQUM1RCw2Q0FBeUU7QUFDekUsb0VBQW9FO0FBR3BFLHFEQUFvRDtBQUNwRCw2RUFBNEU7QUFDNUUsbURBQWtEO0FBQ2xELGlDQUFzQztBQUN0QyxzQkFBbUM7QUFFbkM7SUFBK0MsNkNBQTZCO0lBRzFFLG1DQUFZLFdBQWlDO1FBQTdDLFlBQ0Usa0JBQU0sV0FBVyxDQUFDLFNBRW5CO1FBREMsS0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFDOztJQUN2QixDQUFDO0lBRUQsc0RBQWtCLEdBQWxCO1FBQ0UsT0FBTyxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxxREFBaUIsR0FBakI7UUFDRSxPQUFPLElBQUksK0JBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGtFQUE4QixHQUE5QjtRQUNFLE9BQU8sSUFBSSx5REFBMkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELHFEQUFpQixHQUFqQjtRQUNFLE9BQU8sSUFBSSxpQkFBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsd0NBQUksR0FBSixVQUFLLE1BQWM7UUFDakIsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxpREFBYSxHQUF2QjtRQUNFLElBQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBcUIsQ0FBQztRQUNyRCxJQUFBLFFBQVEsR0FBMEMsYUFBYSxTQUF2RCxFQUFFLFdBQVcsR0FBNkIsYUFBYSxZQUExQyxFQUFFLFNBQVMsR0FBa0IsYUFBYSxVQUEvQixFQUFFLFdBQVcsR0FBSyxhQUFhLFlBQWxCLENBQW1CO1FBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsZ0NBQVcsQ0FBQztZQUMzQixTQUFTLEVBQUUsU0FBUztZQUNwQixRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsV0FBVztZQUN4QixXQUFXLEVBQUUsV0FBVztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sOENBQVUsR0FBbEIsVUFBbUIsTUFBYzs7UUFDdkIsSUFBQSxXQUFXLEdBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFxQixZQUEzQyxDQUE0QztRQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixNQUFNLElBQUksOEJBQXFCLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRjtRQUNELElBQU0sVUFBVSxHQUFHLDJCQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2hDLFdBQVcsYUFBQTtZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFNLFVBQVUsR0FBRyxNQUFBLFVBQVUsQ0FBQyxNQUFNLDBDQUFFLElBQUksQ0FBQztRQUMzQyxJQUFJLFVBQVUsS0FBSyxtQkFBVyxDQUFDLGlCQUFpQixJQUFJLFVBQVUsS0FBSyxtQkFBVyxDQUFDLEtBQUssRUFBRTtZQUNwRixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxVQUFVLEtBQUssbUJBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUNqQzthQUFNLElBQUksVUFBVSxLQUFLLG1CQUFXLENBQUMsUUFBUSxFQUFFO1lBQzlDLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7U0FDOUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxtQkFBVyxDQUFDLE1BQU0sRUFBRTtZQUM1QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxNQUFNLElBQUkscUJBQVksQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDO1NBQy9GO0lBQ0gsQ0FBQztJQUNILGdDQUFDO0FBQUQsQ0FBQyxBQS9ERCxDQUErQyx3Q0FBNkIsR0ErRDNFO0FBL0RZLDhEQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIERvdE5ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgTm90U3VwcG9ydGVkIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCB7IGRlY29kZSwgZ2V0UmVnaXN0cnkgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgeyBUeXBlUmVnaXN0cnkgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlL2xpYi90eXBlcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0J1aWxkZXInO1xuaW1wb3J0IHsgTWV0aG9kTmFtZXMgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFVuc3Rha2VCdWlsZGVyIH0gZnJvbSAnLic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgX3JlZ2lzdHJ5OiBUeXBlUmVnaXN0cnk7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuc3RhdGljc0NvbmZpZygpO1xuICB9XG5cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKCk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRTdGFraW5nQnVpbGRlcigpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpOiBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0VW5zdGFrZUJ1aWxkZXIoKTogVW5zdGFrZUJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVW5zdGFrZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBmcm9tKHJhd1R4bjogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICBjb25zdCBidWlsZGVyID0gdGhpcy5nZXRCdWlsZGVyKHJhd1R4bik7XG4gICAgYnVpbGRlci5mcm9tKHJhd1R4bik7XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RhdGljc0NvbmZpZygpOiB2b2lkIHtcbiAgICBjb25zdCBuZXR3b3JrQ29uZmlnID0gdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIERvdE5ldHdvcms7XG4gICAgY29uc3QgeyBzcGVjTmFtZSwgc3BlY1ZlcnNpb24sIGNoYWluTmFtZSwgbWV0YWRhdGFScGMgfSA9IG5ldHdvcmtDb25maWc7XG4gICAgdGhpcy5fcmVnaXN0cnkgPSBnZXRSZWdpc3RyeSh7XG4gICAgICBjaGFpbk5hbWU6IGNoYWluTmFtZSxcbiAgICAgIHNwZWNOYW1lOiBzcGVjTmFtZSxcbiAgICAgIHNwZWNWZXJzaW9uOiBzcGVjVmVyc2lvbixcbiAgICAgIG1ldGFkYXRhUnBjOiBtZXRhZGF0YVJwYyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlcihyYXdUeG46IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgeyBtZXRhZGF0YVJwYyB9ID0gdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIERvdE5ldHdvcms7XG4gICAgaWYgKCF0aGlzLl9yZWdpc3RyeSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignUGxlYXNlIHNldCB0aGUgbmV0d29yayBiZWZvcmUgcGFyc2luZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgZGVjb2RlZFR4biA9IGRlY29kZShyYXdUeG4sIHtcbiAgICAgIG1ldGFkYXRhUnBjLFxuICAgICAgcmVnaXN0cnk6IHRoaXMuX3JlZ2lzdHJ5LFxuICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZTtcbiAgICBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuVHJhbnNmZXJLZWVwQWxpdmUgfHwgbWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJveHkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuQm9uZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0J1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZFByb3h5KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlVuYm9uZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VW5zdGFrZUJ1aWxkZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnVHJhbnNhY3Rpb24gY2Fubm90IGJlIHBhcnNlZCBvciBoYXMgYW4gdW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,14 +1,72 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import { BaseKey } from '../baseCoin/iface';
3
2
  import { TransactionBuilder } from './transactionBuilder';
4
3
  import { Transaction } from './transaction';
4
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
5
+ import { TransactionType } from '../baseCoin';
6
+ import { proxyType } from './iface';
7
+ import { BaseAddress } from '../baseCoin/iface';
5
8
  export declare class TransferBuilder extends TransactionBuilder {
9
+ protected _amount: string;
10
+ protected _to: string;
11
+ protected _owner: string;
12
+ protected _forceProxyType: proxyType;
6
13
  constructor(_coinConfig: Readonly<CoinConfig>);
14
+ /**
15
+ *
16
+ * Dispatch the given call from an account that the sender is authorised for through add_proxy.
17
+ *
18
+ * @returns {UnsignedTransaction} an unsigned Dot transaction
19
+ *
20
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
21
+ */
22
+ protected buildTransaction(): UnsignedTransaction;
23
+ protected get transactionType(): TransactionType;
24
+ /**
25
+ *
26
+ * The amount for transfer transaction.
27
+ *
28
+ * @param {string} amount
29
+ * @returns {TransferBuilder} This transfer builder.
30
+ *
31
+ * @see https://wiki.polkadot.network/docs/build-protocol-info
32
+ */
33
+ amount(amount: string): this;
34
+ /**
35
+ *
36
+ * The destination address for transfer transaction.
37
+ *
38
+ * @param {string} dest
39
+ * @returns {TransferBuilder} This transfer builder.
40
+ *
41
+ * @see https://wiki.polkadot.network/docs/build-protocol-info
42
+ */
43
+ to({ address }: BaseAddress): this;
44
+ /**
45
+ *
46
+ * The real address of the original tx
47
+ *
48
+ * @param {BaseAddress} real
49
+ * @returns {TransferBuilder} This builder.
50
+ *
51
+ * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
52
+ */
53
+ owner(owner: BaseAddress): this;
54
+ /**
55
+ *
56
+ * The proxy type to execute
57
+ *
58
+ * @param {proxyType} forceProxyType
59
+ * @returns {TransferBuilder} This builder.
60
+ *
61
+ * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
62
+ */
63
+ forceProxyType(forceProxyType: proxyType): this;
7
64
  /** @inheritdoc */
8
- protected buildImplementation(): Promise<Transaction>;
65
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction: string): void;
9
66
  /** @inheritdoc */
10
- protected fromImplementation(rawTransaction: any): Transaction;
67
+ protected fromImplementation(rawTransaction: string): Transaction;
11
68
  /** @inheritdoc */
12
- protected signImplementation(key: BaseKey): Transaction;
69
+ validateTransaction(_: Transaction): void;
70
+ private validateFields;
13
71
  }
14
72
  //# sourceMappingURL=transferBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAI3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,GAAG,WAAW;IAI9D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;CAGxD"}
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAc,MAAM,gBAAgB,CAAC;AAIpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAA0B,SAAS,EAAgB,MAAM,SAAS,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAwBjD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;;;;OAQG;IACH,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,IAAI;IAMlC;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAM/B;;;;;;;;OAQG;IACH,cAAc,CAAC,cAAc,EAAE,SAAS,GAAG,IAAI;IAK/C,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IA2B7G,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IA8BjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;CAWvB"}
@@ -14,68 +14,182 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
52
19
  };
53
20
  Object.defineProperty(exports, "__esModule", { value: true });
54
21
  exports.TransferBuilder = void 0;
22
+ var txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
23
+ var bignumber_js_1 = __importDefault(require("bignumber.js"));
55
24
  var errors_1 = require("../baseCoin/errors");
56
25
  var transactionBuilder_1 = require("./transactionBuilder");
26
+ var baseCoin_1 = require("../baseCoin");
27
+ var iface_1 = require("./iface");
28
+ var txnSchema_1 = require("./txnSchema");
29
+ var utils_1 = __importDefault(require("./utils"));
57
30
  var TransferBuilder = /** @class */ (function (_super) {
58
31
  __extends(TransferBuilder, _super);
59
32
  function TransferBuilder(_coinConfig) {
60
33
  return _super.call(this, _coinConfig) || this;
61
34
  }
35
+ /**
36
+ *
37
+ * Dispatch the given call from an account that the sender is authorised for through add_proxy.
38
+ *
39
+ * @returns {UnsignedTransaction} an unsigned Dot transaction
40
+ *
41
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
42
+ */
43
+ TransferBuilder.prototype.buildTransaction = function () {
44
+ var baseTxInfo = this.createBaseTxInfo();
45
+ var transferTx = txwrapper_polkadot_1.methods.balances.transferKeepAlive({
46
+ value: this._amount,
47
+ dest: this._to,
48
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
49
+ if (!this._owner) {
50
+ return transferTx;
51
+ }
52
+ return txwrapper_polkadot_1.methods.proxy.proxy({
53
+ real: this._owner,
54
+ forceProxyType: this._forceProxyType,
55
+ call: transferTx.method,
56
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
57
+ };
58
+ Object.defineProperty(TransferBuilder.prototype, "transactionType", {
59
+ get: function () {
60
+ return baseCoin_1.TransactionType.Send;
61
+ },
62
+ enumerable: false,
63
+ configurable: true
64
+ });
65
+ /**
66
+ *
67
+ * The amount for transfer transaction.
68
+ *
69
+ * @param {string} amount
70
+ * @returns {TransferBuilder} This transfer builder.
71
+ *
72
+ * @see https://wiki.polkadot.network/docs/build-protocol-info
73
+ */
74
+ TransferBuilder.prototype.amount = function (amount) {
75
+ this.validateValue(new bignumber_js_1.default(amount));
76
+ this._amount = amount;
77
+ return this;
78
+ };
79
+ /**
80
+ *
81
+ * The destination address for transfer transaction.
82
+ *
83
+ * @param {string} dest
84
+ * @returns {TransferBuilder} This transfer builder.
85
+ *
86
+ * @see https://wiki.polkadot.network/docs/build-protocol-info
87
+ */
88
+ TransferBuilder.prototype.to = function (_a) {
89
+ var address = _a.address;
90
+ this.validateAddress({ address: address });
91
+ this._to = address;
92
+ return this;
93
+ };
94
+ /**
95
+ *
96
+ * The real address of the original tx
97
+ *
98
+ * @param {BaseAddress} real
99
+ * @returns {TransferBuilder} This builder.
100
+ *
101
+ * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
102
+ */
103
+ TransferBuilder.prototype.owner = function (owner) {
104
+ this.validateAddress({ address: owner.address });
105
+ this._owner = owner.address;
106
+ return this;
107
+ };
108
+ /**
109
+ *
110
+ * The proxy type to execute
111
+ *
112
+ * @param {proxyType} forceProxyType
113
+ * @returns {TransferBuilder} This builder.
114
+ *
115
+ * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
116
+ */
117
+ TransferBuilder.prototype.forceProxyType = function (forceProxyType) {
118
+ this._forceProxyType = forceProxyType;
119
+ return this;
120
+ };
62
121
  /** @inheritdoc */
63
- TransferBuilder.prototype.buildImplementation = function () {
64
- return __awaiter(this, void 0, void 0, function () {
65
- return __generator(this, function (_a) {
66
- throw new errors_1.NotImplementedError('method not implemented');
122
+ TransferBuilder.prototype.validateDecodedTransaction = function (decodedTxn, rawTransaction) {
123
+ var _a, _b;
124
+ if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.TransferKeepAlive) {
125
+ var txMethod = decodedTxn.method.args;
126
+ var amount = "" + txMethod.value;
127
+ var to = txMethod.dest.id;
128
+ var validationResult = txnSchema_1.TransferTransactionSchema.validate({ amount: amount, to: to });
129
+ if (validationResult.error) {
130
+ throw new errors_1.InvalidTransactionError("Transfer Transaction validation failed: " + validationResult.error.message);
131
+ }
132
+ }
133
+ else if (((_b = decodedTxn.method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Proxy) {
134
+ var metadataRpc = this._coinConfig.network.metadataRpc;
135
+ var txMethod = decodedTxn.method.args;
136
+ var real = txMethod.real;
137
+ var forceProxyType = txMethod.forceProxyType;
138
+ var decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
139
+ registry: this._registry,
140
+ metadataRpc: metadataRpc,
67
141
  });
68
- });
142
+ var amount = "" + decodedCall.value;
143
+ var to = decodedCall.dest.id;
144
+ var validationResult = txnSchema_1.ProxyTransactionSchema.validate({ real: real, forceProxyType: forceProxyType, amount: amount, to: to });
145
+ if (validationResult.error) {
146
+ throw new errors_1.InvalidTransactionError("Proxy Transaction validation failed: " + validationResult.error.message);
147
+ }
148
+ }
69
149
  };
70
150
  /** @inheritdoc */
71
151
  TransferBuilder.prototype.fromImplementation = function (rawTransaction) {
72
- throw new errors_1.NotImplementedError('method not implemented');
152
+ var _a, _b, _c, _d;
153
+ var metadataRpc = this._coinConfig.network.metadataRpc;
154
+ var tx = _super.prototype.fromImplementation.call(this, rawTransaction);
155
+ if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.TransferKeepAlive) {
156
+ var txMethod = this._method.args;
157
+ this.amount(txMethod.value);
158
+ this.to({ address: utils_1.default.decodeDotAddress(txMethod.dest.id) });
159
+ }
160
+ else if (((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Proxy) {
161
+ var txMethod = this._method.args;
162
+ this.owner({ address: utils_1.default.decodeDotAddress(txMethod.real) });
163
+ this.forceProxyType(txMethod.forceProxyType);
164
+ var decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
165
+ registry: this._registry,
166
+ metadataRpc: metadataRpc,
167
+ });
168
+ if (!decodedCall.value || !decodedCall.dest) {
169
+ throw new errors_1.InvalidTransactionError("Invalid Proxy Transaction Method: " + ((_c = this._method) === null || _c === void 0 ? void 0 : _c.name) + ". Expected transferKeepAlive");
170
+ }
171
+ this.amount("" + decodedCall.value);
172
+ this.to({ address: utils_1.default.decodeDotAddress(decodedCall.dest.id) });
173
+ }
174
+ else {
175
+ throw new errors_1.InvalidTransactionError("Invalid Transaction Type: " + ((_d = this._method) === null || _d === void 0 ? void 0 : _d.name) + ". Expected a transferKeepAlive or a proxy transferKeepAlive transaction");
176
+ }
177
+ return tx;
73
178
  };
74
179
  /** @inheritdoc */
75
- TransferBuilder.prototype.signImplementation = function (key) {
76
- throw new errors_1.NotImplementedError('method not implemented');
180
+ TransferBuilder.prototype.validateTransaction = function (_) {
181
+ _super.prototype.validateTransaction.call(this, _);
182
+ this.validateFields(this._to, this._amount, this._owner, this._forceProxyType);
183
+ };
184
+ TransferBuilder.prototype.validateFields = function (to, amount, real, forceProxyType) {
185
+ var validationResult = forceProxyType
186
+ ? txnSchema_1.ProxyTransactionSchema.validate({ to: to, amount: amount, real: real, forceProxyType: forceProxyType })
187
+ : txnSchema_1.TransferTransactionSchema.validate({ amount: amount, to: to });
188
+ if (validationResult.error) {
189
+ throw new errors_1.InvalidTransactionError("Proxy/TransferKeepAlive Transaction validation failed: " + validationResult.error.message);
190
+ }
77
191
  };
78
192
  return TransferBuilder;
79
193
  }(transactionBuilder_1.TransactionBuilder));
80
194
  exports.TransferBuilder = TransferBuilder;
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vZG90L3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSw2Q0FBeUQ7QUFDekQsMkRBQTBEO0FBRzFEO0lBQXFDLG1DQUFrQjtJQUNyRCx5QkFBWSxXQUFpQztlQUMzQyxrQkFBTSxXQUFXLENBQUM7SUFDcEIsQ0FBQztJQUVELGtCQUFrQjtJQUNGLDZDQUFtQixHQUFuQzs7O2dCQUNFLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzs7S0FDekQ7SUFFRCxrQkFBa0I7SUFDUiw0Q0FBa0IsR0FBNUIsVUFBNkIsY0FBbUI7UUFDOUMsTUFBTSxJQUFJLDRCQUFtQixDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNSLDRDQUFrQixHQUE1QixVQUE2QixHQUFZO1FBQ3ZDLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUFuQkQsQ0FBcUMsdUNBQWtCLEdBbUJ0RDtBQW5CWSwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlS2V5IH0gZnJvbSAnLi4vYmFzZUNvaW4vaWZhY2UnO1xuaW1wb3J0IHsgTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJy4uL2Jhc2VDb2luL2Vycm9ycyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IGFueSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vZG90L3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxvRUFBd0Q7QUFDeEQsOERBQXFDO0FBQ3JDLDZDQUE2RDtBQUM3RCwyREFBMEQ7QUFHMUQsd0NBQThDO0FBQzlDLGlDQUEwRTtBQUMxRSx5Q0FBZ0Y7QUFDaEYsa0RBQTRCO0FBRzVCO0lBQXFDLG1DQUFrQjtJQU1yRCx5QkFBWSxXQUFpQztlQUMzQyxrQkFBTSxXQUFXLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTywwQ0FBZ0IsR0FBMUI7UUFDRSxJQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxJQUFNLFVBQVUsR0FBRyw0QkFBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDbkQ7WUFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2YsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFDRCxPQUFPLDRCQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FDeEI7WUFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDakIsY0FBYyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3BDLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTTtTQUN4QixFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQWMsNENBQWU7YUFBN0I7WUFDRSxPQUFPLDBCQUFlLENBQUMsSUFBSSxD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UUFBUSxDQUFDLEVBQUUsTUFBTSxRQUFBLEVBQUUsRUFBRSxJQUFBLEVBQUUsQ0FBQyxDQUFDO1FBRXZELElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxnQ0FBdUIsQ0FDL0IsNERBQTBELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFTLENBQzNGLENBQUM7U0FDSDtJQUNILENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUFyTEQsQ0FBcUMsdUNBQWtCLEdBcUx0RDtBQXJMWSwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIERvdE5ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBtZXRob2RzIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi9iYXNlQ29pbi9lcnJvcnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBNZXRob2ROYW1lcywgUHJveHlBcmdzLCBwcm94eVR5cGUsIFRyYW5zZmVyQXJncyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUHJveHlUcmFuc2FjdGlvblNjaGVtYSwgVHJhbnNmZXJUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJhc2VBZGRyZXNzIH0gZnJvbSAnLi4vYmFzZUNvaW4vaWZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90bzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX293bmVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZm9yY2VQcm94eVR5cGU6IHByb3h5VHlwZTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogRGlzcGF0Y2ggdGhlIGdpdmVuIGNhbGwgZnJvbSBhbiBhY2NvdW50IHRoYXQgdGhlIHNlbmRlciBpcyBhdXRob3Jpc2VkIGZvciB0aHJvdWdoIGFkZF9wcm94eS5cbiAgICpcbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIERvdCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3Mvc3Vic3RyYXRlL2V4dHJpbnNpY3MvI3Byb3h5XG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgY29uc3QgdHJhbnNmZXJUeCA9IG1ldGhvZHMuYmFsYW5jZXMudHJhbnNmZXJLZWVwQWxpdmUoXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB0aGlzLl9hbW91bnQsXG4gICAgICAgIGRlc3Q6IHRoaXMuX3RvLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9ucyxcbiAgICApO1xuICAgIGlmICghdGhpcy5fb3duZXIpIHtcbiAgICAgIHJldHVybiB0cmFuc2ZlclR4O1xuICAgIH1cbiAgICByZXR1cm4gbWV0aG9kcy5wcm94eS5wcm94eShcbiAgICAgIHtcbiAgICAgICAgcmVhbDogdGhpcy5fb3duZXIsXG4gICAgICAgIGZvcmNlUHJveHlUeXBlOiB0aGlzLl9mb3JjZVByb3h5VHlwZSxcbiAgICAgICAgY2FsbDogdHJhbnNmZXJUeC5tZXRob2QsXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgYW1vdW50IGZvciB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC1wcm90b2NvbC1pbmZvXG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihhbW91bnQpKTtcbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgZm9yIHRyYW5zZmVyIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzdFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC1wcm90b2NvbC1pbmZvXG4gICAqL1xuICB0byh7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfSk7XG4gICAgdGhpcy5fdG8gPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRoZSByZWFsIGFkZHJlc3Mgb2YgdGhlIG9yaWdpbmFsIHR4XG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUFkZHJlc3N9IHJlYWxcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyN3aHktdXNlLWEtcHJveHlcbiAgICovXG4gIG93bmVyKG93bmVyOiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogb3duZXIuYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9vd25lciA9IG93bmVyLmFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIHByb3h5IHR5cGUgdG8gZXhlY3V0ZVxuICAgKlxuICAgKiBAcGFyYW0ge3Byb3h5VHlwZX0gZm9yY2VQcm94eVR5cGVcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyNwcm94eS10eXBlc1xuICAgKi9cbiAgZm9yY2VQcm94eVR5cGUoZm9yY2VQcm94eVR5cGU6IHByb3h5VHlwZSk6IHRoaXMge1xuICAgIHRoaXMuX2ZvcmNlUHJveHlUeXBlID0gZm9yY2VQcm94eVR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5UcmFuc2ZlcktlZXBBbGl2ZSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgVHJhbnNmZXJBcmdzO1xuICAgICAgY29uc3QgYW1vdW50ID0gYCR7dHhNZXRob2QudmFsdWV9YDtcbiAgICAgIGNvbnN0IHRvID0gdHhNZXRob2QuZGVzdC5pZDtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBUcmFuc2ZlclRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgYW1vdW50LCB0byB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNmZXIgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLlByb3h5KSB7XG4gICAgICBjb25zdCB7IG1ldGFkYXRhUnBjIH0gPSB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsgYXMgRG90TmV0d29yaztcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIFByb3h5QXJncztcbiAgICAgIGNvbnN0IHJlYWwgPSB0eE1ldGhvZC5yZWFsO1xuICAgICAgY29uc3QgZm9yY2VQcm94eVR5cGUgPSB0eE1ldGhvZC5mb3JjZVByb3h5VHlwZTtcbiAgICAgIGNvbnN0IGRlY29kZWRDYWxsID0gdXRpbHMuZGVjb2RlQ2FsbE1ldGhvZChyYXdUcmFuc2FjdGlvbiwge1xuICAgICAgICByZWdpc3RyeTogdGhpcy5fcmVnaXN0cnksXG4gICAgICAgIG1ldGFkYXRhUnBjLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBhbW91bnQgPSBgJHtkZWNvZGVkQ2FsbC52YWx1ZX1gO1xuICAgICAgY29uc3QgdG8gPSBkZWNvZGVkQ2FsbC5kZXN0LmlkO1xuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFByb3h5VHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyByZWFsLCBmb3JjZVByb3h5VHlwZSwgYW1vdW50LCB0byB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgUHJveHkgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgeyBtZXRhZGF0YVJwYyB9ID0gdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIERvdE5ldHdvcms7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLlRyYW5zZmVyS2VlcEFsaXZlKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIFRyYW5zZmVyQXJncztcbiAgICAgIHRoaXMuYW1vdW50KHR4TWV0aG9kLnZhbHVlKTtcbiAgICAgIHRoaXMudG8oeyBhZGRyZXNzOiB1dGlscy5kZWNvZGVEb3RBZGRyZXNzKHR4TWV0aG9kLmRlc3QuaWQpIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5Qcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBQcm94eUFyZ3M7XG4gICAgICB0aGlzLm93bmVyKHsgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyh0eE1ldGhvZC5yZWFsKSB9KTtcbiAgICAgIHRoaXMuZm9yY2VQcm94eVR5cGUodHhNZXRob2QuZm9yY2VQcm94eVR5cGUpO1xuICAgICAgY29uc3QgZGVjb2RlZENhbGwgPSB1dGlscy5kZWNvZGVDYWxsTWV0aG9kKHJhd1RyYW5zYWN0aW9uLCB7XG4gICAgICAgIHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSxcbiAgICAgICAgbWV0YWRhdGFScGMsXG4gICAgICB9KTtcbiAgICAgIGlmICghZGVjb2RlZENhbGwudmFsdWUgfHwgIWRlY29kZWRDYWxsLmRlc3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIFByb3h5IFRyYW5zYWN0aW9uIE1ldGhvZDogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCB0cmFuc2ZlcktlZXBBbGl2ZWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLmFtb3VudChgJHtkZWNvZGVkQ2FsbC52YWx1ZX1gKTtcbiAgICAgIHRoaXMudG8oeyBhZGRyZXNzOiB1dGlscy5kZWNvZGVEb3RBZGRyZXNzKGRlY29kZWRDYWxsLmRlc3QuaWQpIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgYSB0cmFuc2ZlcktlZXBBbGl2ZSBvciBhIHByb3h5IHRyYW5zZmVyS2VlcEFsaXZlIHRyYW5zYWN0aW9uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbihfKTtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKHRoaXMuX3RvLCB0aGlzLl9hbW91bnQsIHRoaXMuX293bmVyLCB0aGlzLl9mb3JjZVByb3h5VHlwZSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKHRvOiBzdHJpbmcsIGFtb3VudDogc3RyaW5nLCByZWFsPzogc3RyaW5nLCBmb3JjZVByb3h5VHlwZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBmb3JjZVByb3h5VHlwZVxuICAgICAgPyBQcm94eVRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdG8sIGFtb3VudCwgcmVhbCwgZm9yY2VQcm94eVR5cGUgfSlcbiAgICAgIDogVHJhbnNmZXJUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7IGFtb3VudCwgdG8gfSk7XG5cbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgUHJveHkvVHJhbnNmZXJLZWVwQWxpdmUgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ import joi from 'joi';
2
+ export declare const BaseTransactionSchema: joi.ObjectSchema<any>;
3
+ export declare const SigningPayloadTransactionSchema: joi.ObjectSchema<any>;
4
+ export declare const SignedTransactionSchema: joi.ObjectSchema<any>;
5
+ export declare const TransferTransactionSchema: joi.ObjectSchema<any>;
6
+ export declare const StakeTransactionSchema: joi.ObjectSchema<any>;
7
+ export declare const WalletInitializationSchema: joi.ObjectSchema<any>;
8
+ export declare const ProxyTransactionSchema: joi.ObjectSchema<any>;
9
+ export declare const UnstakeTransactionSchema: joi.ObjectSchema<any>;
10
+ //# sourceMappingURL=txnSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txnSchema.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/txnSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAetB,eAAO,MAAM,qBAAqB,uBAYhC,CAAC;AAEH,eAAO,MAAM,+BAA+B,uBAK1C,CAAC;AAEH,eAAO,MAAM,uBAAuB,uBAKlC,CAAC;AAEH,eAAO,MAAM,yBAAyB,uBAGpC,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAejC,CAAC;AAEH,eAAO,MAAM,0BAA0B,uBAOrC,CAAC;AAEH,eAAO,MAAM,sBAAsB,uBAQjC,CAAC;AAEH,eAAO,MAAM,wBAAwB,uBAEnC,CAAC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ var _a, _b;
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.UnstakeTransactionSchema = exports.ProxyTransactionSchema = exports.WalletInitializationSchema = exports.StakeTransactionSchema = exports.TransferTransactionSchema = exports.SignedTransactionSchema = exports.SigningPayloadTransactionSchema = exports.BaseTransactionSchema = void 0;
8
+ var joi_1 = __importDefault(require("joi"));
9
+ var utils_1 = __importDefault(require("./utils"));
10
+ var addressSchema = joi_1.default.string().custom(function (addr) { return utils_1.default.isValidAddress(addr); });
11
+ var proxyTypes = [
12
+ 'Any',
13
+ 'NonTransfer',
14
+ 'Governance',
15
+ 'Staking',
16
+ 'UnusedSudoBalances',
17
+ 'IdentityJudgement',
18
+ 'CancelProxy',
19
+ ];
20
+ exports.BaseTransactionSchema = joi_1.default.object({
21
+ sender: addressSchema.required(),
22
+ blockNumber: joi_1.default.number().required(),
23
+ blockHash: joi_1.default.string().required(),
24
+ genesisHash: joi_1.default.string().required(),
25
+ specVersion: joi_1.default.number().required(),
26
+ specName: joi_1.default.string().valid('kusama', 'polkadot', 'westend', 'statemint', 'statemine').required(),
27
+ transactionVersion: joi_1.default.number().required(),
28
+ chainName: joi_1.default.string().required(),
29
+ eraPeriod: joi_1.default.number().required(),
30
+ nonce: joi_1.default.number().required(),
31
+ tip: joi_1.default.number().optional(),
32
+ });
33
+ exports.SigningPayloadTransactionSchema = joi_1.default.object({
34
+ eraPeriod: joi_1.default.number().optional(),
35
+ blockHash: joi_1.default.string().required(),
36
+ nonce: joi_1.default.number().required(),
37
+ tip: joi_1.default.number().optional(),
38
+ });
39
+ exports.SignedTransactionSchema = joi_1.default.object({
40
+ sender: addressSchema.required(),
41
+ nonce: joi_1.default.number().required(),
42
+ eraPeriod: joi_1.default.number().optional(),
43
+ tip: joi_1.default.number().optional(),
44
+ });
45
+ exports.TransferTransactionSchema = joi_1.default.object({
46
+ amount: joi_1.default.string().required(),
47
+ to: addressSchema.required(),
48
+ });
49
+ exports.StakeTransactionSchema = joi_1.default.object({
50
+ value: joi_1.default.string().required(),
51
+ controller: addressSchema.required(),
52
+ payee: [
53
+ joi_1.default.string(),
54
+ joi_1.default.object({
55
+ account: joi_1.default.string().optional(),
56
+ controller: joi_1.default.equal(null).optional(),
57
+ staked: joi_1.default.equal(null).optional(),
58
+ stash: joi_1.default.equal(null).optional(),
59
+ }),
60
+ joi_1.default.object({
61
+ Account: joi_1.default.string().required(),
62
+ }),
63
+ ],
64
+ });
65
+ exports.WalletInitializationSchema = joi_1.default.object({
66
+ proxyType: (_a = joi_1.default
67
+ .string())
68
+ .valid.apply(_a, proxyTypes).required(),
69
+ delegate: addressSchema.required(),
70
+ delay: joi_1.default.string().required(),
71
+ });
72
+ exports.ProxyTransactionSchema = joi_1.default.object({
73
+ real: addressSchema.required(),
74
+ forceProxyType: (_b = joi_1.default
75
+ .string())
76
+ .valid.apply(_b, proxyTypes).required(),
77
+ amount: joi_1.default.string().required(),
78
+ to: addressSchema.required(),
79
+ });
80
+ exports.UnstakeTransactionSchema = joi_1.default.object({
81
+ value: joi_1.default.string().required(),
82
+ });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhuU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vZG90L3R4blNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsNENBQXNCO0FBQ3RCLGtEQUE0QjtBQUU1QixJQUFNLGFBQWEsR0FBRyxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsZUFBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBMUIsQ0FBMEIsQ0FBQyxDQUFDO0FBRWhGLElBQU0sVUFBVSxHQUFHO0lBQ2pCLEtBQUs7SUFDTCxhQUFhO0lBQ2IsWUFBWTtJQUNaLFNBQVM7SUFDVCxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLGFBQWE7Q0FDZCxDQUFDO0FBRVcsUUFBQSxxQkFBcUIsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO0lBQzlDLE1BQU0sRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0lBQ2hDLFdBQVcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLFNBQVMsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLFdBQVcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLFdBQVcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLFFBQVEsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbEcsa0JBQWtCLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQyxTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNs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LFFBQVEsRUFBRTtJQUMvQixFQUFFLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtDQUM3QixDQUFDLENBQUM7QUFFVSxRQUFBLHdCQUF3QixHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDakQsS0FBSyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDL0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGpvaSBmcm9tICdqb2knO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBhZGRyZXNzU2NoZW1hID0gam9pLnN0cmluZygpLmN1c3RvbSgoYWRkcikgPT4gVXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcikpO1xuXG5jb25zdCBwcm94eVR5cGVzID0gW1xuICAnQW55JyxcbiAgJ05vblRyYW5zZmVyJyxcbiAgJ0dvdmVybmFuY2UnLFxuICAnU3Rha2luZycsXG4gICdVbnVzZWRTdWRvQmFsYW5jZXMnLFxuICAnSWRlbnRpdHlKdWRnZW1lbnQnLFxuICAnQ2FuY2VsUHJveHknLFxuXTtcblxuZXhwb3J0IGNvbnN0IEJhc2VUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBzZW5kZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgYmxvY2tOdW1iZXI6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICBibG9ja0hhc2g6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBnZW5lc2lzSGFzaDogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHNwZWNWZXJzaW9uOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgc3BlY05hbWU6IGpvaS5zdHJpbmcoKS52YWxpZCgna3VzYW1hJywgJ3BvbGthZG90JywgJ3dlc3RlbmQnLCAnc3RhdGVtaW50JywgJ3N0YXRlbWluZScpLnJlcXVpcmVkKCksXG4gIHRyYW5zYWN0aW9uVmVyc2lvbjogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIGNoYWluTmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGVyYVBlcmlvZDogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIG5vbmNlOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgdGlwOiBqb2kubnVtYmVyKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2lnbmluZ1BheWxvYWRUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBlcmFQZXJpb2Q6IGpvaS5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBibG9ja0hhc2g6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBub25jZTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIHRpcDogam9pLm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNpZ25lZFRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHNlbmRlcjogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICBub25jZTogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIGVyYVBlcmlvZDogam9pLm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRpcDogam9pLm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgYW1vdW50OiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdG86IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU3Rha2VUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGNvbnRyb2xsZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgcGF5ZWU6IFtcbiAgICBqb2kuc3RyaW5nKCksXG4gICAgam9pLm9iamVjdCh7XG4gICAgICBhY2NvdW50OiBqb2kuc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAgIGNvbnRyb2xsZXI6IGpvaS5lcXVhbChudWxsKS5vcHRpb25hbCgpLFxuICAgICAgc3Rha2VkOiBqb2kuZXF1YWwobnVsbCkub3B0aW9uYWwoKSxcbiAgICAgIHN0YXNoOiBqb2kuZXF1YWwobnVsbCkub3B0aW9uYWwoKSxcbiAgICB9KSxcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIEFjY291bnQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgIH0pLFxuICBdLFxufSk7XG5cbmV4cG9ydCBjb25zdCBXYWxsZXRJbml0aWFsaXphdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBwcm94eVR5cGU6IGpvaVxuICAgIC5zdHJpbmcoKVxuICAgIC52YWxpZCguLi5wcm94eVR5cGVzKVxuICAgIC5yZXF1aXJlZCgpLFxuICBkZWxlZ2F0ZTogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICBkZWxheTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFByb3h5VHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgcmVhbDogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICBmb3JjZVByb3h5VHlwZTogam9pXG4gICAgLnN0cmluZygpXG4gICAgLnZhbGlkKC4uLnByb3h5VHlwZXMpXG4gICAgLnJlcXVpcmVkKCksXG4gIGFtb3VudDogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHRvOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVuc3Rha2VUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG59KTtcbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
3
+ import { TransactionType } from '../baseCoin';
4
+ import { Transaction } from './transaction';
5
+ import { TransactionBuilder } from './transactionBuilder';
6
+ export declare class UnstakeBuilder extends TransactionBuilder {
7
+ protected _amount: string;
8
+ constructor(_coinConfig: Readonly<CoinConfig>);
9
+ /**
10
+ *
11
+ * Take the origin account as a stash and lock up value of its balance.
12
+ * Controller will be the account that controls it.
13
+ *
14
+ * @returns {UnsignedTransaction} an unsigned Dot transaction
15
+ *
16
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#staking
17
+ */
18
+ protected buildTransaction(): UnsignedTransaction;
19
+ protected get transactionType(): TransactionType;
20
+ /**
21
+ *
22
+ * The amount to unstake.
23
+ *
24
+ * @param {string} amount
25
+ * @returns {StakeBuilder} This stake builder.
26
+ *
27
+ * @see https://wiki.polkadot.network/docs/learn-nominator#required-minimum-stake
28
+ */
29
+ amount(amount: string): this;
30
+ /** @inheritdoc */
31
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx): void;
32
+ /** @inheritdoc */
33
+ protected fromImplementation(rawTransaction: string): Transaction;
34
+ /** @inheritdoc */
35
+ validateTransaction(_: Transaction): void;
36
+ private validateFields;
37
+ }
38
+ //# sourceMappingURL=unstakeBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unstakeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/unstakeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGxG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAWjD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAWrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAWjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;CAWvB"}