@bitgo/sdk-coin-dot 1.0.2 → 1.0.3-rc.2

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.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
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.0.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.2-rc.1...@bitgo/sdk-coin-dot@1.0.2) (2022-07-21)
6
+ ## [1.0.3-rc.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.3-rc.1...@bitgo/sdk-coin-dot@1.0.3-rc.2) (2022-08-01)
7
7
 
8
8
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
9
9
 
@@ -11,7 +11,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- ## [1.0.2-rc.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.2-rc.0...@bitgo/sdk-coin-dot@1.0.2-rc.1) (2022-07-21)
14
+ ## [1.0.3-rc.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.3-rc.0...@bitgo/sdk-coin-dot@1.0.3-rc.1) (2022-07-27)
15
15
 
16
16
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
17
17
 
@@ -19,7 +19,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
19
19
 
20
20
 
21
21
 
22
- ## [1.0.2-rc.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1...@bitgo/sdk-coin-dot@1.0.2-rc.0) (2022-07-20)
22
+ ## [1.0.3-rc.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.2...@bitgo/sdk-coin-dot@1.0.3-rc.0) (2022-07-26)
23
23
 
24
24
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
25
25
 
@@ -27,7 +27,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
27
27
 
28
28
 
29
29
 
30
- ## [1.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.3...@bitgo/sdk-coin-dot@1.0.1) (2022-07-19)
30
+ ## [1.0.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.2-rc.1...@bitgo/sdk-coin-dot@1.0.2) (2022-07-21)
31
31
 
32
32
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
33
33
 
@@ -35,7 +35,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
35
35
 
36
36
 
37
37
 
38
- ## [1.0.1-rc.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.1...@bitgo/sdk-coin-dot@1.0.1-rc.3) (2022-07-19)
38
+ ## [1.0.2-rc.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.2-rc.0...@bitgo/sdk-coin-dot@1.0.2-rc.1) (2022-07-21)
39
39
 
40
40
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
41
41
 
@@ -43,7 +43,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
43
43
 
44
44
 
45
45
 
46
- ## [1.0.1-rc.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.1...@bitgo/sdk-coin-dot@1.0.1-rc.2) (2022-07-18)
46
+ ## [1.0.2-rc.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1...@bitgo/sdk-coin-dot@1.0.2-rc.0) (2022-07-20)
47
47
 
48
48
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
49
49
 
@@ -51,7 +51,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
51
51
 
52
52
 
53
53
 
54
- ## [1.0.1-rc.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.0...@bitgo/sdk-coin-dot@1.0.1-rc.1) (2022-07-15)
54
+ ## [1.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.3...@bitgo/sdk-coin-dot@1.0.1) (2022-07-19)
55
55
 
56
56
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
57
57
 
@@ -59,6 +59,22 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
59
59
 
60
60
 
61
61
 
62
+ ## [1.0.1-rc.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.1...@bitgo/sdk-coin-dot@1.0.1-rc.3) (2022-07-19)
63
+
64
+ **Note:** Version bump only for package @bitgo/sdk-coin-dot
65
+
66
+ ## [1.0.1-rc.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.1...@bitgo/sdk-coin-dot@1.0.1-rc.3) (2022-07-19)
67
+
68
+ **Note:** Version bump only for package @bitgo/sdk-coin-dot
69
+
70
+ ## [1.0.1-rc.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.1...@bitgo/sdk-coin-dot@1.0.1-rc.2) (2022-07-18)
71
+
72
+ **Note:** Version bump only for package @bitgo/sdk-coin-dot
73
+
74
+ ## [1.0.1-rc.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.0.1-rc.0...@bitgo/sdk-coin-dot@1.0.1-rc.1) (2022-07-15)
75
+
76
+ **Note:** Version bump only for package @bitgo/sdk-coin-dot
77
+
62
78
  ## 1.0.1-rc.0 (2022-07-15)
63
79
 
64
80
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
@@ -13,5 +13,6 @@ export { WithdrawUnstakedBuilder } from './withdrawUnstakedBuilder';
13
13
  export { ClaimBuilder } from './claimBuilder';
14
14
  export { TransactionBuilderFactory } from './transactionBuilderFactory';
15
15
  export { SingletonRegistry } from './singletonRegistry';
16
+ export { NativeTransferBuilder } from './nativeTransferBuilder';
16
17
  export { Interface, Utils };
17
18
  //# 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,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
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,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Utils = exports.Interface = exports.SingletonRegistry = exports.TransactionBuilderFactory = exports.ClaimBuilder = exports.WithdrawUnstakedBuilder = exports.UnnominateBuilder = exports.UnstakeBuilder = exports.BatchTransactionBuilder = exports.AddressInitializationBuilder = exports.TransferBuilder = exports.StakingBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
22
+ exports.Utils = exports.Interface = exports.NativeTransferBuilder = exports.SingletonRegistry = exports.TransactionBuilderFactory = exports.ClaimBuilder = exports.WithdrawUnstakedBuilder = exports.UnnominateBuilder = exports.UnstakeBuilder = exports.BatchTransactionBuilder = exports.AddressInitializationBuilder = exports.TransferBuilder = exports.StakingBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
23
23
  const Utils = __importStar(require("./utils"));
24
24
  exports.Utils = Utils;
25
25
  const Interface = __importStar(require("./iface"));
@@ -50,4 +50,6 @@ var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
50
50
  Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
51
51
  var singletonRegistry_1 = require("./singletonRegistry");
