@bitgo-beta/sdk-coin-cosmos 1.0.1-alpha.7 → 1.0.1-alpha.70
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/dist/src/cosmosSharedCoin.d.ts +28 -3
- package/dist/src/cosmosSharedCoin.d.ts.map +1 -1
- package/dist/src/cosmosSharedCoin.js +69 -5
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +18 -4
- package/dist/src/lib/index.d.ts +5 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +13 -0
- package/dist/src/lib/keyPair.d.ts +19 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +38 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +32 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +81 -0
- package/dist/src/lib/utils.d.ts +19 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +48 -0
- package/dist/src/register.d.ts +7 -0
- package/dist/src/register.d.ts.map +1 -0
- package/dist/src/register.js +17 -0
- package/dist/test/resources/mantra.d.ts +70 -0
- package/dist/test/resources/mantra.d.ts.map +1 -0
- package/dist/test/resources/mantra.js +80 -0
- package/dist/test/testUtils/generators.d.ts +54 -0
- package/dist/test/testUtils/generators.d.ts.map +1 -0
- package/dist/test/testUtils/generators.js +183 -0
- package/dist/test/testUtils/index.d.ts +8 -0
- package/dist/test/testUtils/index.d.ts.map +1 -0
- package/dist/test/testUtils/index.js +25 -0
- package/dist/test/testUtils/types.d.ts +203 -0
- package/dist/test/testUtils/types.d.ts.map +1 -0
- package/dist/test/testUtils/types.js +7 -0
- package/dist/test/testUtils/utils.d.ts +43 -0
- package/dist/test/testUtils/utils.d.ts.map +1 -0
- package/dist/test/testUtils/utils.js +122 -0
- package/dist/test/unit/cosmosSharedCoin.d.ts +2 -0
- package/dist/test/unit/cosmosSharedCoin.d.ts.map +1 -0
- package/dist/test/unit/cosmosSharedCoin.js +300 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +73 -0
- package/dist/test/unit/register.d.ts +2 -0
- package/dist/test/unit/register.d.ts.map +1 -0
- package/dist/test/unit/register.js +48 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.js +46 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +186 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +82 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +18 -6
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- 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
|
|
9
|
-
|
|
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":"
|
|
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
|
|
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,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zU2hhcmVkQ29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3Ntb3NTaGFyZWRDb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixtREFBbUU7QUFDbkUsaUVBQTBGO0FBRTFGLCtCQUFrRTtBQUVsRTs7O0dBR0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLDRCQUFVO0lBSTlDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyw2Q0FBNkM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQXdCLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkUsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVTtRQUNSLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixjQUFjLENBQUMsT0FBZTtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsbUJBQW1CO1FBQ2pCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1lBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVSxDQUFDLFNBQWlCO1FBQzFCLE9BQU8sSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsdUJBQXVCLENBQUMsTUFBYztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGFBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEUsT0FBTyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELG1CQUFtQjtJQUNULGdCQUFnQjtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFlBQVksR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdEQsSUFBQSxnQkFBTSxFQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQWhGRCw0Q0FnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlLCBjb21tb24gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDb3Ntb3NDb2luLCBHYXNBbW91bnREZXRhaWxzLCBDb3Ntb3NLZXlQYWlyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtY29zbW9zJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQ29zbW9zTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgS2V5UGFpciwgVXRpbHMsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYic7XG5cbi8qKlxuICogU2hhcmVkIENvc21vcyBjb2luIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBjb25maWd1cmF0aW9uIGZyb20gc3RhdGljc1xuICogaW5zdGVhZCBvZiByZXF1aXJpbmcgaW5kaXZpZHVhbCBjb2luIG1vZHVsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIENvc21vc1NoYXJlZENvaW4gZXh0ZW5kcyBDb3Ntb3NDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9uZXR3b3JrOiBDb3Ntb3NOZXR3b3JrO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuXG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICAgIC8vIEdldCB0aGUgbmV0d29yayBjb25maWd1cmF0aW9uIGZyb20gc3RhdGljc1xuICAgIGNvbnN0IG5ldHdvcmsgPSBzdGF0aWNzQ29pbi5uZXR3b3JrIGFzIENvc21vc05ldHdvcms7XG4gICAgaWYgKCFuZXR3b3JrIHx8ICFuZXR3b3JrLmFkZHJlc3NQcmVmaXggfHwgIW5ldHdvcmsudmFsaWRhdG9yUHJlZml4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbmV0d29yayBjb25maWd1cmF0aW9uOiBtaXNzaW5nIHJlcXVpcmVkIENvc21vcyBuZXR3b3JrIHBhcmFtZXRlcnMnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9uZXR3b3JrID0gbmV0d29yaztcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBDb3Ntb3NTaGFyZWRDb2luKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMuX3N0YXRpY3NDb2luLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXRCdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSh0aGlzLl9zdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKHRoaXMuX25ldHdvcmspO1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSB8fCB1dGlscy5pc1ZhbGlkVmFsaWRhdG9yQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0RGVub21pbmF0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX25ldHdvcmsuZGVub207XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEdhc0Ftb3VudERldGFpbHMoKTogR2FzQW1vdW50RGV0YWlscyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdhc0Ftb3VudDogdGhpcy5fbmV0d29yay5nYXNBbW91bnQsXG4gICAgICBnYXNMaW1pdDogdGhpcy5fbmV0d29yay5nYXNMaW1pdCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmV0d29yayBjb25maWd1cmF0aW9uIGZvciB0aGlzIGNvaW5cbiAgICogQHJldHVybnMge0Nvc21vc05ldHdvcmt9IFRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGdldE5ldHdvcmsoKTogQ29zbW9zTmV0d29yayB7XG4gICAgcmV0dXJuIHRoaXMuX25ldHdvcms7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEtleVBhaXIocHVibGljS2V5OiBzdHJpbmcpOiBDb3Ntb3NLZXlQYWlyIHtcbiAgICByZXR1cm4gbmV3IEtleVBhaXIoeyBwdWI6IHB1YmxpY0tleSB9LCB0aGlzLl9zdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YktleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IHB1YktleSB9LCB0aGlzLl9zdGF0aWNzQ29pbik7XG4gICAgcmV0dXJuIGtleVBhaXIuZ2V0QWRkcmVzcygpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBwcm90ZWN0ZWQgZ2V0UHVibGljTm9kZVVybCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZhbWlseSA9IHRoaXMuZ2V0RmFtaWx5KCk7XG4gICAgY29uc3QgZW52ID0gdGhpcy5iaXRnby5nZXRFbnYoKTtcbiAgICBjb25zdCBjb3Ntb3NDb25maWcgPSBjb21tb24uRW52aXJvbm1lbnRzW2Vudl0/LmNvc21vcztcbiAgICBhc3NlcnQoY29zbW9zQ29uZmlnPy5bZmFtaWx5XT8ubm9kZVVybCwgYGVudiBjb25maWcgaXMgbWlzc2luZyBmb3IgJHtmYW1pbHl9IGluICR7ZW52fWApO1xuICAgIHJldHVybiBjb3Ntb3NDb25maWdbZmFtaWx5XS5ub2RlVXJsO1xuICB9XG59XG4iXX0=
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 @@
|
|
|
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"}
|