@bitgo-beta/sdk-coin-cosmos 1.0.1-alpha.8 → 1.0.1-alpha.80

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 (59) hide show
  1. package/dist/src/cosmosSharedCoin.d.ts +28 -3
  2. package/dist/src/cosmosSharedCoin.d.ts.map +1 -1
  3. package/dist/src/cosmosSharedCoin.js +69 -5
  4. package/dist/src/index.d.ts +3 -1
  5. package/dist/src/index.d.ts.map +1 -1
  6. package/dist/src/index.js +18 -4
  7. package/dist/src/lib/index.d.ts +5 -0
  8. package/dist/src/lib/index.d.ts.map +1 -0
  9. package/dist/src/lib/index.js +13 -0
  10. package/dist/src/lib/keyPair.d.ts +19 -0
  11. package/dist/src/lib/keyPair.d.ts.map +1 -0
  12. package/dist/src/lib/keyPair.js +38 -0
  13. package/dist/src/lib/transactionBuilderFactory.d.ts +32 -0
  14. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  15. package/dist/src/lib/transactionBuilderFactory.js +81 -0
  16. package/dist/src/lib/utils.d.ts +19 -0
  17. package/dist/src/lib/utils.d.ts.map +1 -0
  18. package/dist/src/lib/utils.js +48 -0
  19. package/dist/src/register.d.ts +7 -0
  20. package/dist/src/register.d.ts.map +1 -0
  21. package/dist/src/register.js +17 -0
  22. package/dist/test/resources/mantra.d.ts +70 -0
  23. package/dist/test/resources/mantra.d.ts.map +1 -0
  24. package/dist/test/resources/mantra.js +80 -0
  25. package/dist/test/testUtils/generators.d.ts +54 -0
  26. package/dist/test/testUtils/generators.d.ts.map +1 -0
  27. package/dist/test/testUtils/generators.js +183 -0
  28. package/dist/test/testUtils/index.d.ts +8 -0
  29. package/dist/test/testUtils/index.d.ts.map +1 -0
  30. package/dist/test/testUtils/index.js +25 -0
  31. package/dist/test/testUtils/types.d.ts +203 -0
  32. package/dist/test/testUtils/types.d.ts.map +1 -0
  33. package/dist/test/testUtils/types.js +7 -0
  34. package/dist/test/testUtils/utils.d.ts +43 -0
  35. package/dist/test/testUtils/utils.d.ts.map +1 -0
  36. package/dist/test/testUtils/utils.js +122 -0
  37. package/dist/test/unit/cosmosSharedCoin.d.ts +2 -0
  38. package/dist/test/unit/cosmosSharedCoin.d.ts.map +1 -0
  39. package/dist/test/unit/cosmosSharedCoin.js +300 -0
  40. package/dist/test/unit/keyPair.d.ts +2 -0
  41. package/dist/test/unit/keyPair.d.ts.map +1 -0
  42. package/dist/test/unit/keyPair.js +73 -0
  43. package/dist/test/unit/register.d.ts +2 -0
  44. package/dist/test/unit/register.d.ts.map +1 -0
  45. package/dist/test/unit/register.js +48 -0
  46. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
  47. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  48. package/dist/test/unit/transactionBuilder/transactionBuilder.js +46 -0
  49. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  50. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  51. package/dist/test/unit/transactionBuilder/transferBuilder.js +186 -0
  52. package/dist/test/unit/utils.d.ts +2 -0
  53. package/dist/test/unit/utils.d.ts.map +1 -0
  54. package/dist/test/unit/utils.js +82 -0
  55. package/dist/tsconfig.tsbuildinfo +1 -0
  56. package/package.json +18 -6
  57. package/.eslintignore +0 -5
  58. package/.mocharc.yml +0 -8
  59. package/CHANGELOG.md +0 -10
@@ -1,11 +1,36 @@
1
1
  import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
2
- import { CosmosCoin } from '@bitgo-beta/abstract-cosmos';
2
+ import { CosmosCoin, GasAmountDetails, CosmosKeyPair } from '@bitgo-beta/abstract-cosmos';
3
+ import { BaseCoin as StaticsBaseCoin, CosmosNetwork } from '@bitgo-beta/statics';
4
+ import { TransactionBuilderFactory } from './lib';
3
5
  /**
4
6
  * Shared Cosmos coin implementation that uses configuration from statics
5
7
  * instead of requiring individual coin modules
6
8
  */
7
9
  export declare class CosmosSharedCoin extends CosmosCoin {
8
- protected constructor(bitgo: BitGoBase);
9
- static createInstance(bitgo: BitGoBase): BaseCoin;
10
+ protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
11
+ protected readonly _network: CosmosNetwork;
12
+ protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
13
+ static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
14
+ /** @inheritDoc **/
15
+ getBaseFactor(): number;
16
+ /** @inheritDoc **/
17
+ getBuilder(): TransactionBuilderFactory;
18
+ /** @inheritDoc **/
19
+ isValidAddress(address: string): boolean;
20
+ /** @inheritDoc **/
21
+ getDenomination(): string;
22
+ /** @inheritDoc **/
23
+ getGasAmountDetails(): GasAmountDetails;
24
+ /**
25
+ * Get the network configuration for this coin
26
+ * @returns {CosmosNetwork} The network configuration
27
+ */
28
+ getNetwork(): CosmosNetwork;
29
+ /** @inheritDoc **/
30
+ getKeyPair(publicKey: string): CosmosKeyPair;
31
+ /** @inheritDoc **/
32
+ getAddressFromPublicKey(pubKey: string): string;
33
+ /** @inheritDoc **/
34
+ protected getPublicNodeUrl(): string;
10
35
  }
11
36
  //# sourceMappingURL=cosmosSharedCoin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmosSharedCoin.d.ts","sourceRoot":"","sources":["../../src/cosmosSharedCoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,SAAS,aAAa,KAAK,EAAE,SAAS;IAItC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ;CAGlD"}