52
52
  Object.defineProperty(exports, "SingletonRegistry", { enumerable: true, get: function () { return singletonRegistry_1.SingletonRegistry; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFnQmIsc0JBQUs7QUFmekIsbURBQXFDO0FBZTVCLDhCQUFTO0FBYmxCLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsNkNBQTRDO0FBQW5DLDBHQUFBLFdBQVcsT0FBQTtBQUNwQiwyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IsbURBQWtEO0FBQXpDLGdIQUFBLGNBQWMsT0FBQTtBQUN2QixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLCtFQUE4RTtBQUFyRSw0SUFBQSw0QkFBNEIsT0FBQTtBQUNyQyxxRUFBb0U7QUFBM0Qsa0lBQUEsdUJBQXVCLE9BQUE7QUFDaEMsbURBQWtEO0FBQXpDLGdIQUFBLGNBQWMsT0FBQTtBQUN2Qix5REFBd0Q7QUFBL0Msc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIscUVBQW9FO0FBQTNELGtJQUFBLHVCQUF1QixPQUFBO0FBQ2hDLCtDQUE4QztBQUFyQyw0R0FBQSxZQUFZLE9BQUE7QUFDckIseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLHlEQUF3RDtBQUEvQyxzSEFBQSxpQkFBaUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0J1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgQWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vYWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBCYXRjaFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vYmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVW5zdGFrZUJ1aWxkZXIgfSBmcm9tICcuL3Vuc3Rha2VCdWlsZGVyJztcbmV4cG9ydCB7IFVubm9taW5hdGVCdWlsZGVyIH0gZnJvbSAnLi91bm5vbWluYXRlQnVpbGRlcic7XG5leHBvcnQgeyBXaXRoZHJhd1Vuc3Rha2VkQnVpbGRlciB9IGZyb20gJy4vd2l0aGRyYXdVbnN0YWtlZEJ1aWxkZXInO1xuZXhwb3J0IHsgQ2xhaW1CdWlsZGVyIH0gZnJvbSAnLi9jbGFpbUJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBTaW5nbGV0b25SZWdpc3RyeSB9IGZyb20gJy4vc2luZ2xldG9uUmVnaXN0cnknO1xuZXhwb3J0IHsgSW50ZXJmYWNlLCBVdGlscyB9O1xuIl19
53
+ var nativeTransferBuilder_1 = require("./nativeTransferBuilder");
54
+ Object.defineProperty(exports, "NativeTransferBuilder", { enumerable: true, get: function () { return nativeTransferBuilder_1.NativeTransferBuilder; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFpQmIsc0JBQUs7QUFoQnpCLG1EQUFxQztBQWdCNUIsOEJBQVM7QUFkbEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQiw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixtREFBa0Q7QUFBekMsZ0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIsK0VBQThFO0FBQXJFLDRJQUFBLDRCQUE0QixPQUFBO0FBQ3JDLHFFQUFvRTtBQUEzRCxrSUFBQSx1QkFBdUIsT0FBQTtBQUNoQyxtREFBa0Q7QUFBekMsZ0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLHlEQUF3RDtBQUEvQyxzSEFBQSxpQkFBaUIsT0FBQTtBQUMxQixxRUFBb0U7QUFBM0Qsa0lBQUEsdUJBQXVCLE9BQUE7QUFDaEMsK0NBQThDO0FBQXJDLDRHQUFBLFlBQVksT0FBQTtBQUNyQix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMseURBQXdEO0FBQS9DLHNIQUFBLGlCQUFpQixPQUFBO0FBQzFCLGlFQUFnRTtBQUF2RCw4SEFBQSxxQkFBcUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0J1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgQWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vYWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBCYXRjaFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vYmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVW5zdGFrZUJ1aWxkZXIgfSBmcm9tICcuL3Vuc3Rha2VCdWlsZGVyJztcbmV4cG9ydCB7IFVubm9taW5hdGVCdWlsZGVyIH0gZnJvbSAnLi91bm5vbWluYXRlQnVpbGRlcic7XG5leHBvcnQgeyBXaXRoZHJhd1Vuc3Rha2VkQnVpbGRlciB9IGZyb20gJy4vd2l0aGRyYXdVbnN0YWtlZEJ1aWxkZXInO1xuZXhwb3J0IHsgQ2xhaW1CdWlsZGVyIH0gZnJvbSAnLi9jbGFpbUJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBTaW5nbGV0b25SZWdpc3RyeSB9IGZyb20gJy4vc2luZ2xldG9uUmVnaXN0cnknO1xuZXhwb3J0IHsgTmF0aXZlVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi9uYXRpdmVUcmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgSW50ZXJmYWNlLCBVdGlscyB9O1xuIl19
@@ -0,0 +1,71 @@
1
+ import { BaseAddress, TransactionType } from '@bitgo/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
4
+ import { ProxyType } from './iface';
5
+ import { Transaction } from './transaction';
6
+ import { TransactionBuilder } from './transactionBuilder';
7
+ export declare abstract class NativeTransferBuilder extends TransactionBuilder {
8
+ protected _amount: string;
9
+ protected _to: string;
10
+ protected _owner: string;
11
+ protected _forceProxyType: ProxyType;
12
+ constructor(_coinConfig: Readonly<CoinConfig>);
13
+ /**
14
+ *
15
+ * Dispatch the given call from an account that the sender is authorised for through add_proxy.
16
+ *
17
+ * @returns {UnsignedTransaction} an unsigned Dot transaction
18
+ *
19
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
20
+ */
21
+ protected buildTransaction(): UnsignedTransaction;
22
+ protected get transactionType(): TransactionType;
23
+ /**
24
+ *
25
+ * The amount for transfer transaction.
26
+ *
27
+ * @param {string} amount
28
+ * @returns {TransferBuilder} This transfer builder.
29
+ *
30
+ * @see https://wiki.polkadot.network/docs/build-protocol-info
31
+ */
32
+ amount(amount: string): this;
33
+ /**
34
+ *
35
+ * The destination address for transfer transaction.
36
+ *
37
+ * @param {string} dest
38
+ * @returns {TransferBuilder} This transfer builder.
39
+ *
40
+ * @see https://wiki.polkadot.network/docs/build-protocol-info
41
+ */
42
+ to({ address }: BaseAddress): this;
43
+ /**
44
+ *
45
+ * The real address of the original tx
46
+ *
47
+ * @param {BaseAddress} real
48
+ * @returns {TransferBuilder} This builder.
49
+ *
50
+ * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
51
+ */
52
+ owner(owner: BaseAddress): this;
53
+ /**
54
+ *
55
+ * The proxy type to execute
56
+ *
57
+ * @param {proxyType} forceProxyType
58
+ * @returns {TransferBuilder} This builder.
59
+ *
60
+ * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
61
+ */
62
+ forceProxyType(forceProxyType: ProxyType): this;
63
+ /** @inheritdoc */
64
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction: string): void;
65
+ /** @inheritdoc */
66
+ protected fromImplementation(rawTransaction: string): Transaction;
67
+ /** @inheritdoc */
68
+ validateTransaction(_: Transaction): void;
69
+ private validateFields;
70
+ }
71
+ //# sourceMappingURL=nativeTransferBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/nativeTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0C,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAExG,OAAO,EAA0B,SAAS,EAAgB,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,8BAAsB,qBAAsB,SAAQ,kBAAkB;IACpE,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;IA0B7G,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAyCjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;CAWvB"}
@@ -0,0 +1,177 @@
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.NativeTransferBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo/sdk-core");
8
+ const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
+ const iface_1 = require("./iface");
11
+ const singletonRegistry_1 = require("./singletonRegistry");
12
+ const transactionBuilder_1 = require("./transactionBuilder");
13
+ const txnSchema_1 = require("./txnSchema");
14
+ const utils_1 = __importDefault(require("./utils"));
15
+ class NativeTransferBuilder extends transactionBuilder_1.TransactionBuilder {
16
+ constructor(_coinConfig) {
17
+ super(_coinConfig);
18
+ }
19
+ /**
20
+ *
21
+ * Dispatch the given call from an account that the sender is authorised for through add_proxy.
22
+ *
23
+ * @returns {UnsignedTransaction} an unsigned Dot transaction
24
+ *
25
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
26
+ */
27
+ buildTransaction() {
28
+ const baseTxInfo = this.createBaseTxInfo();
29
+ const transferTx = txwrapper_polkadot_1.methods.balances.transferKeepAlive({
30
+ value: this._amount,
31
+ dest: this._to,
32
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
33
+ if (!this._owner) {
34
+ return transferTx;
35
+ }
36
+ return txwrapper_polkadot_1.methods.proxy.proxy({
37
+ real: this._owner,
38
+ forceProxyType: this._forceProxyType,
39
+ call: transferTx.method,
40
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
41
+ }
42
+ get transactionType() {
43
+ return sdk_core_1.TransactionType.Send;
44
+ }
45
+ /**
46
+ *
47
+ * The amount for transfer transaction.
48
+ *
49
+ * @param {string} amount
50
+ * @returns {TransferBuilder} This transfer builder.
51
+ *
52
+ * @see https://wiki.polkadot.network/docs/build-protocol-info
53
+ */
54
+ amount(amount) {
55
+ this.validateValue(new bignumber_js_1.default(amount));
56
+ this._amount = amount;
57
+ return this;
58
+ }
59
+ /**
60
+ *
61
+ * The destination address for transfer transaction.
62
+ *
63
+ * @param {string} dest
64
+ * @returns {TransferBuilder} This transfer builder.
65
+ *
66
+ * @see https://wiki.polkadot.network/docs/build-protocol-info
67
+ */
68
+ to({ address }) {
69
+ this.validateAddress({ address });
70
+ this._to = address;
71
+ return this;
72
+ }
73
+ /**
74
+ *
75
+ * The real address of the original tx
76
+ *
77
+ * @param {BaseAddress} real
78
+ * @returns {TransferBuilder} This builder.
79
+ *
80
+ * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
81
+ */
82
+ owner(owner) {
83
+ this.validateAddress({ address: owner.address });
84
+ this._owner = owner.address;
85
+ return this;
86
+ }
87
+ /**
88
+ *
89
+ * The proxy type to execute
90
+ *
91
+ * @param {proxyType} forceProxyType
92
+ * @returns {TransferBuilder} This builder.
93
+ *
94
+ * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
95
+ */
96
+ forceProxyType(forceProxyType) {
97
+ this._forceProxyType = forceProxyType;
98
+ return this;
99
+ }
100
+ /** @inheritdoc */
101
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
102
+ var _a, _b;
103
+ if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.TransferKeepAlive) {
104
+ const txMethod = decodedTxn.method.args;
105
+ const amount = `${txMethod.value}`;
106
+ const to = txMethod.dest.id;
107
+ const validationResult = txnSchema_1.TransferTransactionSchema.validate({ amount, to });
108
+ if (validationResult.error) {
109
+ throw new sdk_core_1.InvalidTransactionError(`Transfer Transaction validation failed: ${validationResult.error.message}`);
110
+ }
111
+ }
112
+ else if (((_b = decodedTxn.method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Proxy) {
113
+ const txMethod = decodedTxn.method.args;
114
+ const real = txMethod.real;
115
+ const forceProxyType = txMethod.forceProxyType;
116
+ const decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
117
+ registry: singletonRegistry_1.SingletonRegistry.getInstance(this._material),
118
+ metadataRpc: this._material.metadata,
119
+ });
120
+ const amount = `${decodedCall.value}`;
121
+ const to = decodedCall.dest.id;
122
+ const validationResult = txnSchema_1.ProxyTransactionSchema.validate({ real, forceProxyType, amount, to });
123
+ if (validationResult.error) {
124
+ throw new sdk_core_1.InvalidTransactionError(`Proxy Transaction validation failed: ${validationResult.error.message}`);
125
+ }
126
+ }
127
+ }
128
+ /** @inheritdoc */
129
+ fromImplementation(rawTransaction) {
130
+ var _a, _b, _c, _d;
131
+ const tx = super.fromImplementation(rawTransaction);
132
+ if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.TransferKeepAlive) {
133
+ const txMethod = this._method.args;
134
+ this.amount(txMethod.value);
135
+ this.to({
136
+ address: utils_1.default.decodeDotAddress(txMethod.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
137
+ });
138
+ }
139
+ else if (((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Proxy) {
140
+ const txMethod = this._method.args;
141
+ this.owner({
142
+ address: utils_1.default.decodeDotAddress(txMethod.real, utils_1.default.getAddressFormat(this._coinConfig.name)),
143
+ });
144
+ this.forceProxyType(txMethod.forceProxyType);
145
+ const decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
146
+ registry: singletonRegistry_1.SingletonRegistry.getInstance(this._material),
147
+ metadataRpc: this._material.metadata,
148
+ });
149
+ if (!decodedCall.value || !decodedCall.dest) {
150
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Proxy Transaction Method: ${(_c = this._method) === null || _c === void 0 ? void 0 : _c.name}. Expected transferKeepAlive`);
151
+ }
152
+ this.amount(`${decodedCall.value}`);
153
+ this.to({
154
+ address: utils_1.default.decodeDotAddress(decodedCall.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
155
+ });
156
+ }
157
+ else {
158
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_d = this._method) === null || _d === void 0 ? void 0 : _d.name}. Expected a transferKeepAlive or a proxy transferKeepAlive transaction`);
159
+ }
160
+ return tx;
161
+ }
162
+ /** @inheritdoc */
163
+ validateTransaction(_) {
164
+ super.validateTransaction(_);
165
+ this.validateFields(this._to, this._amount, this._owner, this._forceProxyType);
166
+ }
167
+ validateFields(to, amount, real, forceProxyType) {
168
+ const validationResult = forceProxyType
169
+ ? txnSchema_1.ProxyTransactionSchema.validate({ to, amount, real, forceProxyType })
170
+ : txnSchema_1.TransferTransactionSchema.validate({ amount, to });
171
+ if (validationResult.error) {
172
+ throw new sdk_core_1.InvalidTransactionError(`Proxy/TransferKeepAlive Transaction validation failed: ${validationResult.error.message}`);
173
+ }
174
+ }
175
+ }
176
+ exports.NativeTransferBuilder = NativeTransferBuilder;
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlVHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9uYXRpdmVUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXVHO0FBRXZHLHNFQUF3RDtBQUV4RCxnRUFBcUM7QUFDckMsbUNBQTBFO0FBQzFFLDJEQUF3RDtBQUV4RCw2REFBMEQ7QUFDMUQsMkNBQWdGO0FBQ2hGLG9EQUE0QjtBQUU1QixNQUFzQixxQkFBc0IsU0FBUSx1Q0FBa0I7SUFNcEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsTUFBTSxVQUFVLEdBQUcsNEJBQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQ25EO1lBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRztTQUNmLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBQ0QsT0FBTyw0QkFBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQ3hCO1lBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ2pCLGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNwQyxJQUFJLEVBQUUsVUFBVSxDQUFDLE1BQU07U0FDeEIsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsSUFBSSxDQUFD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QUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDdkUsQ0FBQyxDQUFDLHFDQUF5QixDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXZELElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FDL0IsMERBQTBELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDM0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztDQUNGO0FBL0xELHNEQStMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBZGRyZXNzLCBEb3RBc3NldFR5cGVzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBtZXRob2RzIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IE1ldGhvZE5hbWVzLCBQcm94eUFyZ3MsIFByb3h5VHlwZSwgVHJhbnNmZXJBcmdzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBTaW5nbGV0b25SZWdpc3RyeSB9IGZyb20gJy4vc2luZ2xldG9uUmVnaXN0cnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFByb3h5VHJhbnNhY3Rpb25TY2hlbWEsIFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXRpdmVUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2Ftb3VudDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3RvOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfb3duZXI6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9mb3JjZVByb3h5VHlwZTogUHJveHlUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBEaXNwYXRjaCB0aGUgZ2l2ZW4gY2FsbCBmcm9tIGFuIGFjY291bnQgdGhhdCB0aGUgc2VuZGVyIGlzIGF1dGhvcmlzZWQgZm9yIHRocm91Z2ggYWRkX3Byb3h5LlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgRG90IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wb2xrYWRvdC5qcy5vcmcvZG9jcy9zdWJzdHJhdGUvZXh0cmluc2ljcy8jcHJveHlcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZFRyYW5zYWN0aW9uKCk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcbiAgICBjb25zdCB0cmFuc2ZlclR4ID0gbWV0aG9kcy5iYWxhbmNlcy50cmFuc2ZlcktlZXBBbGl2ZShcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuX2Ftb3VudCxcbiAgICAgICAgZGVzdDogdGhpcy5fdG8sXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgICBpZiAoIXRoaXMuX293bmVyKSB7XG4gICAgICByZXR1cm4gdHJhbnNmZXJUeDtcbiAgICB9XG4gICAgcmV0dXJuIG1ldGhvZHMucHJveHkucHJveHkoXG4gICAgICB7XG4gICAgICAgIHJlYWw6IHRoaXMuX293bmVyLFxuICAgICAgICBmb3JjZVByb3h5VHlwZTogdGhpcy5fZm9yY2VQcm94eVR5cGUsXG4gICAgICAgIGNhbGw6IHRyYW5zZmVyVHgubWV0aG9kLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgYW1vdW50IGZvciB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC1wcm90b2NvbC1pbmZvXG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihhbW91bnQpKTtcbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgZm9yIHRyYW5zZmVyIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzdFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC1wcm90b2NvbC1pbmZvXG4gICAqL1xuICB0byh7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfSk7XG4gICAgdGhpcy5fdG8gPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRoZSByZWFsIGFkZHJlc3Mgb2YgdGhlIG9yaWdpbmFsIHR4XG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUFkZHJlc3N9IHJlYWxcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyN3aHktdXNlLWEtcHJveHlcbiAgICovXG4gIG93bmVyKG93bmVyOiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogb3duZXIuYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9vd25lciA9IG93bmVyLmFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIHByb3h5IHR5cGUgdG8gZXhlY3V0ZVxuICAgKlxuICAgKiBAcGFyYW0ge3Byb3h5VHlwZX0gZm9yY2VQcm94eVR5cGVcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyNwcm94eS10eXBlc1xuICAgKi9cbiAgZm9yY2VQcm94eVR5cGUoZm9yY2VQcm94eVR5cGU6IFByb3h5VHlwZSk6IHRoaXMge1xuICAgIHRoaXMuX2ZvcmNlUHJveHlUeXBlID0gZm9yY2VQcm94eVR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5UcmFuc2ZlcktlZXBBbGl2ZSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgVHJhbnNmZXJBcmdzO1xuICAgICAgY29uc3QgYW1vdW50ID0gYCR7dHhNZXRob2QudmFsdWV9YDtcbiAgICAgIGNvbnN0IHRvID0gdHhNZXRob2QuZGVzdC5pZDtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBUcmFuc2ZlclRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgYW1vdW50LCB0byB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNmZXIgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLlByb3h5KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBQcm94eUFyZ3M7XG4gICAgICBjb25zdCByZWFsID0gdHhNZXRob2QucmVhbDtcbiAgICAgIGNvbnN0IGZvcmNlUHJveHlUeXBlID0gdHhNZXRob2QuZm9yY2VQcm94eVR5cGU7XG4gICAgICBjb25zdCBkZWNvZGVkQ2FsbCA9IHV0aWxzLmRlY29kZUNhbGxNZXRob2QocmF3VHJhbnNhY3Rpb24sIHtcbiAgICAgICAgcmVnaXN0cnk6IFNpbmdsZXRvblJlZ2lzdHJ5LmdldEluc3RhbmNlKHRoaXMuX21hdGVyaWFsKSxcbiAgICAgICAgbWV0YWRhdGFScGM6IHRoaXMuX21hdGVyaWFsLm1ldGFkYXRhLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBhbW91bnQgPSBgJHtkZWNvZGVkQ2FsbC52YWx1ZX1gO1xuICAgICAgY29uc3QgdG8gPSBkZWNvZGVkQ2FsbC5kZXN0LmlkO1xuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFByb3h5VHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyByZWFsLCBmb3JjZVByb3h5VHlwZSwgYW1vdW50LCB0byB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgUHJveHkgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLlRyYW5zZmVyS2VlcEFsaXZlKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIFRyYW5zZmVyQXJncztcbiAgICAgIHRoaXMuYW1vdW50KHR4TWV0aG9kLnZhbHVlKTtcbiAgICAgIHRoaXMudG8oe1xuICAgICAgICBhZGRyZXNzOiB1dGlscy5kZWNvZGVEb3RBZGRyZXNzKFxuICAgICAgICAgIHR4TWV0aG9kLmRlc3QuaWQsXG4gICAgICAgICAgdXRpbHMuZ2V0QWRkcmVzc0Zvcm1hdCh0aGlzLl9jb2luQ29uZmlnLm5hbWUgYXMgRG90QXNzZXRUeXBlcylcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5Qcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBQcm94eUFyZ3M7XG4gICAgICB0aGlzLm93bmVyKHtcbiAgICAgICAgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyh0eE1ldGhvZC5yZWFsLCB1dGlscy5nZXRBZGRyZXNzRm9ybWF0KHRoaXMuX2NvaW5Db25maWcubmFtZSBhcyBEb3RBc3NldFR5cGVzKSksXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZm9yY2VQcm94eVR5cGUodHhNZXRob2QuZm9yY2VQcm94eVR5cGUpO1xuICAgICAgY29uc3QgZGVjb2RlZENhbGwgPSB1dGlscy5kZWNvZGVDYWxsTWV0aG9kKHJhd1RyYW5zYWN0aW9uLCB7XG4gICAgICAgIHJlZ2lzdHJ5OiBTaW5nbGV0b25SZWdpc3RyeS5nZXRJbnN0YW5jZSh0aGlzLl9tYXRlcmlhbCksXG4gICAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIH0pO1xuICAgICAgaWYgKCFkZWNvZGVkQ2FsbC52YWx1ZSB8fCAhZGVjb2RlZENhbGwuZGVzdCkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgICAgYEludmFsaWQgUHJveHkgVHJhbnNhY3Rpb24gTWV0aG9kOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIHRyYW5zZmVyS2VlcEFsaXZlYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5hbW91bnQoYCR7ZGVjb2RlZENhbGwudmFsdWV9YCk7XG4gICAgICB0aGlzLnRvKHtcbiAgICAgICAgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyhcbiAgICAgICAgICBkZWNvZGVkQ2FsbC5kZXN0LmlkLFxuICAgICAgICAgIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lIGFzIERvdEFzc2V0VHlwZXMpXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIGEgdHJhbnNmZXJLZWVwQWxpdmUgb3IgYSBwcm94eSB0cmFuc2ZlcktlZXBBbGl2ZSB0cmFuc2FjdGlvbmBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbihfKTtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKHRoaXMuX3RvLCB0aGlzLl9hbW91bnQsIHRoaXMuX293bmVyLCB0aGlzLl9mb3JjZVByb3h5VHlwZSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKHRvOiBzdHJpbmcsIGFtb3VudDogc3RyaW5nLCByZWFsPzogc3RyaW5nLCBmb3JjZVByb3h5VHlwZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBmb3JjZVByb3h5VHlwZVxuICAgICAgPyBQcm94eVRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdG8sIGFtb3VudCwgcmVhbCwgZm9yY2VQcm94eVR5cGUgfSlcbiAgICAgIDogVHJhbnNmZXJUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7IGFtb3VudCwgdG8gfSk7XG5cbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgUHJveHkvVHJhbnNmZXJLZWVwQWxpdmUgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,71 +1,11 @@
1
- import { BaseAddress, TransactionType } from '@bitgo/sdk-core';
2
1
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
- import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
4
2
  import { ProxyType } from './iface';
5
- import { Transaction } from './transaction';
6
- import { TransactionBuilder } from './transactionBuilder';
7
- export declare class TransferBuilder extends TransactionBuilder {
3
+ import { NativeTransferBuilder } from './nativeTransferBuilder';
4
+ export declare class TransferBuilder extends NativeTransferBuilder {
8
5
  protected _amount: string;
9
6
  protected _to: string;
10
7
  protected _owner: string;
11
8
  protected _forceProxyType: ProxyType;
12
9
  constructor(_coinConfig: Readonly<CoinConfig>);
13
- /**
14
- *
15
- * Dispatch the given call from an account that the sender is authorised for through add_proxy.
16
- *
17
- * @returns {UnsignedTransaction} an unsigned Dot transaction
18
- *
19
- * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
20
- */
21
- protected buildTransaction(): UnsignedTransaction;
22
- protected get transactionType(): TransactionType;
23
- /**
24
- *
25
- * The amount for transfer transaction.
26
- *
27
- * @param {string} amount
28
- * @returns {TransferBuilder} This transfer builder.
29
- *
30
- * @see https://wiki.polkadot.network/docs/build-protocol-info
31
- */
32
- amount(amount: string): this;
33
- /**
34
- *
35
- * The destination address for transfer transaction.
36
- *
37
- * @param {string} dest
38
- * @returns {TransferBuilder} This transfer builder.
39
- *
40
- * @see https://wiki.polkadot.network/docs/build-protocol-info
41
- */
42
- to({ address }: BaseAddress): this;
43
- /**
44
- *
45
- * The real address of the original tx
46
- *
47
- * @param {BaseAddress} real
48
- * @returns {TransferBuilder} This builder.
49
- *
50
- * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
51
- */
52
- owner(owner: BaseAddress): this;
53
- /**
54
- *
55
- * The proxy type to execute
56
- *
57
- * @param {proxyType} forceProxyType
58
- * @returns {TransferBuilder} This builder.
59
- *
60
- * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
61
- */
62
- forceProxyType(forceProxyType: ProxyType): this;
63
- /** @inheritdoc */
64
- validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction: string): void;
65
- /** @inheritdoc */
66
- protected fromImplementation(rawTransaction: string): Transaction;
67
- /** @inheritdoc */
68
- validateTransaction(_: Transaction): void;
69
- private validateFields;
70
10
  }
71
11
  //# 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,WAAW,EAA0C,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAExG,OAAO,EAA0B,SAAS,EAAgB,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,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;IA0B7G,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAyCjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;CAWvB"}
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,qBAAa,eAAgB,SAAQ,qBAAqB;IACxD,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;CAG9C"}
@@ -1,177 +1,11 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.TransferBuilder = void 0;
7
- const sdk_core_1 = require("@bitgo/sdk-core");
8
- const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
- const iface_1 = require("./iface");
11
- const singletonRegistry_1 = require("./singletonRegistry");
12
- const transactionBuilder_1 = require("./transactionBuilder");
13
- const txnSchema_1 = require("./txnSchema");
14
- const utils_1 = __importDefault(require("./utils"));
15
- class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
4
+ const nativeTransferBuilder_1 = require("./nativeTransferBuilder");
5
+ class TransferBuilder extends nativeTransferBuilder_1.NativeTransferBuilder {
16
6
  constructor(_coinConfig) {
17
7
  super(_coinConfig);
18
8
  }
19
- /**
20
- *
21
- * Dispatch the given call from an account that the sender is authorised for through add_proxy.
22
- *
23
- * @returns {UnsignedTransaction} an unsigned Dot transaction
24
- *
25
- * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
26
- */
27
- buildTransaction() {
28
- const baseTxInfo = this.createBaseTxInfo();
29
- const transferTx = txwrapper_polkadot_1.methods.balances.transferKeepAlive({
30
- value: this._amount,
31
- dest: this._to,
32
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
33
- if (!this._owner) {
34
- return transferTx;
35
- }
36
- return txwrapper_polkadot_1.methods.proxy.proxy({
37
- real: this._owner,
38
- forceProxyType: this._forceProxyType,
39
- call: transferTx.method,
40
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
41
- }
42
- get transactionType() {
43
- return sdk_core_1.TransactionType.Send;
44
- }
45
- /**
46
- *
47
- * The amount for transfer transaction.
48
- *
49
- * @param {string} amount
50
- * @returns {TransferBuilder} This transfer builder.
51
- *
52
- * @see https://wiki.polkadot.network/docs/build-protocol-info
53
- */
54
- amount(amount) {
55
- this.validateValue(new bignumber_js_1.default(amount));
56
- this._amount = amount;
57
- return this;
58
- }
59
- /**
60
- *
61
- * The destination address for transfer transaction.
62
- *
63
- * @param {string} dest
64
- * @returns {TransferBuilder} This transfer builder.
65
- *
66
- * @see https://wiki.polkadot.network/docs/build-protocol-info
67
- */
68
- to({ address }) {
69
- this.validateAddress({ address });
70
- this._to = address;
71
- return this;
72
- }
73
- /**
74
- *
75
- * The real address of the original tx
76
- *
77
- * @param {BaseAddress} real
78
- * @returns {TransferBuilder} This builder.
79
- *
80
- * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
81
- */
82
- owner(owner) {
83
- this.validateAddress({ address: owner.address });
84
- this._owner = owner.address;
85
- return this;
86
- }
87
- /**
88
- *
89
- * The proxy type to execute
90
- *
91
- * @param {proxyType} forceProxyType
92
- * @returns {TransferBuilder} This builder.
93
- *
94
- * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
95
- */
96
- forceProxyType(forceProxyType) {
97
- this._forceProxyType = forceProxyType;
98
- return this;
99
- }
100
- /** @inheritdoc */
101
- validateDecodedTransaction(decodedTxn, rawTransaction) {
102
- var _a, _b;
103
- if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.TransferKeepAlive) {
104
- const txMethod = decodedTxn.method.args;
105
- const amount = `${txMethod.value}`;
106
- const to = txMethod.dest.id;
107
- const validationResult = txnSchema_1.TransferTransactionSchema.validate({ amount, to });
108
- if (validationResult.error) {
109
- throw new sdk_core_1.InvalidTransactionError(`Transfer Transaction validation failed: ${validationResult.error.message}`);
110
- }
111
- }
112
- else if (((_b = decodedTxn.method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Proxy) {
113
- const txMethod = decodedTxn.method.args;
114
- const real = txMethod.real;
115
- const forceProxyType = txMethod.forceProxyType;
116
- const decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
117
- registry: singletonRegistry_1.SingletonRegistry.getInstance(this._material),
118
- metadataRpc: this._material.metadata,
119
- });
120
- const amount = `${decodedCall.value}`;
121
- const to = decodedCall.dest.id;
122
- const validationResult = txnSchema_1.ProxyTransactionSchema.validate({ real, forceProxyType, amount, to });
123
- if (validationResult.error) {
124
- throw new sdk_core_1.InvalidTransactionError(`Proxy Transaction validation failed: ${validationResult.error.message}`);
125
- }
126
- }
127
- }
128
- /** @inheritdoc */
129
- fromImplementation(rawTransaction) {
130
- var _a, _b, _c, _d;
131
- const tx = super.fromImplementation(rawTransaction);
132
- if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.TransferKeepAlive) {
133
- const txMethod = this._method.args;
134
- this.amount(txMethod.value);
135
- this.to({
136
- address: utils_1.default.decodeDotAddress(txMethod.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
137
- });
138
- }
139
- else if (((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Proxy) {
140
- const txMethod = this._method.args;
141
- this.owner({
142
- address: utils_1.default.decodeDotAddress(txMethod.real, utils_1.default.getAddressFormat(this._coinConfig.name)),
143
- });
144
- this.forceProxyType(txMethod.forceProxyType);
145
- const decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
146
- registry: singletonRegistry_1.SingletonRegistry.getInstance(this._material),
147
- metadataRpc: this._material.metadata,
148
- });
149
- if (!decodedCall.value || !decodedCall.dest) {
150
- throw new sdk_core_1.InvalidTransactionError(`Invalid Proxy Transaction Method: ${(_c = this._method) === null || _c === void 0 ? void 0 : _c.name}. Expected transferKeepAlive`);
151
- }
152
- this.amount(`${decodedCall.value}`);
153
- this.to({
154
- address: utils_1.default.decodeDotAddress(decodedCall.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
155
- });
156
- }
157
- else {
158
- throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_d = this._method) === null || _d === void 0 ? void 0 : _d.name}. Expected a transferKeepAlive or a proxy transferKeepAlive transaction`);
159
- }
160
- return tx;
161
- }
162
- /** @inheritdoc */
163
- validateTransaction(_) {
164
- super.validateTransaction(_);
165
- this.validateFields(this._to, this._amount, this._owner, this._forceProxyType);
166
- }
167
- validateFields(to, amount, real, forceProxyType) {
168
- const validationResult = forceProxyType
169
- ? txnSchema_1.ProxyTransactionSchema.validate({ to, amount, real, forceProxyType })
170
- : txnSchema_1.TransferTransactionSchema.validate({ amount, to });
171
- if (validationResult.error) {
172
- throw new sdk_core_1.InvalidTransactionError(`Proxy/TransferKeepAlive Transaction validation failed: ${validationResult.error.message}`);
173
- }
174
- }
175
9
  }
176
10
  exports.TransferBuilder = TransferBuilder;
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXVHO0FBRXZHLHNFQUF3RDtBQUV4RCxnRUFBcUM7QUFDckMsbUNBQTBFO0FBQzFFLDJEQUF3RDtBQUV4RCw2REFBMEQ7QUFDMUQsMkNBQWdGO0FBQ2hGLG9EQUE0QjtBQUU1QixNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBTXJELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08sZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLDRCQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUNuRDtZQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTztZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZixFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUNELE9BQU8sNEJBQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUN4QjtZQUNFLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNqQixjQUFjLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDcEMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1NBQ3hCLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFlO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLEtBQWtCO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsY0FBYyxDQUFDLGNBQXlCO1FBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxVQUFtRCxFQUFFLGNBQXNCOztRQUNwRyxJQUFJLENBQUEsTUFBQSxVQUFVLENBQUMsTUFBTSwwQ0FBRSxJQUFJLE1BQUssbUJBQVcsQ0FBQyxpQkFBaUIsRUFBRTtZQUM3RCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQStCLENBQUM7WUFDbkUsTUFBTSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxxQ0FBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1RSxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRTtnQkFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDJDQUEyQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUNoSDtTQUNGO2FBQU0sSUFBSSxDQUFBLE1BQUEsVUFBVSxDQUFDLE1BQU0sMENBQUUsSUFBSSxNQUFLLG1CQUFXLENBQUMsS0FBSyxFQUFFO1lBQ3hELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBNEIsQ0FBQztZQUNoRSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzNCLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDL0MsTUFBTSxXQUFXLEdBQUcsZUFBSyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtnQkFDekQsUUFBUSxFQUFFLHFDQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN2RCxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2FBQ3JDLENBQUMsQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RDLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsa0NBQXNCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRixJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRTtnQkFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdDQUF3QyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUM3RztTQUNGO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCOztRQUNqRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsSUFBSSxNQUFLLG1CQUFXLENBQUMsaUJBQWlCLEVBQUU7WUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFvQixDQUFDO1lBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ04sT0FBTyxFQUFFLGVBQUssQ0FBQyxnQkFBZ0IsQ0FDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQ2hCLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQXFCLENBQUMsQ0FDL0Q7YUFDRixDQUFDLENBQUM7U0FDSjthQUFNLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLElBQUksTUFBSyxtQkFBVyxDQUFDLEtBQUssRUFBRTtZQUNuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQWlCLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDVCxPQUFPLEVBQUUsZUFBSyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBcUIsQ0FBQyxDQUFDO2FBQy9HLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sV0FBVyxHQUFHLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUU7Z0JBQ3pELFFBQVEsRUFBRSxxQ0FBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDdkQsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTthQUNyQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7Z0JBQzNDLE1BQU0sSUFBSSxrQ0FBdUIsQ0FDL0IscUNBQXFDLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsSUFBSSw4QkFBOEIsQ0FDdEYsQ0FBQzthQUNIO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ04sT0FBTyxFQUFFLGVBQUssQ0FBQyxnQkFBZ0IsQ0FDN0IsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQ25CLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQXFCLENBQUMsQ0FDL0Q7YUFDRixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxJQUFJLGtDQUF1QixDQUMvQiw2QkFBNkIsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLHlFQUF5RSxDQUN6SCxDQUFDO1NBQ0g7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsQ0FBYztRQUNoQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVPLGNBQWMsQ0FBQyxFQUFVLEVBQUUsTUFBYyxFQUFFLElBQWEsRUFBRSxjQUF1QjtRQUN2RixNQUFNLGdCQUFnQixHQUFHLGNBQWM7WUFDckMsQ0FBQyxDQUFDLGtDQUFzQixDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ3ZFLENBQUMsQ0FBQyxxQ0FBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV2RCxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksa0NBQXVCLENBQy9CLDBEQUEwRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQzNGLENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRjtBQS9MRCwwQ0ErTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQWRkcmVzcywgRG90QXNzZXRUeXBlcywgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBNZXRob2ROYW1lcywgUHJveHlBcmdzLCBQcm94eVR5cGUsIFRyYW5zZmVyQXJncyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgU2luZ2xldG9uUmVnaXN0cnkgfSBmcm9tICcuL3NpbmdsZXRvblJlZ2lzdHJ5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBQcm94eVRyYW5zYWN0aW9uU2NoZW1hLCBUcmFuc2ZlclRyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90bzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX293bmVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZm9yY2VQcm94eVR5cGU6IFByb3h5VHlwZTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogRGlzcGF0Y2ggdGhlIGdpdmVuIGNhbGwgZnJvbSBhbiBhY2NvdW50IHRoYXQgdGhlIHNlbmRlciBpcyBhdXRob3Jpc2VkIGZvciB0aHJvdWdoIGFkZF9wcm94eS5cbiAgICpcbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIERvdCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3Mvc3Vic3RyYXRlL2V4dHJpbnNpY3MvI3Byb3h5XG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgY29uc3QgdHJhbnNmZXJUeCA9IG1ldGhvZHMuYmFsYW5jZXMudHJhbnNmZXJLZWVwQWxpdmUoXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB0aGlzLl9hbW91bnQsXG4gICAgICAgIGRlc3Q6IHRoaXMuX3RvLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgaWYgKCF0aGlzLl9vd25lcikge1xuICAgICAgcmV0dXJuIHRyYW5zZmVyVHg7XG4gICAgfVxuICAgIHJldHVybiBtZXRob2RzLnByb3h5LnByb3h5KFxuICAgICAge1xuICAgICAgICByZWFsOiB0aGlzLl9vd25lcixcbiAgICAgICAgZm9yY2VQcm94eVR5cGU6IHRoaXMuX2ZvcmNlUHJveHlUeXBlLFxuICAgICAgICBjYWxsOiB0cmFuc2ZlclR4Lm1ldGhvZCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGFtb3VudCBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnRcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtcHJvdG9jb2wtaW5mb1xuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoYW1vdW50KSk7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGZvciB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc3RcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtcHJvdG9jb2wtaW5mb1xuICAgKi9cbiAgdG8oeyBhZGRyZXNzIH06IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzIH0pO1xuICAgIHRoaXMuX3RvID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgcmVhbCBhZGRyZXNzIG9mIHRoZSBvcmlnaW5hbCB0eFxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VBZGRyZXNzfSByZWFsXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXByb3hpZXMjd2h5LXVzZS1hLXByb3h5XG4gICAqL1xuICBvd25lcihvd25lcjogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IG93bmVyLmFkZHJlc3MgfSk7XG4gICAgdGhpcy5fb3duZXIgPSBvd25lci5hZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRoZSBwcm94eSB0eXBlIHRvIGV4ZWN1dGVcbiAgICpcbiAgICogQHBhcmFtIHtwcm94eVR5cGV9IGZvcmNlUHJveHlUeXBlXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXByb3hpZXMjcHJveHktdHlwZXNcbiAgICovXG4gIGZvcmNlUHJveHlUeXBlKGZvcmNlUHJveHlUeXBlOiBQcm94eVR5cGUpOiB0aGlzIHtcbiAgICB0aGlzLl9mb3JjZVByb3h5VHlwZSA9IGZvcmNlUHJveHlUeXBlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCwgcmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuVHJhbnNmZXJLZWVwQWxpdmUpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIFRyYW5zZmVyQXJncztcbiAgICAgIGNvbnN0IGFtb3VudCA9IGAke3R4TWV0aG9kLnZhbHVlfWA7XG4gICAgICBjb25zdCB0byA9IHR4TWV0aG9kLmRlc3QuaWQ7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gVHJhbnNmZXJUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7IGFtb3VudCwgdG8gfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zZmVyIFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5Qcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgUHJveHlBcmdzO1xuICAgICAgY29uc3QgcmVhbCA9IHR4TWV0aG9kLnJlYWw7XG4gICAgICBjb25zdCBmb3JjZVByb3h5VHlwZSA9IHR4TWV0aG9kLmZvcmNlUHJveHlUeXBlO1xuICAgICAgY29uc3QgZGVjb2RlZENhbGwgPSB1dGlscy5kZWNvZGVDYWxsTWV0aG9kKHJhd1RyYW5zYWN0aW9uLCB7XG4gICAgICAgIHJlZ2lzdHJ5OiBTaW5nbGV0b25SZWdpc3RyeS5nZXRJbnN0YW5jZSh0aGlzLl9tYXRlcmlhbCksXG4gICAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgYW1vdW50ID0gYCR7ZGVjb2RlZENhbGwudmFsdWV9YDtcbiAgICAgIGNvbnN0IHRvID0gZGVjb2RlZENhbGwuZGVzdC5pZDtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBQcm94eVRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgcmVhbCwgZm9yY2VQcm94eVR5cGUsIGFtb3VudCwgdG8gfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFByb3h5IFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5UcmFuc2ZlcktlZXBBbGl2ZSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBUcmFuc2ZlckFyZ3M7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC52YWx1ZSk7XG4gICAgICB0aGlzLnRvKHtcbiAgICAgICAgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyhcbiAgICAgICAgICB0eE1ldGhvZC5kZXN0LmlkLFxuICAgICAgICAgIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lIGFzIERvdEFzc2V0VHlwZXMpXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJveHkpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgUHJveHlBcmdzO1xuICAgICAgdGhpcy5vd25lcih7XG4gICAgICAgIGFkZHJlc3M6IHV0aWxzLmRlY29kZURvdEFkZHJlc3ModHhNZXRob2QucmVhbCwgdXRpbHMuZ2V0QWRkcmVzc0Zvcm1hdCh0aGlzLl9jb2luQ29uZmlnLm5hbWUgYXMgRG90QXNzZXRUeXBlcykpLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmZvcmNlUHJveHlUeXBlKHR4TWV0aG9kLmZvcmNlUHJveHlUeXBlKTtcbiAgICAgIGNvbnN0IGRlY29kZWRDYWxsID0gdXRpbHMuZGVjb2RlQ2FsbE1ldGhvZChyYXdUcmFuc2FjdGlvbiwge1xuICAgICAgICByZWdpc3RyeTogU2luZ2xldG9uUmVnaXN0cnkuZ2V0SW5zdGFuY2UodGhpcy5fbWF0ZXJpYWwpLFxuICAgICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWF0ZXJpYWwubWV0YWRhdGEsXG4gICAgICB9KTtcbiAgICAgIGlmICghZGVjb2RlZENhbGwudmFsdWUgfHwgIWRlY29kZWRDYWxsLmRlc3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIFByb3h5IFRyYW5zYWN0aW9uIE1ldGhvZDogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCB0cmFuc2ZlcktlZXBBbGl2ZWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYW1vdW50KGAke2RlY29kZWRDYWxsLnZhbHVlfWApO1xuICAgICAgdGhpcy50byh7XG4gICAgICAgIGFkZHJlc3M6IHV0aWxzLmRlY29kZURvdEFkZHJlc3MoXG4gICAgICAgICAgZGVjb2RlZENhbGwuZGVzdC5pZCxcbiAgICAgICAgICB1dGlscy5nZXRBZGRyZXNzRm9ybWF0KHRoaXMuX2NvaW5Db25maWcubmFtZSBhcyBEb3RBc3NldFR5cGVzKVxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCBhIHRyYW5zZmVyS2VlcEFsaXZlIG9yIGEgcHJveHkgdHJhbnNmZXJLZWVwQWxpdmUgdHJhbnNhY3Rpb25gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbihfOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24oXyk7XG4gICAgdGhpcy52YWxpZGF0ZUZpZWxkcyh0aGlzLl90bywgdGhpcy5fYW1vdW50LCB0aGlzLl9vd25lciwgdGhpcy5fZm9yY2VQcm94eVR5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkcyh0bzogc3RyaW5nLCBhbW91bnQ6IHN0cmluZywgcmVhbD86IHN0cmluZywgZm9yY2VQcm94eVR5cGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gZm9yY2VQcm94eVR5cGVcbiAgICAgID8gUHJveHlUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7IHRvLCBhbW91bnQsIHJlYWwsIGZvcmNlUHJveHlUeXBlIH0pXG4gICAgICA6IFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhbW91bnQsIHRvIH0pO1xuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYFByb3h5L1RyYW5zZmVyS2VlcEFsaXZlIFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbUVBQWdFO0FBRWhFLE1BQWEsZUFBZ0IsU0FBUSw2Q0FBcUI7SUFNeEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBVEQsMENBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgUHJveHlUeXBlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBOYXRpdmVUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL25hdGl2ZVRyYW5zZmVyQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBOYXRpdmVUcmFuc2ZlckJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2Ftb3VudDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3RvOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfb3duZXI6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9mb3JjZVByb3h5VHlwZTogUHJveHlUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/sdk-coin-dot",
3
- "version": "1.0.2",
3
+ "version": "1.0.3-rc.2",
4
4
  "description": "BitGo SDK coin library for Polkadot",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -41,9 +41,8 @@
41
41
  ]
42
42
  },
43
43
  "dependencies": {
44
- "@bitgo/sdk-core": "^1.1.1",
45
- "@bitgo/statics": "^7.1.0",
46
- "@polkadot/api": "7.15.1",
44
+ "@bitgo/sdk-core": "^1.2.0-rc.2",
45
+ "@bitgo/statics": "^8.0.0-rc.1",
47
46
  "@polkadot/keyring": "^8.7.1",
48
47
  "@polkadot/types": "7.15.1",
49
48
  "@polkadot/util": "^8.7.1",
@@ -58,9 +57,9 @@
58
57
  "tweetnacl": "^1.0.3"
59
58
  },
60
59
  "devDependencies": {
61
- "@bitgo/sdk-api": "^1.1.1",
62
- "@bitgo/sdk-test": "^1.0.2",
60
+ "@bitgo/sdk-api": "^1.1.2-rc.2",
61
+ "@bitgo/sdk-test": "^1.0.3-rc.2",
63
62
  "@types/lodash": "^4.14.151"
64
63
  },
65
- "gitHead": "876591201b3a0ac5da8fc87e8dd29abc456ca424"
64
+ "gitHead": "c87c30518098b3bd892afb774b1d1530b2847757"
66
65
  }