@bitgo-beta/sdk-coin-atom 1.1.2-alpha.4 → 1.1.2-alpha.400
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/atom.d.ts +19 -21
- package/dist/src/atom.d.ts.map +1 -1
- package/dist/src/atom.js +33 -43
- package/dist/src/index.js +6 -2
- package/dist/src/lib/constants.d.ts +5 -5
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +10 -9
- package/dist/src/lib/index.d.ts +3 -5
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +33 -18
- package/dist/src/lib/keyPair.d.ts +3 -14
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +6 -52
- package/dist/src/lib/transactionBuilderFactory.d.ts +11 -11
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +38 -16
- package/dist/src/lib/utils.d.ts +7 -84
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +49 -191
- package/dist/src/tatom.d.ts +0 -8
- package/dist/src/tatom.d.ts.map +1 -1
- package/dist/src/tatom.js +1 -13
- package/dist/test/integration/index.d.ts +2 -0
- package/dist/test/integration/index.d.ts.map +1 -0
- package/dist/test/integration/index.js +54 -0
- package/dist/test/resources/atom.d.ts +291 -0
- package/dist/test/resources/atom.d.ts.map +1 -0
- package/dist/test/resources/atom.js +471 -0
- package/dist/test/unit/atom.d.ts +2 -0
- package/dist/test/unit/atom.d.ts.map +1 -0
- package/dist/test/unit/atom.js +552 -0
- package/dist/test/unit/getBuilderFactory.d.ts +3 -0
- package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/getBuilderFactory.js +10 -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 +93 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +220 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.js +171 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.js +140 -0
- package/dist/test/unit/transactionBuilder/StakingRedelegateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingRedelegateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingRedelegateBuilder.js +93 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.js +141 -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 +100 -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 +241 -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 +85 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +17 -13
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -51
- package/dist/src/lib/iface.d.ts +0 -31
- package/dist/src/lib/iface.d.ts.map +0 -1
- package/dist/src/lib/iface.js +0 -3
- package/dist/src/lib/transaction.d.ts +0 -46
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -161
- package/dist/src/lib/transactionBuilder.d.ts +0 -76
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -211
- package/dist/src/lib/transferBuilder.d.ts +0 -8
- package/dist/src/lib/transferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilder.js +0 -15
package/dist/src/atom.d.ts
CHANGED
|
@@ -1,28 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseCoin, BitGoBase
|
|
3
|
-
import { BaseCoin as StaticsBaseCoin
|
|
4
|
-
|
|
1
|
+
import { CosmosCoin, CosmosKeyPair, GasAmountDetails } from '@bitgo-beta/abstract-cosmos';
|
|
2
|
+
import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
|
|
4
|
+
import { TransactionBuilderFactory } from './lib';
|
|
5
|
+
export declare class Atom extends CosmosCoin {
|
|
5
6
|
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
|
|
6
7
|
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
7
8
|
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
8
|
-
/**
|
|
9
|
-
* Factor between the coin's base unit and its smallest subdivison
|
|
10
|
-
*/
|
|
9
|
+
/** @inheritDoc **/
|
|
11
10
|
getBaseFactor(): string | number;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
getFullName(): string;
|
|
15
|
-
/** @inheritDoc */
|
|
16
|
-
supportsTss(): boolean;
|
|
17
|
-
getMPCAlgorithm(): MPCAlgorithm;
|
|
18
|
-
verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
|
|
19
|
-
isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
|
|
20
|
-
parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
|
|
21
|
-
generateKeyPair(seed?: Buffer): KeyPair;
|
|
22
|
-
isValidPub(pub: string): boolean;
|
|
23
|
-
isValidPrv(prv: string): boolean;
|
|
11
|
+
getBuilder(): TransactionBuilderFactory;
|
|
12
|
+
/** @inheritDoc **/
|
|
24
13
|
isValidAddress(address: string): boolean;
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
/** @inheritDoc **/
|
|
15
|
+
getDenomination(): string;
|
|
16
|
+
/** @inheritDoc **/
|
|
17
|
+
getGasAmountDetails(): GasAmountDetails;
|
|
18
|
+
/** @inheritDoc **/
|
|
19
|
+
getKeyPair(publicKey: string): CosmosKeyPair;
|
|
20
|
+
/**
|
|
21
|
+
* Get the public node url from the Environments constant we have defined
|
|
22
|
+
*/
|
|
23
|
+
protected getPublicNodeUrl(): string;
|
|
24
|
+
getAddressFromPublicKey(pubKey: string): string;
|
|
27
25
|
}
|
|
28
26
|
//# sourceMappingURL=atom.d.ts.map
|
package/dist/src/atom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../src/atom.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../src/atom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAgB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAY,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAW,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAI3D,qBAAa,IAAK,SAAQ,UAAU;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,mBAAmB;IACnB,aAAa,IAAI,MAAM,GAAG,MAAM;IAIhC,UAAU,IAAI,yBAAyB;IAIvC,mBAAmB;IACnB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,mBAAmB;IACnB,eAAe,IAAI,MAAM;IAIzB,mBAAmB;IACnB,mBAAmB,IAAI,gBAAgB;IAOvC,mBAAmB;IACnB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAI5C;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGhD"}
|
package/dist/src/atom.js
CHANGED
|
@@ -4,11 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Atom = void 0;
|
|
7
|
+
const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
7
8
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
10
|
+
const lib_1 = require("./lib");
|
|
11
|
+
const constants_1 = require("./lib/constants");
|
|
8
12
|
const utils_1 = __importDefault(require("./lib/utils"));
|
|
9
|
-
class Atom extends
|
|
13
|
+
class Atom extends abstract_cosmos_1.CosmosCoin {
|
|
10
14
|
constructor(bitgo, staticsCoin) {
|
|
11
|
-
super(bitgo);
|
|
15
|
+
super(bitgo, staticsCoin);
|
|
12
16
|
if (!staticsCoin) {
|
|
13
17
|
throw new Error('missing required constructor parameter staticsCoin');
|
|
14
18
|
}
|
|
@@ -17,55 +21,41 @@ class Atom extends sdk_core_1.BaseCoin {
|
|
|
17
21
|
static createInstance(bitgo, staticsCoin) {
|
|
18
22
|
return new Atom(bitgo, staticsCoin);
|
|
19
23
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Factor between the coin's base unit and its smallest subdivison
|
|
22
|
-
*/
|
|
24
|
+
/** @inheritDoc **/
|
|
23
25
|
getBaseFactor() {
|
|
24
|
-
return
|
|
25
|
-
}
|
|
26
|
-
getChain() {
|
|
27
|
-
return this._staticsCoin.name;
|
|
28
|
-
}
|
|
29
|
-
getFamily() {
|
|
30
|
-
return this._staticsCoin.family;
|
|
31
|
-
}
|
|
32
|
-
getFullName() {
|
|
33
|
-
return this._staticsCoin.fullName;
|
|
34
|
-
}
|
|
35
|
-
/** @inheritDoc */
|
|
36
|
-
supportsTss() {
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
getMPCAlgorithm() {
|
|
40
|
-
return 'ecdsa';
|
|
26
|
+
return 1e6;
|
|
41
27
|
}
|
|
42
|
-
|
|
43
|
-
|
|
28
|
+
getBuilder() {
|
|
29
|
+
return new lib_1.TransactionBuilderFactory(statics_1.coins.get(this.getChain()));
|
|
44
30
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
parseTransaction(params) {
|
|
49
|
-
throw new Error('Method not implemented.');
|
|
50
|
-
}
|
|
51
|
-
generateKeyPair(seed) {
|
|
52
|
-
throw new Error('Method not implemented.');
|
|
31
|
+
/** @inheritDoc **/
|
|
32
|
+
isValidAddress(address) {
|
|
33
|
+
return utils_1.default.isValidAddress(address) || utils_1.default.isValidValidatorAddress(address);
|
|
53
34
|
}
|
|
54
|
-
|
|
55
|
-
|
|
35
|
+
/** @inheritDoc **/
|
|
36
|
+
getDenomination() {
|
|
37
|
+
return statics_1.BaseUnit.ATOM;
|
|
56
38
|
}
|
|
57
|
-
|
|
58
|
-
|
|
39
|
+
/** @inheritDoc **/
|
|
40
|
+
getGasAmountDetails() {
|
|
41
|
+
return {
|
|
42
|
+
gasAmount: constants_1.GAS_AMOUNT,
|
|
43
|
+
gasLimit: constants_1.GAS_LIMIT,
|
|
44
|
+
};
|
|
59
45
|
}
|
|
60
|
-
|
|
61
|
-
|
|
46
|
+
/** @inheritDoc **/
|
|
47
|
+
getKeyPair(publicKey) {
|
|
48
|
+
return new lib_1.KeyPair({ pub: publicKey });
|
|
62
49
|
}
|
|
63
|
-
|
|
64
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Get the public node url from the Environments constant we have defined
|
|
52
|
+
*/
|
|
53
|
+
getPublicNodeUrl() {
|
|
54
|
+
return sdk_core_1.Environments[this.bitgo.getEnv()].atomNodeUrl;
|
|
65
55
|
}
|
|
66
|
-
|
|
67
|
-
|
|
56
|
+
getAddressFromPublicKey(pubKey) {
|
|
57
|
+
return new lib_1.KeyPair({ pub: pubKey }).getAddress();
|
|
68
58
|
}
|
|
69
59
|
}
|
|
70
60
|
exports.Atom = Atom;
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlFQUEwRjtBQUMxRixtREFBeUU7QUFDekUsaURBQW1GO0FBQ25GLCtCQUEyRDtBQUMzRCwrQ0FBd0Q7QUFDeEQsd0RBQWdDO0FBRWhDLE1BQWEsSUFBSyxTQUFRLDRCQUFVO0lBRWxDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsYUFBYTtRQUNYLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsY0FBYyxDQUFDLE9BQWU7UUFDNUIsT0FBTyxlQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLGVBQWU7UUFDYixPQUFPLGtCQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsbUJBQW1CO1FBQ2pCLE9BQU87WUFDTCxTQUFTLEVBQUUsc0JBQVU7WUFDckIsUUFBUSxFQUFFLHFCQUFTO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFVBQVUsQ0FBQyxTQUFpQjtRQUMxQixPQUFPLElBQUksYUFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ08sZ0JBQWdCO1FBQ3hCLE9BQU8sdUJBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0NBQ0Y7QUExREQsb0JBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zbW9zQ29pbiwgQ29zbW9zS2V5UGFpciwgR2FzQW1vdW50RGV0YWlscyB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWNvc21vcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlLCBFbnZpcm9ubWVudHMgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlVW5pdCwgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgS2V5UGFpciwgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vbGliJztcbmltcG9ydCB7IEdBU19BTU9VTlQsIEdBU19MSU1JVCB9IGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi9saWIvdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQXRvbSBleHRlbmRzIENvc21vc0NvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IEF0b20oYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0QmFzZUZhY3RvcigpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiAxZTY7XG4gIH1cblxuICBnZXRCdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSB8fCB1dGlscy5pc1ZhbGlkVmFsaWRhdG9yQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0RGVub21pbmF0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEJhc2VVbml0LkFUT007XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEdhc0Ftb3VudERldGFpbHMoKTogR2FzQW1vdW50RGV0YWlscyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdhc0Ftb3VudDogR0FTX0FNT1VOVCxcbiAgICAgIGdhc0xpbWl0OiBHQVNfTElNSVQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0S2V5UGFpcihwdWJsaWNLZXk6IHN0cmluZyk6IENvc21vc0tleVBhaXIge1xuICAgIHJldHVybiBuZXcgS2V5UGFpcih7IHB1YjogcHVibGljS2V5IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHVibGljIG5vZGUgdXJsIGZyb20gdGhlIEVudmlyb25tZW50cyBjb25zdGFudCB3ZSBoYXZlIGRlZmluZWRcbiAgICovXG4gIHByb3RlY3RlZCBnZXRQdWJsaWNOb2RlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS5hdG9tTm9kZVVybDtcbiAgfVxuXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YktleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IEtleVBhaXIoeyBwdWI6IHB1YktleSB9KS5nZXRBZGRyZXNzKCk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/src/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,4 +18,4 @@ __exportStar(require("./atom"), exports);
|
|
|
14
18
|
__exportStar(require("./tatom"), exports);
|
|
15
19
|
__exportStar(require("./lib"), exports);
|
|
16
20
|
__exportStar(require("./register"), exports);
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2QiwwQ0FBd0I7QUFDeEIsd0NBQXNCO0FBQ3RCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXRvbSc7XG5leHBvcnQgKiBmcm9tICcuL3RhdG9tJztcbmV4cG9ydCAqIGZyb20gJy4vbGliJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXInO1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const DEFAULT_SEED_SIZE_BYTES = 16;
|
|
2
|
-
export declare enum AtomTransactionType {
|
|
3
|
-
Pay = "Pay"
|
|
4
|
-
}
|
|
5
|
-
export declare const sendMsgType = "/cosmos.bank.v1beta1.MsgSend";
|
|
6
1
|
export declare const validDenoms: string[];
|
|
2
|
+
export declare const accountAddressRegex: RegExp;
|
|
3
|
+
export declare const validatorAddressRegex: RegExp;
|
|
4
|
+
export declare const contractAddressRegex: RegExp;
|
|
5
|
+
export declare const GAS_AMOUNT = "100000";
|
|
6
|
+
export declare const GAS_LIMIT = 200000;
|
|
7
7
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,UAA4F,CAAC;AACrH,eAAO,MAAM,mBAAmB,QAAyD,CAAC;AAC1F,eAAO,MAAM,qBAAqB,QAAgE,CAAC;AACnG,eAAO,MAAM,oBAAoB,QAAsD,CAAC;AACxF,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,SAAS,SAAS,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
|
|
3
|
+
exports.GAS_LIMIT = exports.GAS_AMOUNT = exports.contractAddressRegex = exports.validatorAddressRegex = exports.accountAddressRegex = exports.validDenoms = void 0;
|
|
4
|
+
const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
5
|
+
const cosmosUtils = new abstract_cosmos_1.CosmosUtils();
|
|
6
|
+
exports.validDenoms = ['natom', 'uatom', 'matom', 'atom', ...cosmosUtils.getTokenDenomsUsingCoinFamily('atom')];
|
|
7
|
+
exports.accountAddressRegex = /^(cosmos)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/;
|
|
8
|
+
exports.validatorAddressRegex = /^(cosmosvaloper)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/;
|
|
9
|
+
exports.contractAddressRegex = /^(cosmos)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]+)$/;
|
|
10
|
+
exports.GAS_AMOUNT = '100000';
|
|
11
|
+
exports.GAS_LIMIT = 200000;
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUVBQTBEO0FBRTFELE1BQU0sV0FBVyxHQUFHLElBQUksNkJBQVcsRUFBRSxDQUFDO0FBQ3pCLFFBQUEsV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDeEcsUUFBQSxtQkFBbUIsR0FBRyxzREFBc0QsQ0FBQztBQUM3RSxRQUFBLHFCQUFxQixHQUFHLDZEQUE2RCxDQUFDO0FBQ3RGLFFBQUEsb0JBQW9CLEdBQUcsbURBQW1ELENBQUM7QUFDM0UsUUFBQSxVQUFVLEdBQUcsUUFBUSxDQUFDO0FBQ3RCLFFBQUEsU0FBUyxHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvc21vc1V0aWxzIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtY29zbW9zJztcblxuY29uc3QgY29zbW9zVXRpbHMgPSBuZXcgQ29zbW9zVXRpbHMoKTtcbmV4cG9ydCBjb25zdCB2YWxpZERlbm9tcyA9IFsnbmF0b20nLCAndWF0b20nLCAnbWF0b20nLCAnYXRvbScsIC4uLmNvc21vc1V0aWxzLmdldFRva2VuRGVub21zVXNpbmdDb2luRmFtaWx5KCdhdG9tJyldO1xuZXhwb3J0IGNvbnN0IGFjY291bnRBZGRyZXNzUmVnZXggPSAvXihjb3Ntb3MpMShbJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsXXszOH0pJC87XG5leHBvcnQgY29uc3QgdmFsaWRhdG9yQWRkcmVzc1JlZ2V4ID0gL14oY29zbW9zdmFsb3BlcikxKFsncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xdezM4fSkkLztcbmV4cG9ydCBjb25zdCBjb250cmFjdEFkZHJlc3NSZWdleCA9IC9eKGNvc21vcykxKFsncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xdKykkLztcbmV4cG9ydCBjb25zdCBHQVNfQU1PVU5UID0gJzEwMDAwMCc7XG5leHBvcnQgY29uc3QgR0FTX0xJTUlUID0gMjAwMDAwO1xuIl19
|
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
+
import * as Constants from './constants';
|
|
1
2
|
import * as Utils from './utils';
|
|
2
|
-
|
|
3
|
+
export { CosmosTransaction as Transaction, CosmosTransactionBuilder as TransactionBuilder, CosmosTransferBuilder as TransferBuilder, StakingActivateBuilder, StakingDeactivateBuilder, StakingWithdrawRewardsBuilder, } from '@bitgo-beta/abstract-cosmos';
|
|
3
4
|
export { KeyPair } from './keyPair';
|
|
4
|
-
export { Transaction } from './transaction';
|
|
5
|
-
export { TransactionBuilder } from './transactionBuilder';
|
|
6
|
-
export { TransferBuilder } from './transferBuilder';
|
|
7
5
|
export { TransactionBuilderFactory } from './transactionBuilderFactory';
|
|
8
|
-
export {
|
|
6
|
+
export { Constants, Utils };
|
|
9
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EACL,iBAAiB,IAAI,WAAW,EAChC,wBAAwB,IAAI,kBAAkB,EAC9C,qBAAqB,IAAI,eAAe,EACxC,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -11,27 +15,38 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
11
15
|
}) : function(o, v) {
|
|
12
16
|
o["default"] = v;
|
|
13
17
|
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
21
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.Utils = exports.
|
|
36
|
+
exports.Utils = exports.Constants = exports.TransactionBuilderFactory = exports.KeyPair = exports.StakingWithdrawRewardsBuilder = exports.StakingDeactivateBuilder = exports.StakingActivateBuilder = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = void 0;
|
|
37
|
+
const Constants = __importStar(require("./constants"));
|
|
38
|
+
exports.Constants = Constants;
|
|
23
39
|
const Utils = __importStar(require("./utils"));
|
|
24
40
|
exports.Utils = Utils;
|
|
25
|
-
|
|
26
|
-
exports.
|
|
41
|
+
var abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
42
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return abstract_cosmos_1.CosmosTransaction; } });
|
|
43
|
+
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return abstract_cosmos_1.CosmosTransactionBuilder; } });
|
|
44
|
+
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return abstract_cosmos_1.CosmosTransferBuilder; } });
|
|
45
|
+
Object.defineProperty(exports, "StakingActivateBuilder", { enumerable: true, get: function () { return abstract_cosmos_1.StakingActivateBuilder; } });
|
|
46
|
+
Object.defineProperty(exports, "StakingDeactivateBuilder", { enumerable: true, get: function () { return abstract_cosmos_1.StakingDeactivateBuilder; } });
|
|
47
|
+
Object.defineProperty(exports, "StakingWithdrawRewardsBuilder", { enumerable: true, get: function () { return abstract_cosmos_1.StakingWithdrawRewardsBuilder; } });
|
|
27
48
|
var keyPair_1 = require("./keyPair");
|
|
28
49
|
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
29
|
-
var transaction_1 = require("./transaction");
|
|
30
|
-
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
31
|
-
var transactionBuilder_1 = require("./transactionBuilder");
|
|
32
|
-
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
33
|
-
var transferBuilder_1 = require("./transferBuilder");
|
|
34
|
-
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
|
|
35
50
|
var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
|
|
36
51
|
Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUF5QztBQWFoQyw4QkFBUztBQVpsQiwrQ0FBaUM7QUFZYixzQkFBSztBQVZ6QiwrREFPcUM7QUFObkMsOEdBQUEsaUJBQWlCLE9BQWU7QUFDaEMscUhBQUEsd0JBQXdCLE9BQXNCO0FBQzlDLGtIQUFBLHFCQUFxQixPQUFtQjtBQUN4Qyx5SEFBQSxzQkFBc0IsT0FBQTtBQUN0QiwySEFBQSx3QkFBd0IsT0FBQTtBQUN4QixnSUFBQSw2QkFBNkIsT0FBQTtBQUUvQixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHtcbiAgQ29zbW9zVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb24sXG4gIENvc21vc1RyYW5zYWN0aW9uQnVpbGRlciBhcyBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIENvc21vc1RyYW5zZmVyQnVpbGRlciBhcyBUcmFuc2ZlckJ1aWxkZXIsXG4gIFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIsXG4gIFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcixcbiAgU3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIsXG59IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWNvc21vcyc7XG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgQ29uc3RhbnRzLCBVdGlscyB9O1xuIl19
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { KeyPairOptions } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { CosmosKeyPair } from '@bitgo-beta/abstract-cosmos';
|
|
2
3
|
/**
|
|
3
4
|
* Cosmos keys and address management.
|
|
4
5
|
*/
|
|
5
|
-
export declare class KeyPair extends
|
|
6
|
-
/**
|
|
7
|
-
* Public constructor. By default, creates a key pair with a random master seed.
|
|
8
|
-
*
|
|
9
|
-
* @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
|
|
10
|
-
* (extended, compressed, or uncompressed)
|
|
11
|
-
*/
|
|
6
|
+
export declare class KeyPair extends CosmosKeyPair {
|
|
12
7
|
constructor(source?: KeyPairOptions);
|
|
13
|
-
/**
|
|
14
|
-
* Cosmos default keys format: raw private and compressed public key
|
|
15
|
-
*
|
|
16
|
-
* @returns { DefaultKeys } The keys in the protocol default key format
|
|
17
|
-
*/
|
|
18
|
-
getKeys(): DefaultKeys;
|
|
19
8
|
/** @inheritdoc */
|
|
20
9
|
getAddress(): string;
|
|
21
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAc,MAAM,6BAA6B,CAAC;AACxE;;GAEG;AACH,qBAAa,OAAQ,SAAQ,aAAa;gBAC5B,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,UAAU,IAAI,MAAM;CAUrB"}
|
package/dist/src/lib/keyPair.js
CHANGED
|
@@ -1,69 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.KeyPair = void 0;
|
|
4
|
-
const crypto_1 = require("crypto");
|
|
5
|
-
const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
|
|
6
4
|
const amino_1 = require("@cosmjs/amino");
|
|
7
|
-
const
|
|
8
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
-
const constants_1 = require("./constants");
|
|
5
|
+
const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
10
6
|
/**
|
|
11
7
|
* Cosmos keys and address management.
|
|
12
8
|
*/
|
|
13
|
-
class KeyPair extends
|
|
14
|
-
/**
|
|
15
|
-
* Public constructor. By default, creates a key pair with a random master seed.
|
|
16
|
-
*
|
|
17
|
-
* @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
|
|
18
|
-
* (extended, compressed, or uncompressed)
|
|
19
|
-
*/
|
|
9
|
+
class KeyPair extends abstract_cosmos_1.CosmosKeyPair {
|
|
20
10
|
constructor(source) {
|
|
21
11
|
super(source);
|
|
22
|
-
if (!source) {
|
|
23
|
-
const seed = crypto_1.randomBytes(constants_1.DEFAULT_SEED_SIZE_BYTES);
|
|
24
|
-
this.hdNode = utxo_lib_1.bip32.fromSeed(seed);
|
|
25
|
-
}
|
|
26
|
-
else if (sdk_core_1.isSeed(source)) {
|
|
27
|
-
this.hdNode = utxo_lib_1.bip32.fromSeed(source.seed);
|
|
28
|
-
}
|
|
29
|
-
else if (sdk_core_1.isPrivateKey(source)) {
|
|
30
|
-
this.recordKeysFromPrivateKey(source.prv);
|
|
31
|
-
}
|
|
32
|
-
else if (sdk_core_1.isPublicKey(source)) {
|
|
33
|
-
this.recordKeysFromPublicKey(source.pub);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
throw new Error('Invalid key pair options');
|
|
37
|
-
}
|
|
38
|
-
if (this.hdNode) {
|
|
39
|
-
this.keyPair = sdk_core_1.Secp256k1ExtendedKeyPair.toKeyPair(this.hdNode);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Cosmos default keys format: raw private and compressed public key
|
|
44
|
-
*
|
|
45
|
-
* @returns { DefaultKeys } The keys in the protocol default key format
|
|
46
|
-
*/
|
|
47
|
-
getKeys() {
|
|
48
|
-
var _a;
|
|
49
|
-
return {
|
|
50
|
-
pub: this.getPublicKey({ compressed: true }).toString('hex'),
|
|
51
|
-
prv: (_a = this.getPrivateKey()) === null || _a === void 0 ? void 0 : _a.toString('hex'),
|
|
52
|
-
};
|
|
53
12
|
}
|
|
54
13
|
/** @inheritdoc */
|
|
55
14
|
getAddress() {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
tmp.set(pubBuf, 1);
|
|
60
|
-
// convert to base64
|
|
61
|
-
const base64String = encoding_1.toBase64(tmp);
|
|
62
|
-
return amino_1.pubkeyToAddress({
|
|
63
|
-
type: 'tendermint/PubKeySecp256k1',
|
|
15
|
+
const base64String = Buffer.from(this.getKeys().pub.slice(0, 66), 'hex').toString('base64');
|
|
16
|
+
return (0, amino_1.pubkeyToAddress)({
|
|
17
|
+
type: abstract_cosmos_1.PubKeyType.secp256k1,
|
|
64
18
|
value: base64String,
|
|
65
19
|
}, 'cosmos');
|
|
66
20
|
}
|
|
67
21
|
}
|
|
68
22
|
exports.KeyPair = KeyPair;
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBZ0Q7QUFFaEQsaUVBQXdFO0FBQ3hFOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsK0JBQWE7SUFDeEMsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixVQUFVO1FBQ1IsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVGLE9BQU8sSUFBQSx1QkFBZSxFQUNwQjtZQUNFLElBQUksRUFBRSw0QkFBVSxDQUFDLFNBQVM7WUFDMUIsS0FBSyxFQUFFLFlBQVk7U0FDcEIsRUFDRCxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhCRCwwQkFnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXlQYWlyT3B0aW9ucyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IHB1YmtleVRvQWRkcmVzcyB9IGZyb20gJ0Bjb3NtanMvYW1pbm8nO1xuXG5pbXBvcnQgeyBDb3Ntb3NLZXlQYWlyLCBQdWJLZXlUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtY29zbW9zJztcbi8qKlxuICogQ29zbW9zIGtleXMgYW5kIGFkZHJlc3MgbWFuYWdlbWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBDb3Ntb3NLZXlQYWlyIHtcbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlNjRTdHJpbmcgPSBCdWZmZXIuZnJvbSh0aGlzLmdldEtleXMoKS5wdWIuc2xpY2UoMCwgNjYpLCAnaGV4JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIHJldHVybiBwdWJrZXlUb0FkZHJlc3MoXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFB1YktleVR5cGUuc2VjcDI1NmsxLFxuICAgICAgICB2YWx1ZTogYmFzZTY0U3RyaW5nLFxuICAgICAgfSxcbiAgICAgICdjb3Ntb3MnXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import { CosmosTransaction, CosmosTransactionBuilder, CosmosTransferBuilder, StakingActivateBuilder, StakingDeactivateBuilder, StakingWithdrawRewardsBuilder, ContractCallBuilder, StakingRedelegateBuilder } from '@bitgo-beta/abstract-cosmos';
|
|
1
2
|
import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
3
|
-
import { TransferBuilder } from './transferBuilder';
|
|
4
3
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
5
|
-
import { Transaction } from './transaction';
|
|
6
4
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
7
5
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
6
|
/** @inheritdoc */
|
|
9
|
-
from(raw: string):
|
|
7
|
+
from(raw: string): CosmosTransactionBuilder;
|
|
10
8
|
/** @inheritdoc */
|
|
11
|
-
getTransferBuilder(tx?:
|
|
9
|
+
getTransferBuilder(tx?: CosmosTransaction): CosmosTransferBuilder;
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
getStakingActivateBuilder(tx?: CosmosTransaction): StakingActivateBuilder;
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
getStakingDeactivateBuilder(tx?: CosmosTransaction): StakingDeactivateBuilder;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
getStakingWithdrawRewardsBuilder(tx?: CosmosTransaction): StakingWithdrawRewardsBuilder;
|
|
16
|
+
getContractCallBuilder(tx?: CosmosTransaction): ContractCallBuilder;
|
|
17
|
+
getStakingRedelegateBuilder(tx?: CosmosTransaction): StakingRedelegateBuilder;
|
|
12
18
|
/** @inheritdoc */
|
|
13
19
|
getWalletInitializationBuilder(): void;
|
|
14
20
|
/**
|
|
@@ -19,11 +25,5 @@ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFac
|
|
|
19
25
|
* @returns {TransactionBuilder} the builder initialized
|
|
20
26
|
*/
|
|
21
27
|
private initializeBuilder;
|
|
22
|
-
/** Parse the transaction from a raw transaction
|
|
23
|
-
*
|
|
24
|
-
* @param {string} rawTransaction - the raw tx
|
|
25
|
-
* @returns {Transaction} parsedtransaction
|
|
26
|
-
*/
|
|
27
|
-
private parseTransaction;
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=transactionBuilderFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAA4C,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB;IAyB3C,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,qBAAqB;IAGjE,kBAAkB;IAClB,yBAAyB,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,sBAAsB;IAGzE,kBAAkB;IAClB,2BAA2B,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,wBAAwB;IAG7E,kBAAkB;IAClB,gCAAgC,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,6BAA6B;IAIvF,sBAAsB,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,mBAAmB;IAInE,2BAA2B,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,wBAAwB;IAI7E,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
|
|
@@ -1,31 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TransactionBuilderFactory = void 0;
|
|
7
|
+
const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
4
8
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
-
const
|
|
6
|
-
const transaction_1 = require("./transaction");
|
|
9
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
7
10
|
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
8
11
|
constructor(_coinConfig) {
|
|
9
12
|
super(_coinConfig);
|
|
10
13
|
}
|
|
11
14
|
/** @inheritdoc */
|
|
12
15
|
from(raw) {
|
|
13
|
-
const tx = this.
|
|
16
|
+
const tx = new abstract_cosmos_1.CosmosTransaction(this._coinConfig, utils_1.default);
|
|
17
|
+
tx.enrichTransactionDetailsFromRawTransaction(raw);
|
|
14
18
|
try {
|
|
15
19
|
switch (tx.type) {
|
|
16
20
|
case sdk_core_1.TransactionType.Send:
|
|
17
21
|
return this.getTransferBuilder(tx);
|
|
22
|
+
case sdk_core_1.TransactionType.StakingActivate:
|
|
23
|
+
return this.getStakingActivateBuilder(tx);
|
|
24
|
+
case sdk_core_1.TransactionType.StakingDeactivate:
|
|
25
|
+
return this.getStakingDeactivateBuilder(tx);
|
|
26
|
+
case sdk_core_1.TransactionType.StakingWithdraw:
|
|
27
|
+
return this.getStakingWithdrawRewardsBuilder(tx);
|
|
28
|
+
case sdk_core_1.TransactionType.ContractCall:
|
|
29
|
+
return this.getContractCallBuilder(tx);
|
|
30
|
+
case sdk_core_1.TransactionType.StakingRedelegate:
|
|
31
|
+
return this.getStakingRedelegateBuilder(tx);
|
|
18
32
|
default:
|
|
19
33
|
throw new sdk_core_1.InvalidTransactionError('Invalid transaction');
|
|
20
34
|
}
|
|
21
35
|
}
|
|
22
36
|
catch (e) {
|
|
23
|
-
throw e;
|
|
37
|
+
throw new sdk_core_1.InvalidTransactionError('Invalid transaction: ' + e.message);
|
|
24
38
|
}
|
|
25
39
|
}
|
|
26
40
|
/** @inheritdoc */
|
|
27
41
|
getTransferBuilder(tx) {
|
|
28
|
-
return this.initializeBuilder(tx, new
|
|
42
|
+
return this.initializeBuilder(tx, new abstract_cosmos_1.CosmosTransferBuilder(this._coinConfig, utils_1.default));
|
|
43
|
+
}
|
|
44
|
+
/** @inheritdoc */
|
|
45
|
+
getStakingActivateBuilder(tx) {
|
|
46
|
+
return this.initializeBuilder(tx, new abstract_cosmos_1.StakingActivateBuilder(this._coinConfig, utils_1.default));
|
|
47
|
+
}
|
|
48
|
+
/** @inheritdoc */
|
|
49
|
+
getStakingDeactivateBuilder(tx) {
|
|
50
|
+
return this.initializeBuilder(tx, new abstract_cosmos_1.StakingDeactivateBuilder(this._coinConfig, utils_1.default));
|
|
51
|
+
}
|
|
52
|
+
/** @inheritdoc */
|
|
53
|
+
getStakingWithdrawRewardsBuilder(tx) {
|
|
54
|
+
return this.initializeBuilder(tx, new abstract_cosmos_1.StakingWithdrawRewardsBuilder(this._coinConfig, utils_1.default));
|
|
55
|
+
}
|
|
56
|
+
getContractCallBuilder(tx) {
|
|
57
|
+
return this.initializeBuilder(tx, new abstract_cosmos_1.ContractCallBuilder(this._coinConfig, utils_1.default));
|
|
58
|
+
}
|
|
59
|
+
getStakingRedelegateBuilder(tx) {
|
|
60
|
+
return this.initializeBuilder(tx, new abstract_cosmos_1.StakingRedelegateBuilder(this._coinConfig, utils_1.default));
|
|
29
61
|
}
|
|
30
62
|
/** @inheritdoc */
|
|
31
63
|
getWalletInitializationBuilder() {
|
|
@@ -44,16 +76,6 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
44
76
|
}
|
|
45
77
|
return builder;
|
|
46
78
|
}
|
|
47
|
-
/** Parse the transaction from a raw transaction
|
|
48
|
-
*
|
|
49
|
-
* @param {string} rawTransaction - the raw tx
|
|
50
|
-
* @returns {Transaction} parsedtransaction
|
|
51
|
-
*/
|
|
52
|
-
parseTransaction(rawTransaction) {
|
|
53
|
-
const tx = new transaction_1.Transaction(this._coinConfig);
|
|
54
|
-
tx.fromRawTransaction(rawTransaction);
|
|
55
|
-
return tx;
|
|
56
|
-
}
|
|
57
79
|
}
|
|
58
80
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpRUFTcUM7QUFDckMsbURBQStHO0FBRS9HLG9EQUE0QjtBQUU1QixNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsTUFBTSxFQUFFLEdBQUcsSUFBSSxtQ0FBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGVBQUssQ0FBQyxDQUFDO1FBQzFELEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUM7WUFDSCxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsS0FBSywwQkFBZSxDQUFDLElBQUk7b0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyQyxLQUFLLDBCQUFlLENBQUMsZUFBZTtvQkFDbEMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzVDLEtBQUssMEJBQWUsQ0FBQyxpQkFBaUI7b0JBQ3BDLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM5QyxLQUFLLDBCQUFlLENBQUMsZUFBZTtvQkFDbEMsT0FBTyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ25ELEtBQUssMEJBQWUsQ0FBQyxZQUFZO29CQUMvQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekMsS0FBSywwQkFBZSxDQUFDLGlCQUFpQjtvQkFDcEMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzlDO29CQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsRUFBc0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksdUNBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFDRCxrQkFBa0I7SUFDbEIseUJBQXlCLENBQUMsRUFBc0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksd0NBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsMkJBQTJCLENBQUMsRUFBc0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksMENBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsZ0NBQWdDLENBQUMsRUFBc0I7UUFDckQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksK0NBQTZCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxFQUFzQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxxQ0FBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGVBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELDJCQUEyQixDQUFDLEVBQXNCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDBDQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsZUFBSyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDhCQUE4QjtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUFxQyxFQUFpQyxFQUFFLE9BQVU7UUFDekcsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQTFFRCw4REEwRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb3Ntb3NUcmFuc2FjdGlvbixcbiAgQ29zbW9zVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBDb3Ntb3NUcmFuc2ZlckJ1aWxkZXIsXG4gIFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIsXG4gIFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcixcbiAgU3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIsXG4gIENvbnRyYWN0Q2FsbEJ1aWxkZXIsXG4gIFN0YWtpbmdSZWRlbGVnYXRlQnVpbGRlcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtY29zbW9zJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb20ocmF3OiBzdHJpbmcpOiBDb3Ntb3NUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IHR4ID0gbmV3IENvc21vc1RyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcsIHV0aWxzKTtcbiAgICB0eC5lbnJpY2hUcmFuc2FjdGlvbkRldGFpbHNGcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICB0cnkge1xuICAgICAgc3dpdGNoICh0eC50eXBlKSB7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Db250cmFjdENhbGw6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29udHJhY3RDYWxsQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdSZWRlbGVnYXRlOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdSZWRlbGVnYXRlQnVpbGRlcih0eCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiAnICsgZS5tZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogQ29zbW9zVHJhbnNhY3Rpb24pOiBDb3Ntb3NUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ29zbW9zVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcsIHV0aWxzKSk7XG4gIH1cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIodHg/OiBDb3Ntb3NUcmFuc2FjdGlvbik6IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ0FjdGl2YXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnLCB1dGlscykpO1xuICB9XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodHg/OiBDb3Ntb3NUcmFuc2FjdGlvbik6IFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdXRpbHMpKTtcbiAgfVxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0U3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIodHg/OiBDb3Ntb3NUcmFuc2FjdGlvbik6IFN0YWtpbmdXaXRoZHJhd1Jld2FyZHNCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdXaXRoZHJhd1Jld2FyZHNCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcsIHV0aWxzKSk7XG4gIH1cblxuICBnZXRDb250cmFjdENhbGxCdWlsZGVyKHR4PzogQ29zbW9zVHJhbnNhY3Rpb24pOiBDb250cmFjdENhbGxCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENvbnRyYWN0Q2FsbEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdXRpbHMpKTtcbiAgfVxuXG4gIGdldFN0YWtpbmdSZWRlbGVnYXRlQnVpbGRlcih0eD86IENvc21vc1RyYW5zYWN0aW9uKTogU3Rha2luZ1JlZGVsZWdhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdSZWRlbGVnYXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnLCB1dGlscykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciB3aXRoIHRoZSBnaXZlbiB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IGJ1aWxkZXIgLSB0aGUgYnVpbGRlciB0byBiZSBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgQ29zbW9zVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogQ29zbW9zVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsIGJ1aWxkZXI6IFQpOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxufVxuIl19
|