1
+ {"version":3,"file":"cosmosSharedCoin.d.ts","sourceRoot":"","sources":["../../src/cosmosSharedCoin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAU,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAkB,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAElE;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAE3C,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAgB/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,mBAAmB;IACnB,aAAa,IAAI,MAAM;IAIvB,mBAAmB;IACnB,UAAU,IAAI,yBAAyB;IAIvC,mBAAmB;IACnB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKxC,mBAAmB;IACnB,eAAe,IAAI,MAAM;IAIzB,mBAAmB;IACnB,mBAAmB,IAAI,gBAAgB;IAOvC;;;OAGG;IACH,UAAU,IAAI,aAAa;IAI3B,mBAAmB;IACnB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAI5C,mBAAmB;IACnB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK/C,mBAAmB;IACnB,SAAS,CAAC,gBAAgB,IAAI,MAAM;CAOrC"}
@@ -1,18 +1,82 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.CosmosSharedCoin = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
4
9
  const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
10
+ const lib_1 = require("./lib");
5
11
  /**
6
12
  * Shared Cosmos coin implementation that uses configuration from statics
7
13
  * instead of requiring individual coin modules
8
14
  */
9
15
  class CosmosSharedCoin extends abstract_cosmos_1.CosmosCoin {
10
- constructor(bitgo) {
11
- super(bitgo);
16
+ constructor(bitgo, staticsCoin) {
17
+ super(bitgo, staticsCoin);
18
+ if (!staticsCoin) {
19
+ throw new Error('missing required constructor parameter staticsCoin');
20
+ }
21
+ this._staticsCoin = staticsCoin;
22
+ // Get the network configuration from statics
23
+ const network = staticsCoin.network;
24
+ if (!network || !network.addressPrefix || !network.validatorPrefix) {
25
+ throw new Error('Invalid network configuration: missing required Cosmos network parameters');
26
+ }
27
+ this._network = network;
12
28
  }
13
- static createInstance(bitgo) {
14
- return new abstract_cosmos_1.CosmosCoin(bitgo);
29
+ static createInstance(bitgo, staticsCoin) {
30
+ return new CosmosSharedCoin(bitgo, staticsCoin);
31
+ }
32
+ /** @inheritDoc **/
33
+ getBaseFactor() {
34
+ return Math.pow(10, this._staticsCoin.decimalPlaces);
35
+ }
36
+ /** @inheritDoc **/
37
+ getBuilder() {
38
+ return new lib_1.TransactionBuilderFactory(this._staticsCoin);
39
+ }
40
+ /** @inheritDoc **/
41
+ isValidAddress(address) {
42
+ const utils = new lib_1.Utils(this._network);
43
+ return utils.isValidAddress(address) || utils.isValidValidatorAddress(address);
44
+ }
45
+ /** @inheritDoc **/
46
+ getDenomination() {
47
+ return this._network.denom;
48
+ }
49
+ /** @inheritDoc **/
50
+ getGasAmountDetails() {
51
+ return {
52
+ gasAmount: this._network.gasAmount,
53
+ gasLimit: this._network.gasLimit,
54
+ };
55
+ }
56
+ /**
57
+ * Get the network configuration for this coin
58
+ * @returns {CosmosNetwork} The network configuration
59
+ */
60
+ getNetwork() {
61
+ return this._network;
62
+ }
63
+ /** @inheritDoc **/
64
+ getKeyPair(publicKey) {
65
+ return new lib_1.KeyPair({ pub: publicKey }, this._staticsCoin);
66
+ }
67
+ /** @inheritDoc **/
68
+ getAddressFromPublicKey(pubKey) {
69
+ const keyPair = new lib_1.KeyPair({ pub: pubKey }, this._staticsCoin);
70
+ return keyPair.getAddress();
71
+ }
72
+ /** @inheritDoc **/
73
+ getPublicNodeUrl() {
74
+ const family = this.getFamily();
75
+ const env = this.bitgo.getEnv();
76
+ const cosmosConfig = sdk_core_1.common.Environments[env]?.cosmos;
77
+ (0, assert_1.default)(cosmosConfig?.[family]?.nodeUrl, `env config is missing for ${family} in ${env}`);
78
+ return cosmosConfig[family].nodeUrl;
15
79
  }
16
80
  }
17
81
  exports.CosmosSharedCoin = CosmosSharedCoin;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zU2hhcmVkQ29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3Ntb3NTaGFyZWRDb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlFQUF5RDtBQUV6RDs7O0dBR0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLDRCQUFVO0lBQzlDLFlBQXNCLEtBQWdCO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE9BQU8sSUFBSSw0QkFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQVJELDRDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IENvc21vc0NvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1jb3Ntb3MnO1xuXG4vKipcbiAqIFNoYXJlZCBDb3Ntb3MgY29pbiBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgY29uZmlndXJhdGlvbiBmcm9tIHN0YXRpY3NcbiAqIGluc3RlYWQgb2YgcmVxdWlyaW5nIGluZGl2aWR1YWwgY29pbiBtb2R1bGVzXG4gKi9cbmV4cG9ydCBjbGFzcyBDb3Ntb3NTaGFyZWRDb2luIGV4dGVuZHMgQ29zbW9zQ29pbiB7XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlKSB7XG4gICAgc3VwZXIoYml0Z28pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBDb3Ntb3NDb2luKGJpdGdvKTtcbiAgfVxufVxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zU2hhcmVkQ29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3Ntb3NTaGFyZWRDb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixtREFBbUU7QUFDbkUsaUVBQTBGO0FBRTFGLCtCQUFrRTtBQUVsRTs7O0dBR0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLDRCQUFVO0lBSTlDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyw2Q0FBNkM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQXdCLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkUsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVTtRQUNSLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixjQUFjLENBQUMsT0FBZTtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsbUJBQW1CO1FBQ2pCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1lBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVSxDQUFDLFNBQWlCO1FBQzFCLE9BQU8sSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsdUJBQXVCLENBQUMsTUFBYztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGFBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEUsT0FBTyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELG1CQUFtQjtJQUNULGdCQUFnQjtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFlBQVksR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdEQsSUFBQSxnQkFBTSxFQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQWhGRCw0Q0FnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlLCBjb21tb24gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDb3Ntb3NDb2luLCBHYXNBbW91bnREZXRhaWxzLCBDb3Ntb3NLZXlQYWlyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtY29zbW9zJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQ29zbW9zTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgS2V5UGFpciwgVXRpbHMsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYic7XG5cbi8qKlxuICogU2hhcmVkIENvc21vcyBjb2luIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBjb25maWd1cmF0aW9uIGZyb20gc3RhdGljc1xuICogaW5zdGVhZCBvZiByZXF1aXJpbmcgaW5kaXZpZHVhbCBjb2luIG1vZHVsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIENvc21vc1NoYXJlZENvaW4gZXh0ZW5kcyBDb3Ntb3NDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9uZXR3b3JrOiBDb3Ntb3NOZXR3b3JrO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuXG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICAgIC8vIEdldCB0aGUgbmV0d29yayBjb25maWd1cmF0aW9uIGZyb20gc3RhdGljc1xuICAgIGNvbnN0IG5ldHdvcmsgPSBzdGF0aWNzQ29pbi5uZXR3b3JrIGFzIENvc21vc05ldHdvcms7XG4gICAgaWYgKCFuZXR3b3JrIHx8ICFuZXR3b3JrLmFkZHJlc3NQcmVmaXggfHwgIW5ldHdvcmsudmFsaWRhdG9yUHJlZml4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbmV0d29yayBjb25maWd1cmF0aW9uOiBtaXNzaW5nIHJlcXVpcmVkIENvc21vcyBuZXR3b3JrIHBhcmFtZXRlcnMnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9uZXR3b3JrID0gbmV0d29yaztcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBDb3Ntb3NTaGFyZWRDb2luKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMuX3N0YXRpY3NDb2luLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXRCdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSh0aGlzLl9zdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKHRoaXMuX25ldHdvcmspO1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSB8fCB1dGlscy5pc1ZhbGlkVmFsaWRhdG9yQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0RGVub21pbmF0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX25ldHdvcmsuZGVub207XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEdhc0Ftb3VudERldGFpbHMoKTogR2FzQW1vdW50RGV0YWlscyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdhc0Ftb3VudDogdGhpcy5fbmV0d29yay5nYXNBbW91bnQsXG4gICAgICBnYXNMaW1pdDogdGhpcy5fbmV0d29yay5nYXNMaW1pdCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmV0d29yayBjb25maWd1cmF0aW9uIGZvciB0aGlzIGNvaW5cbiAgICogQHJldHVybnMge0Nvc21vc05ldHdvcmt9IFRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGdldE5ldHdvcmsoKTogQ29zbW9zTmV0d29yayB7XG4gICAgcmV0dXJuIHRoaXMuX25ldHdvcms7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEtleVBhaXIocHVibGljS2V5OiBzdHJpbmcpOiBDb3Ntb3NLZXlQYWlyIHtcbiAgICByZXR1cm4gbmV3IEtleVBhaXIoeyBwdWI6IHB1YmxpY0tleSB9LCB0aGlzLl9zdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YktleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IHB1YktleSB9LCB0aGlzLl9zdGF0aWNzQ29pbik7XG4gICAgcmV0dXJuIGtleVBhaXIuZ2V0QWRkcmVzcygpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBwcm90ZWN0ZWQgZ2V0UHVibGljTm9kZVVybCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZhbWlseSA9IHRoaXMuZ2V0RmFtaWx5KCk7XG4gICAgY29uc3QgZW52ID0gdGhpcy5iaXRnby5nZXRFbnYoKTtcbiAgICBjb25zdCBjb3Ntb3NDb25maWcgPSBjb21tb24uRW52aXJvbm1lbnRzW2Vudl0/LmNvc21vcztcbiAgICBhc3NlcnQoY29zbW9zQ29uZmlnPy5bZmFtaWx5XT8ubm9kZVVybCwgYGVudiBjb25maWcgaXMgbWlzc2luZyBmb3IgJHtmYW1pbHl9IGluICR7ZW52fWApO1xuICAgIHJldHVybiBjb3Ntb3NDb25maWdbZmFtaWx5XS5ub2RlVXJsO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,4 @@
1
- export { CosmosSharedCoin } from './cosmosSharedCoin';
1
+ export * from './lib';
2
+ export * from './register';
3
+ export * from './cosmosSharedCoin';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,6 +1,20 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CosmosSharedCoin = void 0;
4
- var cosmosSharedCoin_1 = require("./cosmosSharedCoin");
5
- Object.defineProperty(exports, "CosmosSharedCoin", { enumerable: true, get: function () { return cosmosSharedCoin_1.CosmosSharedCoin; } });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXNEO0FBQTdDLG9IQUFBLGdCQUFnQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29zbW9zU2hhcmVkQ29pbiB9IGZyb20gJy4vY29zbW9zU2hhcmVkQ29pbic7XG4iXX0=
17
+ __exportStar(require("./lib"), exports);
18
+ __exportStar(require("./register"), exports);
19
+ __exportStar(require("./cosmosSharedCoin"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qiw2Q0FBMkI7QUFDM0IscURBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2Nvc21vc1NoYXJlZENvaW4nO1xuIl19
@@ -0,0 +1,5 @@
1
+ export { CosmosTransaction as Transaction, CosmosTransactionBuilder as TransactionBuilder, } from '@bitgo-beta/abstract-cosmos';
2
+ export { KeyPair } from './keyPair';
3
+ export { TransactionBuilderFactory } from './transactionBuilderFactory';
4
+ export { Utils } from './utils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,IAAI,WAAW,EAChC,wBAAwB,IAAI,kBAAkB,GAC/C,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Utils = exports.TransactionBuilderFactory = exports.KeyPair = exports.TransactionBuilder = exports.Transaction = void 0;
4
+ var abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
5
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return abstract_cosmos_1.CosmosTransaction; } });
6
+ Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return abstract_cosmos_1.CosmosTransactionBuilder; } });
7
+ var keyPair_1 = require("./keyPair");
8
+ Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
9
+ var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
10
+ Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
11
+ var utils_1 = require("./utils");
12
+ Object.defineProperty(exports, "Utils", { enumerable: true, get: function () { return utils_1.Utils; } });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUdxQztBQUZuQyw4R0FBQSxpQkFBaUIsT0FBZTtBQUNoQyxxSEFBQSx3QkFBd0IsT0FBc0I7QUFFaEQscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMsaUNBQWdDO0FBQXZCLDhGQUFBLEtBQUssT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIENvc21vc1RyYW5zYWN0aW9uIGFzIFRyYW5zYWN0aW9uLFxuICBDb3Ntb3NUcmFuc2FjdGlvbkJ1aWxkZXIgYXMgVHJhbnNhY3Rpb25CdWlsZGVyLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1jb3Ntb3MnO1xuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFV0aWxzIH0gZnJvbSAnLi91dGlscyc7XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { KeyPairOptions } from '@bitgo-beta/sdk-core';
2
+ import { CosmosKeyPair } from '@bitgo-beta/abstract-cosmos';
3
+ import { BaseCoin } from '@bitgo-beta/statics';
4
+ /**
5
+ * Cosmos keys and address management for the shared Cosmos SDK.
6
+ */
7
+ export declare class KeyPair extends CosmosKeyPair {
8
+ private readonly _coin?;
9
+ /**
10
+ * Public constructor. By default, creates a key pair with a random master seed.
11
+ *
12
+ * @param source Either a master seed, a private key (extended or raw), or a public key
13
+ * @param coin The coin configuration for this key pair
14
+ */
15
+ constructor(source?: KeyPairOptions, coin?: Readonly<BaseCoin>);
16
+ /** @inheritdoc */
17
+ getAddress(): string;
18
+ }
19
+ //# sourceMappingURL=keyPair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAE9D;;GAEG;AACH,qBAAa,OAAQ,SAAQ,aAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAqB;IAE5C;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAK9D,kBAAkB;IAClB,UAAU,IAAI,MAAM;CAqBrB"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyPair = void 0;
4
+ const amino_1 = require("@cosmjs/amino");
5
+ const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
6
+ /**
7
+ * Cosmos keys and address management for the shared Cosmos SDK.
8
+ */
9
+ class KeyPair extends abstract_cosmos_1.CosmosKeyPair {
10
+ /**
11
+ * Public constructor. By default, creates a key pair with a random master seed.
12
+ *
13
+ * @param source Either a master seed, a private key (extended or raw), or a public key
14
+ * @param coin The coin configuration for this key pair
15
+ */
16
+ constructor(source, coin) {
17
+ super(source);
18
+ this._coin = coin;
19
+ }
20
+ /** @inheritdoc */
21
+ getAddress() {
22
+ if (!this._coin) {
23
+ throw new Error('Coin configuration is required to derive address');
24
+ }
25
+ const network = this._coin.network;
26
+ if (!network || !network.addressPrefix) {
27
+ throw new Error('Invalid network configuration: missing addressPrefix');
28
+ }
29
+ const addressPrefix = network.addressPrefix;
30
+ const base64String = Buffer.from(this.getKeys().pub.slice(0, 66), 'hex').toString('base64');
31
+ return (0, amino_1.pubkeyToAddress)({
32
+ type: 'tendermint/PubKeySecp256k1',
33
+ value: base64String,
34
+ }, addressPrefix);
35
+ }
36
+ }
37
+ exports.KeyPair = KeyPair;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBZ0Q7QUFDaEQsaUVBQTREO0FBRzVEOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsK0JBQWE7SUFHeEM7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCLEVBQUUsSUFBeUI7UUFDNUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBd0IsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUYsT0FBTyxJQUFBLHVCQUFlLEVBQ3BCO1lBQ0UsSUFBSSxFQUFFLDRCQUE0QjtZQUNsQyxLQUFLLEVBQUUsWUFBWTtTQUNwQixFQUNELGFBQWEsQ0FDZCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcENELDBCQW9DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVBhaXJPcHRpb25zIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgcHVia2V5VG9BZGRyZXNzIH0gZnJvbSAnQGNvc21qcy9hbWlubyc7XG5pbXBvcnQgeyBDb3Ntb3NLZXlQYWlyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtY29zbW9zJztcbmltcG9ydCB7IEJhc2VDb2luLCBDb3Ntb3NOZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbi8qKlxuICogQ29zbW9zIGtleXMgYW5kIGFkZHJlc3MgbWFuYWdlbWVudCBmb3IgdGhlIHNoYXJlZCBDb3Ntb3MgU0RLLlxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIENvc21vc0tleVBhaXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luPzogUmVhZG9ubHk8QmFzZUNvaW4+O1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlIEVpdGhlciBhIG1hc3RlciBzZWVkLCBhIHByaXZhdGUga2V5IChleHRlbmRlZCBvciByYXcpLCBvciBhIHB1YmxpYyBrZXlcbiAgICogQHBhcmFtIGNvaW4gVGhlIGNvaW4gY29uZmlndXJhdGlvbiBmb3IgdGhpcyBrZXkgcGFpclxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMsIGNvaW4/OiBSZWFkb25seTxCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIHRoaXMuX2NvaW4gPSBjb2luO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29pbiBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIHRvIGRlcml2ZSBhZGRyZXNzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV0d29yayA9IHRoaXMuX2NvaW4ubmV0d29yayBhcyBDb3Ntb3NOZXR3b3JrO1xuICAgIGlmICghbmV0d29yayB8fCAhbmV0d29yay5hZGRyZXNzUHJlZml4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbmV0d29yayBjb25maWd1cmF0aW9uOiBtaXNzaW5nIGFkZHJlc3NQcmVmaXgnKTtcbiAgICB9XG5cbiAgICBjb25zdCBhZGRyZXNzUHJlZml4ID0gbmV0d29yay5hZGRyZXNzUHJlZml4O1xuICAgIGNvbnN0IGJhc2U2NFN0cmluZyA9IEJ1ZmZlci5mcm9tKHRoaXMuZ2V0S2V5cygpLnB1Yi5zbGljZSgwLCA2NiksICdoZXgnKS50b1N0cmluZygnYmFzZTY0Jyk7XG5cbiAgICByZXR1cm4gcHVia2V5VG9BZGRyZXNzKFxuICAgICAge1xuICAgICAgICB0eXBlOiAndGVuZGVybWludC9QdWJLZXlTZWNwMjU2azEnLFxuICAgICAgICB2YWx1ZTogYmFzZTY0U3RyaW5nLFxuICAgICAgfSxcbiAgICAgIGFkZHJlc3NQcmVmaXhcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { CosmosTransaction, CosmosTransactionBuilder, CosmosTransferBuilder, StakingActivateBuilder, StakingDeactivateBuilder, StakingRedelegateBuilder, StakingWithdrawRewardsBuilder, ContractCallBuilder } from '@bitgo-beta/abstract-cosmos';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
4
+ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
5
+ private readonly _utils;
6
+ constructor(_coinConfig: Readonly<CoinConfig>);
7
+ /** @inheritdoc */
8
+ from(raw: string): CosmosTransactionBuilder;
9
+ /** @inheritdoc */
10
+ getTransferBuilder(tx?: CosmosTransaction): CosmosTransferBuilder;
11
+ /** @inheritdoc */
12
+ getStakingActivateBuilder(tx?: CosmosTransaction): StakingActivateBuilder;
13
+ /** @inheritdoc */
14
+ getStakingDeactivateBuilder(tx?: CosmosTransaction): StakingDeactivateBuilder;
15
+ /** @inheritdoc */
16
+ getStakingWithdrawRewardsBuilder(tx?: CosmosTransaction): StakingWithdrawRewardsBuilder;
17
+ /** @inheritdoc */
18
+ getStakingRedelegateBuilder(tx?: CosmosTransaction): StakingRedelegateBuilder;
19
+ /** @inheritdoc */
20
+ getContractCallBuilder(tx?: CosmosTransaction): ContractCallBuilder;
21
+ /** @inheritdoc */
22
+ getWalletInitializationBuilder(): void;
23
+ /**
24
+ * Initialize the builder with the given transaction
25
+ *
26
+ * @param {CosmosTransaction | undefined} tx - the transaction used to initialize the builder
27
+ * @param {CosmosTransactionBuilder} builder - the builder to be initialized
28
+ * @returns {CosmosTransactionBuilder} the builder initialized
29
+ */
30
+ private initializeBuilder;
31
+ }
32
+ //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAiB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAA4C,MAAM,sBAAsB,CAAC;AAG/G,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB;IAyB3C,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,qBAAqB;IAIjE,kBAAkB;IAClB,yBAAyB,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,sBAAsB;IAIzE,kBAAkB;IAClB,2BAA2B,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,wBAAwB;IAI7E,kBAAkB;IAClB,gCAAgC,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,6BAA6B;IAIvF,kBAAkB;IAClB,2BAA2B,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,wBAAwB;IAI7E,kBAAkB;IAClB,sBAAsB,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,mBAAmB;IAInE,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionBuilderFactory = void 0;
4
+ const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ const utils_1 = require("./utils");
7
+ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
8
+ constructor(_coinConfig) {
9
+ super(_coinConfig);
10
+ this._utils = new utils_1.Utils(_coinConfig.network);
11
+ }
12
+ /** @inheritdoc */
13
+ from(raw) {
14
+ const tx = new abstract_cosmos_1.CosmosTransaction(this._coinConfig, this._utils);
15
+ tx.enrichTransactionDetailsFromRawTransaction(raw);
16
+ try {
17
+ switch (tx.type) {
18
+ case sdk_core_1.TransactionType.Send:
19
+ return this.getTransferBuilder(tx);
20
+ case sdk_core_1.TransactionType.StakingActivate:
21
+ return this.getStakingActivateBuilder(tx);
22
+ case sdk_core_1.TransactionType.StakingDeactivate:
23
+ return this.getStakingDeactivateBuilder(tx);
24
+ case sdk_core_1.TransactionType.StakingWithdraw:
25
+ return this.getStakingWithdrawRewardsBuilder(tx);
26
+ case sdk_core_1.TransactionType.ContractCall:
27
+ return this.getContractCallBuilder(tx);
28
+ case sdk_core_1.TransactionType.StakingRedelegate:
29
+ return this.getStakingRedelegateBuilder(tx);
30
+ default:
31
+ throw new sdk_core_1.InvalidTransactionError('Invalid transaction');
32
+ }
33
+ }
34
+ catch (e) {
35
+ throw new sdk_core_1.InvalidTransactionError('Invalid transaction: ' + e.message);
36
+ }
37
+ }
38
+ /** @inheritdoc */
39
+ getTransferBuilder(tx) {
40
+ return this.initializeBuilder(tx, new abstract_cosmos_1.CosmosTransferBuilder(this._coinConfig, this._utils));
41
+ }
42
+ /** @inheritdoc */
43
+ getStakingActivateBuilder(tx) {
44
+ return this.initializeBuilder(tx, new abstract_cosmos_1.StakingActivateBuilder(this._coinConfig, this._utils));
45
+ }
46
+ /** @inheritdoc */
47
+ getStakingDeactivateBuilder(tx) {
48
+ return this.initializeBuilder(tx, new abstract_cosmos_1.StakingDeactivateBuilder(this._coinConfig, this._utils));
49
+ }
50
+ /** @inheritdoc */
51
+ getStakingWithdrawRewardsBuilder(tx) {
52
+ return this.initializeBuilder(tx, new abstract_cosmos_1.StakingWithdrawRewardsBuilder(this._coinConfig, this._utils));
53
+ }
54
+ /** @inheritdoc */
55
+ getStakingRedelegateBuilder(tx) {
56
+ return this.initializeBuilder(tx, new abstract_cosmos_1.StakingRedelegateBuilder(this._coinConfig, this._utils));
57
+ }
58
+ /** @inheritdoc */
59
+ getContractCallBuilder(tx) {
60
+ return this.initializeBuilder(tx, new abstract_cosmos_1.ContractCallBuilder(this._coinConfig, this._utils));
61
+ }
62
+ /** @inheritdoc */
63
+ getWalletInitializationBuilder() {
64
+ throw new Error('Method not implemented.');
65
+ }
66
+ /**
67
+ * Initialize the builder with the given transaction
68
+ *
69
+ * @param {CosmosTransaction | undefined} tx - the transaction used to initialize the builder
70
+ * @param {CosmosTransactionBuilder} builder - the builder to be initialized
71
+ * @returns {CosmosTransactionBuilder} the builder initialized
72
+ */
73
+ initializeBuilder(tx, builder) {
74
+ if (tx) {
75
+ builder.initBuilder(tx);
76
+ }
77
+ return builder;
78
+ }
79
+ }
80
+ exports.TransactionBuilderFactory = TransactionBuilderFactory;
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpRUFTcUM7QUFFckMsbURBQStHO0FBQy9HLG1DQUFnQztBQUVoQyxNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUcxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksYUFBSyxDQUFDLFdBQVcsQ0FBQyxPQUF3QixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsR0FBVztRQUNkLE1BQU0sRUFBRSxHQUFHLElBQUksbUNBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsRUFBRSxDQUFDLDBDQUEwQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQztZQUNILFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQixLQUFLLDBCQUFlLENBQUMsSUFBSTtvQkFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLEtBQUssMEJBQWUsQ0FBQyxlQUFlO29CQUNsQyxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDNUMsS0FBSywwQkFBZSxDQUFDLGlCQUFpQjtvQkFDcEMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzlDLEtBQUssMEJBQWUsQ0FBQyxlQUFlO29CQUNsQyxPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbkQsS0FBSywwQkFBZSxDQUFDLFlBQVk7b0JBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QyxLQUFLLDBCQUFlLENBQUMsaUJBQWlCO29CQUNwQyxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDOUM7b0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxFQUFzQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSx1Q0FBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIseUJBQXlCLENBQUMsRUFBc0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksd0NBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDJCQUEyQixDQUFDLEVBQXNCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDBDQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQ0FBZ0MsQ0FBQyxFQUFzQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwrQ0FBNkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMkJBQTJCLENBQUMsRUFBc0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksMENBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHNCQUFzQixDQUFDLEVBQXNCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHFDQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEI7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxpQkFBaUIsQ0FBcUMsRUFBaUMsRUFBRSxPQUFVO1FBQ3pHLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFsRkQsOERBa0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29zbW9zVHJhbnNhY3Rpb24sXG4gIENvc21vc1RyYW5zYWN0aW9uQnVpbGRlcixcbiAgQ29zbW9zVHJhbnNmZXJCdWlsZGVyLFxuICBTdGFraW5nQWN0aXZhdGVCdWlsZGVyLFxuICBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIsXG4gIFN0YWtpbmdSZWRlbGVnYXRlQnVpbGRlcixcbiAgU3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIsXG4gIENvbnRyYWN0Q2FsbEJ1aWxkZXIsXG59IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWNvc21vcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBDb3Ntb3NOZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBwcml2YXRlIHJlYWRvbmx5IF91dGlsczogVXRpbHM7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3V0aWxzID0gbmV3IFV0aWxzKF9jb2luQ29uZmlnLm5ldHdvcmsgYXMgQ29zbW9zTmV0d29yayk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IENvc21vc1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgdHggPSBuZXcgQ29zbW9zVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZywgdGhpcy5fdXRpbHMpO1xuICAgIHR4LmVucmljaFRyYW5zYWN0aW9uRGV0YWlsc0Zyb21SYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIHRyeSB7XG4gICAgICBzd2l0Y2ggKHR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nV2l0aGRyYXdSZXdhcmRzQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDb250cmFjdENhbGxCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1JlZGVsZWdhdGU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ1JlZGVsZWdhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246ICcgKyBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBDb3Ntb3NUcmFuc2FjdGlvbik6IENvc21vc1RyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBDb3Ntb3NUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdGhpcy5fdXRpbHMpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKHR4PzogQ29zbW9zVHJhbnNhY3Rpb24pOiBTdGFraW5nQWN0aXZhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdGhpcy5fdXRpbHMpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodHg/OiBDb3Ntb3NUcmFuc2FjdGlvbik6IFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdGhpcy5fdXRpbHMpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRTdGFraW5nV2l0aGRyYXdSZXdhcmRzQnVpbGRlcih0eD86IENvc21vc1RyYW5zYWN0aW9uKTogU3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdGhpcy5fdXRpbHMpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRTdGFraW5nUmVkZWxlZ2F0ZUJ1aWxkZXIodHg/OiBDb3Ntb3NUcmFuc2FjdGlvbik6IFN0YWtpbmdSZWRlbGVnYXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nUmVkZWxlZ2F0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdGhpcy5fdXRpbHMpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRDb250cmFjdENhbGxCdWlsZGVyKHR4PzogQ29zbW9zVHJhbnNhY3Rpb24pOiBDb250cmFjdENhbGxCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENvbnRyYWN0Q2FsbEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdGhpcy5fdXRpbHMpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtDb3Ntb3NUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7Q29zbW9zVHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge0Nvc21vc1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIENvc21vc1RyYW5zYWN0aW9uQnVpbGRlcj4odHg6IENvc21vc1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { CosmosUtils } from '@bitgo-beta/abstract-cosmos';
2
+ import { CosmosNetwork } from '@bitgo-beta/statics';
3
+ import { Coin } from '@cosmjs/stargate';
4
+ /**
5
+ * Cosmos utilities implementation using the shared Cosmos SDK
6
+ */
7
+ export declare class Utils extends CosmosUtils {
8
+ private readonly _network;
9
+ constructor(network: CosmosNetwork);
10
+ /** @inheritdoc */
11
+ isValidAddress(address: string): boolean;
12
+ /** @inheritdoc */
13
+ isValidValidatorAddress(address: string): boolean;
14
+ /** @inheritdoc */
15
+ isValidContractAddress(address: string): boolean;
16
+ /** @inheritdoc */
17
+ validateAmount(amount: Coin): void;
18
+ }
19
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIxC;;GAEG;AACH,qBAAa,KAAM,SAAQ,WAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAE7B,OAAO,EAAE,aAAa;IAKlC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOxC,kBAAkB;IAClB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjD,kBAAkB;IAClB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOhD,kBAAkB;IAClB,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;CAgBnC"}
@@ -0,0 +1,48 @@
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.Utils = void 0;
7
+ const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
8
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
9
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
+ /**
11
+ * Cosmos utilities implementation using the shared Cosmos SDK
12
+ */
13
+ class Utils extends abstract_cosmos_1.CosmosUtils {
14
+ constructor(network) {
15
+ super();
16
+ this._network = network;
17
+ }
18
+ /** @inheritdoc */
19
+ isValidAddress(address) {
20
+ return this.isValidCosmosLikeAddressWithMemoId(address, new RegExp(`^${this._network.addressPrefix}1['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38}$`));
21
+ }
22
+ /** @inheritdoc */
23
+ isValidValidatorAddress(address) {
24
+ return this.isValidBech32AddressMatchingRegex(address, new RegExp(`^${this._network.validatorPrefix}1['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38}$`));
25
+ }
26
+ /** @inheritdoc */
27
+ isValidContractAddress(address) {
28
+ return this.isValidBech32AddressMatchingRegex(address, new RegExp(`^${this._network.addressPrefix}1['qpzry9x8gf2tvdw0s3jn54khce6mua7l]+$`));
29
+ }
30
+ /** @inheritdoc */
31
+ validateAmount(amount) {
32
+ if (!amount?.denom) {
33
+ throw new sdk_core_1.InvalidTransactionError('Invalid amount: missing denom');
34
+ }
35
+ if (!this._network.validDenoms.includes(amount.denom)) {
36
+ throw new sdk_core_1.InvalidTransactionError(`Invalid amount: denom '${amount.denom}' is not a valid denomination`);
37
+ }
38
+ if (!amount?.amount) {
39
+ throw new sdk_core_1.InvalidTransactionError('Invalid amount: missing amount');
40
+ }
41
+ const amountBN = new bignumber_js_1.default(amount.amount);
42
+ if (!amountBN.isFinite() || !amountBN.isInteger() || amountBN.isLessThanOrEqualTo(0)) {
43
+ throw new sdk_core_1.InvalidTransactionError(`Invalid amount: '${amount.amount}' is not a valid positive integer`);
44
+ }
45
+ }
46
+ }
47
+ exports.Utils = Utils;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlFQUEwRDtBQUcxRCxtREFBK0Q7QUFDL0QsZ0VBQXFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsNkJBQVc7SUFHcEMsWUFBWSxPQUFzQjtRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLE9BQWU7UUFDNUIsT0FBTyxJQUFJLENBQUMsa0NBQWtDLENBQzVDLE9BQU8sRUFDUCxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSwyQ0FBMkMsQ0FBQyxDQUN2RixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQix1QkFBdUIsQ0FBQyxPQUFlO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUMzQyxPQUFPLEVBQ1AsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsMkNBQTJDLENBQUMsQ0FDekYsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsc0JBQXNCLENBQUMsT0FBZTtRQUNwQyxPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FDM0MsT0FBTyxFQUNQLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLHdDQUF3QyxDQUFDLENBQ3BGLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxNQUFZO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDBCQUEwQixNQUFNLENBQUMsS0FBSywrQkFBK0IsQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckYsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG9CQUFvQixNQUFNLENBQUMsTUFBTSxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzFHLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFqREQsc0JBaURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zbW9zVXRpbHMgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1jb3Ntb3MnO1xuaW1wb3J0IHsgQ29zbW9zTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQ29pbiB9IGZyb20gJ0Bjb3NtanMvc3RhcmdhdGUnO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbi8qKlxuICogQ29zbW9zIHV0aWxpdGllcyBpbXBsZW1lbnRhdGlvbiB1c2luZyB0aGUgc2hhcmVkIENvc21vcyBTREtcbiAqL1xuZXhwb3J0IGNsYXNzIFV0aWxzIGV4dGVuZHMgQ29zbW9zVXRpbHMge1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZXR3b3JrOiBDb3Ntb3NOZXR3b3JrO1xuXG4gIGNvbnN0cnVjdG9yKG5ldHdvcms6IENvc21vc05ldHdvcmspIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX25ldHdvcmsgPSBuZXR3b3JrO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRDb3Ntb3NMaWtlQWRkcmVzc1dpdGhNZW1vSWQoXG4gICAgICBhZGRyZXNzLFxuICAgICAgbmV3IFJlZ0V4cChgXiR7dGhpcy5fbmV0d29yay5hZGRyZXNzUHJlZml4fTFbJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsXXszOH0kYClcbiAgICApO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRWYWxpZGF0b3JBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRCZWNoMzJBZGRyZXNzTWF0Y2hpbmdSZWdleChcbiAgICAgIGFkZHJlc3MsXG4gICAgICBuZXcgUmVnRXhwKGBeJHt0aGlzLl9uZXR3b3JrLnZhbGlkYXRvclByZWZpeH0xWydxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bF17Mzh9JGApXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQ29udHJhY3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRCZWNoMzJBZGRyZXNzTWF0Y2hpbmdSZWdleChcbiAgICAgIGFkZHJlc3MsXG4gICAgICBuZXcgUmVnRXhwKGBeJHt0aGlzLl9uZXR3b3JrLmFkZHJlc3NQcmVmaXh9MVsncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xdKyRgKVxuICAgICk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVBbW91bnQoYW1vdW50OiBDb2luKTogdm9pZCB7XG4gICAgaWYgKCFhbW91bnQ/LmRlbm9tKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYW1vdW50OiBtaXNzaW5nIGRlbm9tJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fbmV0d29yay52YWxpZERlbm9tcy5pbmNsdWRlcyhhbW91bnQuZGVub20pKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgYW1vdW50OiBkZW5vbSAnJHthbW91bnQuZGVub219JyBpcyBub3QgYSB2YWxpZCBkZW5vbWluYXRpb25gKTtcbiAgICB9XG4gICAgaWYgKCFhbW91bnQ/LmFtb3VudCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGFtb3VudDogbWlzc2luZyBhbW91bnQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBhbW91bnRCTiA9IG5ldyBCaWdOdW1iZXIoYW1vdW50LmFtb3VudCk7XG4gICAgaWYgKCFhbW91bnRCTi5pc0Zpbml0ZSgpIHx8ICFhbW91bnRCTi5pc0ludGVnZXIoKSB8fCBhbW91bnRCTi5pc0xlc3NUaGFuT3JFcXVhbFRvKDApKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgYW1vdW50OiAnJHthbW91bnQuYW1vdW50fScgaXMgbm90IGEgdmFsaWQgcG9zaXRpdmUgaW50ZWdlcmApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ import { BitGoBase } from '@bitgo-beta/sdk-core';
2
+ /**
3
+ * Register all coins that use the shared Cosmos SDK implementation
4
+ * @param sdk BitGo instance
5
+ */
6
+ export declare function register(sdk: BitGoBase): void;
7
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAM7C"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.register = register;
4
+ const statics_1 = require("@bitgo-beta/statics");
5
+ const cosmosSharedCoin_1 = require("./cosmosSharedCoin");
6
+ /**
7
+ * Register all coins that use the shared Cosmos SDK implementation
8
+ * @param sdk BitGo instance
9
+ */
10
+ function register(sdk) {
11
+ statics_1.coins
12
+ .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_COSMOS_SDK))
13
+ .forEach((coin) => {
14
+ sdk.register(coin.name, cosmosSharedCoin_1.CosmosSharedCoin.createInstance);
15
+ });
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSw0QkFNQztBQWJELGlEQUF5RDtBQUN6RCx5REFBc0Q7QUFFdEQ7OztHQUdHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLEdBQWM7SUFDckMsZUFBSztTQUNGLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3ZFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ2hCLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxtQ0FBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDb2luRmVhdHVyZSwgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IENvc21vc1NoYXJlZENvaW4gfSBmcm9tICcuL2Nvc21vc1NoYXJlZENvaW4nO1xuXG4vKipcbiAqIFJlZ2lzdGVyIGFsbCBjb2lucyB0aGF0IHVzZSB0aGUgc2hhcmVkIENvc21vcyBTREsgaW1wbGVtZW50YXRpb25cbiAqIEBwYXJhbSBzZGsgQml0R28gaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyKHNkazogQml0R29CYXNlKTogdm9pZCB7XG4gIGNvaW5zXG4gICAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfQ09TTU9TX1NESykpXG4gICAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICAgIHNkay5yZWdpc3Rlcihjb2luLm5hbWUsIENvc21vc1NoYXJlZENvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICAgIH0pO1xufVxuIl19
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Mantra test data for the sdk-coin-cosmos module
3
+ * This file extends the base configuration with mantra-specific data
4
+ */
5
+ export declare const chainConfig: {
6
+ mainnetName: string;
7
+ mainnetCoin: string;
8
+ testnetName: string;
9
+ testnetCoin: string;
10
+ family: string;
11
+ decimalPlaces: number;
12
+ baseDenom: string;
13
+ chainId: string;
14
+ addressPrefix: string;
15
+ validatorPrefix: string;
16
+ };
17
+ export declare const DEFAULTS: {
18
+ senderAddress: string;
19
+ pubKey: string;
20
+ privateKey: string;
21
+ recipientAddress1: string;
22
+ recipientAddress2: string;
23
+ sendMessageTypeUrl: string;
24
+ sendAmount: string;
25
+ feeAmount: string;
26
+ gasLimit: number;
27
+ validatorAddress1: string;
28
+ validatorAddress2: string;
29
+ };
30
+ export declare const TEST_SEND_TX: {
31
+ hash: string;
32
+ signature: string;
33
+ signedTxBase64: string;
34
+ accountNumber: number;
35
+ sequence: number;
36
+ sendAmount: string;
37
+ };
38
+ export declare const TEST_SEND_TX2: {
39
+ hash: string;
40
+ signature: string;
41
+ signedTxBase64: string;
42
+ accountNumber: number;
43
+ sequence: number;
44
+ sendAmount: string;
45
+ };
46
+ export declare const TEST_SEND_MANY_TX: {
47
+ hash: string;
48
+ signature: string;
49
+ signedTxBase64: string;
50
+ accountNumber: number;
51
+ sequence: number;
52
+ sendAmount1: string;
53
+ sendAmount2: string;
54
+ };
55
+ export declare const TEST_TX_WITH_MEMO: {
56
+ hash: string;
57
+ signature: string;
58
+ signedTxBase64: string;
59
+ accountNumber: number;
60
+ sequence: number;
61
+ sendAmount: string;
62
+ memo: string;
63
+ };
64
+ export declare const blockHashes: {
65
+ hash1: string;
66
+ hash2: string;
67
+ };
68
+ export declare const mantra: import("../testUtils").CoinTestData;
69
+ export default mantra;
70
+ //# sourceMappingURL=mantra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mantra.d.ts","sourceRoot":"","sources":["../../../test/resources/mantra.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,eAAO,MAAM,WAAW;;;;;;;;;;;CAWvB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;CAYpB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;CAQxB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;CAQzB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;CAS7B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;CAS7B,CAAC;AAEF,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAGF,eAAO,MAAM,MAAM,qCAKjB,CAAC;AAEH,eAAe,MAAM,CAAC"}