@bitgo-beta/sdk-coin-atom 1.1.2-alpha.9 → 1.1.2-alpha.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +528 -0
- package/dist/src/atom.d.ts +12 -38
- package/dist/src/atom.d.ts.map +1 -1
- package/dist/src/atom.js +20 -161
- package/dist/src/index.js +6 -2
- package/dist/src/lib/constants.d.ts +3 -6
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +7 -10
- 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 +16 -11
- package/dist/src/lib/keyPair.d.ts +3 -12
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +6 -50
- package/dist/src/lib/transactionBuilderFactory.d.ts +8 -11
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +21 -11
- package/dist/src/lib/utils.d.ts +5 -158
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +15 -477
- 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/package.json +10 -13
- package/dist/src/lib/StakingActivateBuilder.d.ts +0 -11
- package/dist/src/lib/StakingActivateBuilder.d.ts.map +0 -1
- package/dist/src/lib/StakingActivateBuilder.js +0 -31
- package/dist/src/lib/StakingDeactivateBuilder.d.ts +0 -11
- package/dist/src/lib/StakingDeactivateBuilder.d.ts.map +0 -1
- package/dist/src/lib/StakingDeactivateBuilder.js +0 -31
- package/dist/src/lib/StakingWithdrawRewardsBuilder.d.ts +0 -11
- package/dist/src/lib/StakingWithdrawRewardsBuilder.d.ts.map +0 -1
- package/dist/src/lib/StakingWithdrawRewardsBuilder.js +0 -31
- package/dist/src/lib/iface.d.ts +0 -45
- 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 -57
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -202
- 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 -173
- package/dist/src/lib/transferBuilder.d.ts +0 -11
- package/dist/src/lib/transferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilder.js +0 -31
package/dist/src/tatom.js
CHANGED
|
@@ -13,18 +13,6 @@ class Tatom extends atom_1.Atom {
|
|
|
13
13
|
static createInstance(bitgo, staticsCoin) {
|
|
14
14
|
return new Tatom(bitgo, staticsCoin);
|
|
15
15
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Identifier for the blockchain which supports this coin
|
|
18
|
-
*/
|
|
19
|
-
getChain() {
|
|
20
|
-
return this._staticsCoin.name;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Complete human-readable name of this coin
|
|
24
|
-
*/
|
|
25
|
-
getFullName() {
|
|
26
|
-
return this._staticsCoin.fullName;
|
|
27
|
-
}
|
|
28
16
|
}
|
|
29
17
|
exports.Tatom = Tatom;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF0b20uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGF0b20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsaUNBQThCO0FBRzlCLE1BQWEsS0FBTSxTQUFRLFdBQUk7SUFFN0IsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUFmRCxzQkFlQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGVzdG5ldCBDb3Ntb3NcbiAqXG4gKiBAZm9ybWF0XG4gKi9cbmltcG9ydCB7IEJhc2VDb2luLCBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBBdG9tIH0gZnJvbSAnLi9hdG9tJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5leHBvcnQgY2xhc3MgVGF0b20gZXh0ZW5kcyBBdG9tIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBUYXRvbShiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-atom",
|
|
3
|
-
"version": "1.1.2-alpha.
|
|
3
|
+
"version": "1.1.2-alpha.90",
|
|
4
4
|
"description": "BitGo SDK coin library for Cosmos",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"engines": {
|
|
21
|
-
"node": ">=
|
|
21
|
+
"node": ">=18 <21"
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
@@ -40,23 +40,20 @@
|
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bitgo-beta/
|
|
44
|
-
"@bitgo-beta/
|
|
45
|
-
"@bitgo-beta/
|
|
43
|
+
"@bitgo-beta/abstract-cosmos": "1.0.0-alpha.59",
|
|
44
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.110",
|
|
45
|
+
"@bitgo-beta/sdk-lib-mpc": "8.2.1-alpha.65",
|
|
46
|
+
"@bitgo-beta/statics": "10.0.1-alpha.110",
|
|
46
47
|
"@cosmjs/amino": "^0.29.5",
|
|
47
|
-
"@cosmjs/crypto": "^0.29.5",
|
|
48
48
|
"@cosmjs/encoding": "^0.29.5",
|
|
49
|
-
"@cosmjs/proto-signing": "^0.29.5",
|
|
50
49
|
"@cosmjs/stargate": "^0.29.5",
|
|
51
|
-
"bignumber.js": "^9.1.1"
|
|
52
|
-
"cosmjs-types": "^0.6.1",
|
|
53
|
-
"lodash": "^4.17.21"
|
|
50
|
+
"bignumber.js": "^9.1.1"
|
|
54
51
|
},
|
|
55
52
|
"devDependencies": {
|
|
56
|
-
"@bitgo-beta/sdk-api": "1.6.1-alpha.
|
|
57
|
-
"@bitgo-beta/sdk-test": "^
|
|
53
|
+
"@bitgo-beta/sdk-api": "1.6.1-alpha.110",
|
|
54
|
+
"@bitgo-beta/sdk-test": "^8.0.7",
|
|
58
55
|
"@types/lodash": "^4.14.183",
|
|
59
56
|
"axios": "^1.3.4"
|
|
60
57
|
},
|
|
61
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "7becf60ffa734a16778eb28610599850a18ce39e"
|
|
62
59
|
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
-
import { DelegateOrUndelegeteMessage } from './iface';
|
|
4
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
-
export declare class StakingActivateBuilder extends TransactionBuilder {
|
|
6
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
-
protected get transactionType(): TransactionType;
|
|
8
|
-
/** @inheritdoc */
|
|
9
|
-
messages(delegateMessages: DelegateOrUndelegeteMessage[]): this;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=StakingActivateBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StakingActivateBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/StakingActivateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,sBAAuB,SAAQ,kBAAkB;gBAChD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,QAAQ,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,GAAG,IAAI;CAUhE"}
|
|
@@ -1,31 +0,0 @@
|
|
|
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.StakingActivateBuilder = void 0;
|
|
7
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
-
const constants_1 = require("./constants");
|
|
9
|
-
const transactionBuilder_1 = require("./transactionBuilder");
|
|
10
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
11
|
-
class StakingActivateBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
12
|
-
constructor(_coinConfig) {
|
|
13
|
-
super(_coinConfig);
|
|
14
|
-
}
|
|
15
|
-
get transactionType() {
|
|
16
|
-
return sdk_core_1.TransactionType.StakingActivate;
|
|
17
|
-
}
|
|
18
|
-
/** @inheritdoc */
|
|
19
|
-
messages(delegateMessages) {
|
|
20
|
-
this._messages = delegateMessages.map((delegateMessage) => {
|
|
21
|
-
utils_1.default.validateDelegateOrUndelegateMessage(delegateMessage);
|
|
22
|
-
return {
|
|
23
|
-
typeUrl: constants_1.delegateMsgTypeUrl,
|
|
24
|
-
value: delegateMessage,
|
|
25
|
-
};
|
|
26
|
-
});
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.StakingActivateBuilder = StakingActivateBuilder;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3Rha2luZ0FjdGl2YXRlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvU3Rha2luZ0FjdGl2YXRlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBdUQ7QUFHdkQsMkNBQWlEO0FBRWpELDZEQUEwRDtBQUMxRCxvREFBNEI7QUFFNUIsTUFBYSxzQkFBdUIsU0FBUSx1Q0FBa0I7SUFDNUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsUUFBUSxDQUFDLGdCQUErQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQ3hELGVBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMzRCxPQUFPO2dCQUNMLE9BQU8sRUFBRSw4QkFBa0I7Z0JBQzNCLEtBQUssRUFBRSxlQUFlO2FBQ3ZCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBcEJELHdEQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuaW1wb3J0IHsgZGVsZWdhdGVNc2dUeXBlVXJsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGVsZWdhdGVPclVuZGVsZWdldGVNZXNzYWdlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nQWN0aXZhdGVCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBtZXNzYWdlcyhkZWxlZ2F0ZU1lc3NhZ2VzOiBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2VbXSk6IHRoaXMge1xuICAgIHRoaXMuX21lc3NhZ2VzID0gZGVsZWdhdGVNZXNzYWdlcy5tYXAoKGRlbGVnYXRlTWVzc2FnZSkgPT4ge1xuICAgICAgdXRpbHMudmFsaWRhdGVEZWxlZ2F0ZU9yVW5kZWxlZ2F0ZU1lc3NhZ2UoZGVsZWdhdGVNZXNzYWdlKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGVVcmw6IGRlbGVnYXRlTXNnVHlwZVVybCxcbiAgICAgICAgdmFsdWU6IGRlbGVnYXRlTWVzc2FnZSxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
-
import { DelegateOrUndelegeteMessage } from './iface';
|
|
4
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
-
export declare class StakingDeactivateBuilder extends TransactionBuilder {
|
|
6
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
-
protected get transactionType(): TransactionType;
|
|
8
|
-
/** @inheritdoc */
|
|
9
|
-
messages(undelegateMessages: DelegateOrUndelegeteMessage[]): this;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=StakingDeactivateBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StakingDeactivateBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/StakingDeactivateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,wBAAyB,SAAQ,kBAAkB;gBAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,GAAG,IAAI;CAUlE"}
|
|
@@ -1,31 +0,0 @@
|
|
|
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.StakingDeactivateBuilder = void 0;
|
|
7
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
-
const constants_1 = require("./constants");
|
|
9
|
-
const transactionBuilder_1 = require("./transactionBuilder");
|
|
10
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
11
|
-
class StakingDeactivateBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
12
|
-
constructor(_coinConfig) {
|
|
13
|
-
super(_coinConfig);
|
|
14
|
-
}
|
|
15
|
-
get transactionType() {
|
|
16
|
-
return sdk_core_1.TransactionType.StakingDeactivate;
|
|
17
|
-
}
|
|
18
|
-
/** @inheritdoc */
|
|
19
|
-
messages(undelegateMessages) {
|
|
20
|
-
this._messages = undelegateMessages.map((undelegateMessage) => {
|
|
21
|
-
utils_1.default.validateDelegateOrUndelegateMessage(undelegateMessage);
|
|
22
|
-
return {
|
|
23
|
-
typeUrl: constants_1.undelegateMsgTypeUrl,
|
|
24
|
-
value: undelegateMessage,
|
|
25
|
-
};
|
|
26
|
-
});
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.StakingDeactivateBuilder = StakingDeactivateBuilder;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9TdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQXVEO0FBR3ZELDJDQUFtRDtBQUVuRCw2REFBMEQ7QUFDMUQsb0RBQTRCO0FBRTVCLE1BQWEsd0JBQXlCLFNBQVEsdUNBQWtCO0lBQzlELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGlCQUFpQixDQUFDO0lBQzNDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsUUFBUSxDQUFDLGtCQUFpRDtRQUN4RCxJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDNUQsZUFBSyxDQUFDLG1DQUFtQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDN0QsT0FBTztnQkFDTCxPQUFPLEVBQUUsZ0NBQW9CO2dCQUM3QixLQUFLLEVBQUUsaUJBQWlCO2FBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBcEJELDREQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuaW1wb3J0IHsgdW5kZWxlZ2F0ZU1zZ1R5cGVVcmwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2UgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBtZXNzYWdlcyh1bmRlbGVnYXRlTWVzc2FnZXM6IERlbGVnYXRlT3JVbmRlbGVnZXRlTWVzc2FnZVtdKTogdGhpcyB7XG4gICAgdGhpcy5fbWVzc2FnZXMgPSB1bmRlbGVnYXRlTWVzc2FnZXMubWFwKCh1bmRlbGVnYXRlTWVzc2FnZSkgPT4ge1xuICAgICAgdXRpbHMudmFsaWRhdGVEZWxlZ2F0ZU9yVW5kZWxlZ2F0ZU1lc3NhZ2UodW5kZWxlZ2F0ZU1lc3NhZ2UpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZVVybDogdW5kZWxlZ2F0ZU1zZ1R5cGVVcmwsXG4gICAgICAgIHZhbHVlOiB1bmRlbGVnYXRlTWVzc2FnZSxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
-
import { WithdrawDelegatorRewardsMessage } from './iface';
|
|
4
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
-
export declare class StakingWithdrawRewardsBuilder extends TransactionBuilder {
|
|
6
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
-
protected get transactionType(): TransactionType;
|
|
8
|
-
/** @inheritdoc */
|
|
9
|
-
messages(withdrawRewardsMessages: WithdrawDelegatorRewardsMessage[]): this;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=StakingWithdrawRewardsBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StakingWithdrawRewardsBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/StakingWithdrawRewardsBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,6BAA8B,SAAQ,kBAAkB;gBACvD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,QAAQ,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,GAAG,IAAI;CAU3E"}
|
|
@@ -1,31 +0,0 @@
|
|
|
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.StakingWithdrawRewardsBuilder = void 0;
|
|
7
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
-
const constants_1 = require("./constants");
|
|
9
|
-
const transactionBuilder_1 = require("./transactionBuilder");
|
|
10
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
11
|
-
class StakingWithdrawRewardsBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
12
|
-
constructor(_coinConfig) {
|
|
13
|
-
super(_coinConfig);
|
|
14
|
-
}
|
|
15
|
-
get transactionType() {
|
|
16
|
-
return sdk_core_1.TransactionType.StakingWithdraw;
|
|
17
|
-
}
|
|
18
|
-
/** @inheritdoc */
|
|
19
|
-
messages(withdrawRewardsMessages) {
|
|
20
|
-
this._messages = withdrawRewardsMessages.map((withdrawRewardsMessage) => {
|
|
21
|
-
utils_1.default.validateWithdrawRewardsMessage(withdrawRewardsMessage);
|
|
22
|
-
return {
|
|
23
|
-
typeUrl: constants_1.withdrawDelegatorRewardMsgTypeUrl,
|
|
24
|
-
value: withdrawRewardsMessage,
|
|
25
|
-
};
|
|
26
|
-
});
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.StakingWithdrawRewardsBuilder = StakingWithdrawRewardsBuilder;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL1N0YWtpbmdXaXRoZHJhd1Jld2FyZHNCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUF1RDtBQUd2RCwyQ0FBZ0U7QUFFaEUsNkRBQTBEO0FBQzFELG9EQUE0QjtBQUU1QixNQUFhLDZCQUE4QixTQUFRLHVDQUFrQjtJQUNuRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixRQUFRLENBQUMsdUJBQTBEO1FBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsc0JBQXNCLEVBQUUsRUFBRTtZQUN0RSxlQUFLLENBQUMsOEJBQThCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM3RCxPQUFPO2dCQUNMLE9BQU8sRUFBRSw2Q0FBaUM7Z0JBQzFDLEtBQUssRUFBRSxzQkFBc0I7YUFDOUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFwQkQsc0VBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyB3aXRoZHJhd0RlbGVnYXRvclJld2FyZE1zZ1R5cGVVcmwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHNNZXNzYWdlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nV2l0aGRyYXdSZXdhcmRzQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgbWVzc2FnZXMod2l0aGRyYXdSZXdhcmRzTWVzc2FnZXM6IFdpdGhkcmF3RGVsZWdhdG9yUmV3YXJkc01lc3NhZ2VbXSk6IHRoaXMge1xuICAgIHRoaXMuX21lc3NhZ2VzID0gd2l0aGRyYXdSZXdhcmRzTWVzc2FnZXMubWFwKCh3aXRoZHJhd1Jld2FyZHNNZXNzYWdlKSA9PiB7XG4gICAgICB1dGlscy52YWxpZGF0ZVdpdGhkcmF3UmV3YXJkc01lc3NhZ2Uod2l0aGRyYXdSZXdhcmRzTWVzc2FnZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlVXJsOiB3aXRoZHJhd0RlbGVnYXRvclJld2FyZE1zZ1R5cGVVcmwsXG4gICAgICAgIHZhbHVlOiB3aXRoZHJhd1Jld2FyZHNNZXNzYWdlLFxuICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
|
package/dist/src/lib/iface.d.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { TransactionExplanation as BaseTransactionExplanation, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { Coin } from '@cosmjs/stargate';
|
|
3
|
-
export interface TransactionExplanation extends BaseTransactionExplanation {
|
|
4
|
-
type: TransactionType;
|
|
5
|
-
}
|
|
6
|
-
export interface MessageData {
|
|
7
|
-
typeUrl: string;
|
|
8
|
-
value: SendMessage | DelegateOrUndelegeteMessage | WithdrawDelegatorRewardsMessage;
|
|
9
|
-
}
|
|
10
|
-
export interface SendMessage {
|
|
11
|
-
fromAddress: string;
|
|
12
|
-
toAddress: string;
|
|
13
|
-
amount: Coin[];
|
|
14
|
-
}
|
|
15
|
-
export interface DelegateOrUndelegeteMessage {
|
|
16
|
-
delegatorAddress: string;
|
|
17
|
-
validatorAddress: string;
|
|
18
|
-
amount: Coin;
|
|
19
|
-
}
|
|
20
|
-
export interface WithdrawDelegatorRewardsMessage {
|
|
21
|
-
delegatorAddress: string;
|
|
22
|
-
validatorAddress: string;
|
|
23
|
-
}
|
|
24
|
-
export interface FeeData {
|
|
25
|
-
amount: Coin[];
|
|
26
|
-
gasLimit: number;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* The transaction data returned from the toJson() function of a transaction
|
|
30
|
-
*/
|
|
31
|
-
export interface TxData extends AtomTransaction {
|
|
32
|
-
id?: string;
|
|
33
|
-
type?: TransactionType;
|
|
34
|
-
accountNumber: number;
|
|
35
|
-
chainId: string;
|
|
36
|
-
}
|
|
37
|
-
export interface AtomTransaction {
|
|
38
|
-
readonly sequence: number;
|
|
39
|
-
readonly sendMessages: MessageData[];
|
|
40
|
-
readonly gasBudget: FeeData;
|
|
41
|
-
readonly publicKey?: string;
|
|
42
|
-
readonly signature?: Uint8Array;
|
|
43
|
-
readonly hash?: string;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,GAAG,2BAA2B,GAAG,+BAA+B,CAAC;CACpF;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,+BAA+B;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,IAAI,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,MAAO,SAAQ,eAAe;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
package/dist/src/lib/iface.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDb2luIH0gZnJvbSAnQGNvc21qcy9zdGFyZ2F0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VEYXRhIHtcbiAgdHlwZVVybDogc3RyaW5nO1xuICB2YWx1ZTogU2VuZE1lc3NhZ2UgfCBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2UgfCBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHNNZXNzYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNZXNzYWdlIHtcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcbiAgdG9BZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogQ29pbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGVnYXRlT3JVbmRlbGVnZXRlTWVzc2FnZSB7XG4gIGRlbGVnYXRvckFkZHJlc3M6IHN0cmluZztcbiAgdmFsaWRhdG9yQWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IENvaW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzTWVzc2FnZSB7XG4gIGRlbGVnYXRvckFkZHJlc3M6IHN0cmluZztcbiAgdmFsaWRhdG9yQWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZURhdGEge1xuICBhbW91bnQ6IENvaW5bXTtcbiAgZ2FzTGltaXQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIGV4dGVuZHMgQXRvbVRyYW5zYWN0aW9uIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBUcmFuc2FjdGlvblR5cGU7XG4gIGFjY291bnROdW1iZXI6IG51bWJlcjtcbiAgY2hhaW5JZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF0b21UcmFuc2FjdGlvbiB7XG4gIHJlYWRvbmx5IHNlcXVlbmNlOiBudW1iZXI7XG4gIHJlYWRvbmx5IHNlbmRNZXNzYWdlczogTWVzc2FnZURhdGFbXTtcbiAgcmVhZG9ubHkgZ2FzQnVkZ2V0OiBGZWVEYXRhO1xuICByZWFkb25seSBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNpZ25hdHVyZT86IFVpbnQ4QXJyYXk7XG4gIHJlYWRvbmx5IGhhc2g/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { BaseKey, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
4
|
-
import { AtomTransaction, TransactionExplanation, TxData } from './iface';
|
|
5
|
-
export declare class Transaction extends BaseTransaction {
|
|
6
|
-
private _atomTransaction;
|
|
7
|
-
private _accountNumber;
|
|
8
|
-
private _chainId;
|
|
9
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
-
get atomTransaction(): AtomTransaction;
|
|
11
|
-
set atomTransaction(atomTransaction: Readonly<AtomTransaction>);
|
|
12
|
-
get chainId(): string;
|
|
13
|
-
set chainId(chainId: string);
|
|
14
|
-
get accountNumber(): number;
|
|
15
|
-
set accountNumber(accountNumber: number);
|
|
16
|
-
/** @inheritDoc **/
|
|
17
|
-
get id(): string;
|
|
18
|
-
/** @inheritdoc */
|
|
19
|
-
canSign(key: BaseKey): boolean;
|
|
20
|
-
/** @inheritdoc */
|
|
21
|
-
toBroadcastFormat(): string;
|
|
22
|
-
/** @inheritdoc */
|
|
23
|
-
toJson(): TxData;
|
|
24
|
-
/** @inheritDoc */
|
|
25
|
-
explainTransaction(): TransactionExplanation;
|
|
26
|
-
/**
|
|
27
|
-
* Set the transaction type.
|
|
28
|
-
* @param {TransactionType} transactionType The transaction type to be set.
|
|
29
|
-
*/
|
|
30
|
-
transactionType(transactionType: TransactionType): void;
|
|
31
|
-
/**
|
|
32
|
-
* Sets this transaction payload
|
|
33
|
-
* @param rawTransaction raw transaction in base64 encoded string
|
|
34
|
-
*/
|
|
35
|
-
enrichTransactionDetailsFromRawTransaction(rawTransaction: string): void;
|
|
36
|
-
/**
|
|
37
|
-
* Add a signature to the transaction
|
|
38
|
-
* @param {string} signature in hex format
|
|
39
|
-
*/
|
|
40
|
-
addSignature(signature: string): void;
|
|
41
|
-
/**
|
|
42
|
-
* Serialize the transaction to a JSON string
|
|
43
|
-
* @returns {string} serialized base64 encoded transaction
|
|
44
|
-
*/
|
|
45
|
-
serialize(): string;
|
|
46
|
-
/** @inheritdoc **/
|
|
47
|
-
get signablePayload(): Buffer;
|
|
48
|
-
/**
|
|
49
|
-
* Returns a complete explanation for a transfer transaction
|
|
50
|
-
* Currently only supports one message per transfer.
|
|
51
|
-
* @param {TxData} json The transaction data in json format
|
|
52
|
-
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
53
|
-
* @returns {TransactionExplanation}
|
|
54
|
-
*/
|
|
55
|
-
explainTransactionInternal(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAIf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAM7D,OAAO,EACL,eAAe,EAGf,sBAAsB,EACtB,MAAM,EAEP,MAAM,SAAS,CAAC;AAGjB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,EAE7D;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAE1B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,EAEtC;IAED,mBAAmB;IACnB,IAAI,EAAE,IAAI,MAAM,CAOf;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAmBhB,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAkB5C;;;OAGG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIvD;;;OAGG;IACH,0CAA0C,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQxE;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM;IAK9B;;;OAGG;IACH,SAAS,IAAI,MAAM;IASnB,mBAAmB;IACnB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;CAyD5G"}
|
|
@@ -1,202 +0,0 @@
|
|
|
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.Transaction = void 0;
|
|
7
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
-
const encoding_1 = require("@cosmjs/encoding");
|
|
9
|
-
const proto_signing_1 = require("@cosmjs/proto-signing");
|
|
10
|
-
const tx_1 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
|
|
11
|
-
const constants_1 = require("./constants");
|
|
12
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
13
|
-
class Transaction extends sdk_core_1.BaseTransaction {
|
|
14
|
-
constructor(_coinConfig) {
|
|
15
|
-
super(_coinConfig);
|
|
16
|
-
}
|
|
17
|
-
get atomTransaction() {
|
|
18
|
-
return this._atomTransaction;
|
|
19
|
-
}
|
|
20
|
-
set atomTransaction(atomTransaction) {
|
|
21
|
-
this._atomTransaction = atomTransaction;
|
|
22
|
-
}
|
|
23
|
-
get chainId() {
|
|
24
|
-
return this._chainId;
|
|
25
|
-
}
|
|
26
|
-
set chainId(chainId) {
|
|
27
|
-
this._chainId = chainId;
|
|
28
|
-
}
|
|
29
|
-
get accountNumber() {
|
|
30
|
-
return this._accountNumber;
|
|
31
|
-
}
|
|
32
|
-
set accountNumber(accountNumber) {
|
|
33
|
-
this._accountNumber = accountNumber;
|
|
34
|
-
}
|
|
35
|
-
/** @inheritDoc **/
|
|
36
|
-
get id() {
|
|
37
|
-
var _a;
|
|
38
|
-
if (this._id) {
|
|
39
|
-
return this._id;
|
|
40
|
-
}
|
|
41
|
-
else if (((_a = this._atomTransaction) === null || _a === void 0 ? void 0 : _a.hash) !== undefined) {
|
|
42
|
-
return this._atomTransaction.hash;
|
|
43
|
-
}
|
|
44
|
-
return constants_1.UNAVAILABLE_TEXT;
|
|
45
|
-
}
|
|
46
|
-
/** @inheritdoc */
|
|
47
|
-
canSign(key) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
/** @inheritdoc */
|
|
51
|
-
toBroadcastFormat() {
|
|
52
|
-
if (!this._atomTransaction) {
|
|
53
|
-
throw new sdk_core_1.InvalidTransactionError('Empty transaction');
|
|
54
|
-
}
|
|
55
|
-
return this.serialize();
|
|
56
|
-
}
|
|
57
|
-
/** @inheritdoc */
|
|
58
|
-
toJson() {
|
|
59
|
-
if (!this._atomTransaction) {
|
|
60
|
-
throw new sdk_core_1.ParseTransactionError('Empty transaction');
|
|
61
|
-
}
|
|
62
|
-
const tx = this._atomTransaction;
|
|
63
|
-
return {
|
|
64
|
-
id: this.id,
|
|
65
|
-
type: this._type,
|
|
66
|
-
sequence: tx.sequence,
|
|
67
|
-
sendMessages: tx.sendMessages,
|
|
68
|
-
gasBudget: tx.gasBudget,
|
|
69
|
-
publicKey: tx.publicKey,
|
|
70
|
-
signature: tx.signature,
|
|
71
|
-
accountNumber: this._accountNumber,
|
|
72
|
-
chainId: this._chainId,
|
|
73
|
-
hash: tx.hash,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
/** @inheritDoc */
|
|
77
|
-
explainTransaction() {
|
|
78
|
-
const result = this.toJson();
|
|
79
|
-
const displayOrder = ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'];
|
|
80
|
-
const outputs = [];
|
|
81
|
-
const explanationResult = {
|
|
82
|
-
displayOrder,
|
|
83
|
-
id: this.id,
|
|
84
|
-
outputs,
|
|
85
|
-
outputAmount: '0',
|
|
86
|
-
changeOutputs: [],
|
|
87
|
-
changeAmount: '0',
|
|
88
|
-
fee: { fee: this.atomTransaction.gasBudget.amount[0].amount },
|
|
89
|
-
type: this.type,
|
|
90
|
-
};
|
|
91
|
-
return this.explainTransactionInternal(result, explanationResult);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Set the transaction type.
|
|
95
|
-
* @param {TransactionType} transactionType The transaction type to be set.
|
|
96
|
-
*/
|
|
97
|
-
transactionType(transactionType) {
|
|
98
|
-
this._type = transactionType;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Sets this transaction payload
|
|
102
|
-
* @param rawTransaction raw transaction in base64 encoded string
|
|
103
|
-
*/
|
|
104
|
-
enrichTransactionDetailsFromRawTransaction(rawTransaction) {
|
|
105
|
-
this.atomTransaction = utils_1.default.deserializeAtomTransaction(rawTransaction);
|
|
106
|
-
if (this.atomTransaction.signature) {
|
|
107
|
-
this.addSignature(Buffer.from(this.atomTransaction.signature).toString('hex'));
|
|
108
|
-
}
|
|
109
|
-
this._type = utils_1.default.getTransactionTypeFromTypeUrl(this._atomTransaction.sendMessages[0].typeUrl);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Add a signature to the transaction
|
|
113
|
-
* @param {string} signature in hex format
|
|
114
|
-
*/
|
|
115
|
-
addSignature(signature) {
|
|
116
|
-
this._signatures = [];
|
|
117
|
-
this._signatures.push(signature);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Serialize the transaction to a JSON string
|
|
121
|
-
* @returns {string} serialized base64 encoded transaction
|
|
122
|
-
*/
|
|
123
|
-
serialize() {
|
|
124
|
-
var _a;
|
|
125
|
-
const txRaw = utils_1.default.createTxRawFromAtomTransaction(this.atomTransaction);
|
|
126
|
-
if (((_a = this.atomTransaction) === null || _a === void 0 ? void 0 : _a.publicKey) !== undefined && this._signatures.length > 0) {
|
|
127
|
-
const signedRawTx = utils_1.default.createSignedTxRaw(this.atomTransaction.publicKey, this._signatures[0], txRaw);
|
|
128
|
-
return encoding_1.toBase64(tx_1.TxRaw.encode(signedRawTx).finish());
|
|
129
|
-
}
|
|
130
|
-
return encoding_1.toBase64(tx_1.TxRaw.encode(txRaw).finish());
|
|
131
|
-
}
|
|
132
|
-
/** @inheritdoc **/
|
|
133
|
-
get signablePayload() {
|
|
134
|
-
return Buffer.from(proto_signing_1.makeSignBytes(utils_1.default.createSignDoc(this.atomTransaction, this._accountNumber, this._chainId)));
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Returns a complete explanation for a transfer transaction
|
|
138
|
-
* Currently only supports one message per transfer.
|
|
139
|
-
* @param {TxData} json The transaction data in json format
|
|
140
|
-
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
141
|
-
* @returns {TransactionExplanation}
|
|
142
|
-
*/
|
|
143
|
-
explainTransactionInternal(json, explanationResult) {
|
|
144
|
-
let outputs;
|
|
145
|
-
let message;
|
|
146
|
-
let outputAmount;
|
|
147
|
-
switch (json.type) {
|
|
148
|
-
case sdk_core_1.TransactionType.Send:
|
|
149
|
-
explanationResult.type = sdk_core_1.TransactionType.Send;
|
|
150
|
-
message = json.sendMessages[0].value;
|
|
151
|
-
outputAmount = message.amount[0].amount;
|
|
152
|
-
outputs = [
|
|
153
|
-
{
|
|
154
|
-
address: message.toAddress,
|
|
155
|
-
amount: outputAmount,
|
|
156
|
-
},
|
|
157
|
-
];
|
|
158
|
-
break;
|
|
159
|
-
case sdk_core_1.TransactionType.StakingActivate:
|
|
160
|
-
explanationResult.type = sdk_core_1.TransactionType.StakingActivate;
|
|
161
|
-
message = json.sendMessages[0].value;
|
|
162
|
-
outputAmount = message.amount.amount;
|
|
163
|
-
outputs = [
|
|
164
|
-
{
|
|
165
|
-
address: message.validatorAddress,
|
|
166
|
-
amount: outputAmount,
|
|
167
|
-
},
|
|
168
|
-
];
|
|
169
|
-
break;
|
|
170
|
-
case sdk_core_1.TransactionType.StakingDeactivate:
|
|
171
|
-
explanationResult.type = sdk_core_1.TransactionType.StakingDeactivate;
|
|
172
|
-
message = json.sendMessages[0].value;
|
|
173
|
-
outputAmount = message.amount.amount;
|
|
174
|
-
outputs = [
|
|
175
|
-
{
|
|
176
|
-
address: message.validatorAddress,
|
|
177
|
-
amount: outputAmount,
|
|
178
|
-
},
|
|
179
|
-
];
|
|
180
|
-
break;
|
|
181
|
-
case sdk_core_1.TransactionType.StakingWithdraw:
|
|
182
|
-
explanationResult.type = sdk_core_1.TransactionType.StakingWithdraw;
|
|
183
|
-
message = json.sendMessages[0].value;
|
|
184
|
-
outputs = [
|
|
185
|
-
{
|
|
186
|
-
address: message.validatorAddress,
|
|
187
|
-
amount: constants_1.UNAVAILABLE_TEXT,
|
|
188
|
-
},
|
|
189
|
-
];
|
|
190
|
-
break;
|
|
191
|
-
default:
|
|
192
|
-
throw new sdk_core_1.InvalidTransactionError('Transaction type not supported');
|
|
193
|
-
}
|
|
194
|
-
return {
|
|
195
|
-
...explanationResult,
|
|
196
|
-
outputAmount,
|
|
197
|
-
outputs,
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
exports.Transaction = Transaction;
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQU84QjtBQUU5QiwrQ0FBNEM7QUFDNUMseURBQXNEO0FBQ3RELDBEQUEwRDtBQUUxRCwyQ0FBK0M7QUFTL0Msb0RBQTRCO0FBRTVCLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBSzlDLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLGVBQTBDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUFxQjtRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLElBQUksRUFBRTs7UUFDSixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDakI7YUFBTSxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLElBQUksTUFBSyxTQUFTLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1NBQ25DO1FBQ0QsT0FBTyw0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Z0JBQ2xDLGlCQUFpQixDQUFDLElBQUksR0FBRywwQkFBZSxDQUFDLGVBQWUsQ0FBQztnQkFDekQsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBd0MsQ0FBQztnQkFDeEUsT0FBTyxHQUFHO29CQUNSO3dCQUNFLE9BQU8sRUFBRSxPQUFPLENBQUMsZ0JBQWdCO3dCQUNqQyxNQUFNLEVBQUUsNEJBQWdCO3FCQUN6QjtpQkFDRixDQUFDO2dCQUNGLE1BQU07WUFDUjtnQkFDRSxNQUFNLElBQUksa0NBQXVCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUN2RTtRQUNELE9BQU87WUFDTCxHQUFHLGlCQUFpQjtZQUNwQixZQUFZO1lBQ1osT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE5TUQsa0NBOE1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUGFyc2VUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyB0b0Jhc2U2NCB9IGZyb20gJ0Bjb3NtanMvZW5jb2RpbmcnO1xuaW1wb3J0IHsgbWFrZVNpZ25CeXRlcyB9IGZyb20gJ0Bjb3NtanMvcHJvdG8tc2lnbmluZyc7XG5pbXBvcnQgeyBUeFJhdyB9IGZyb20gJ2Nvc21qcy10eXBlcy9jb3Ntb3MvdHgvdjFiZXRhMS90eCc7XG5cbmltcG9ydCB7IFVOQVZBSUxBQkxFX1RFWFQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBdG9tVHJhbnNhY3Rpb24sXG4gIERlbGVnYXRlT3JVbmRlbGVnZXRlTWVzc2FnZSxcbiAgU2VuZE1lc3NhZ2UsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFR4RGF0YSxcbiAgV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzTWVzc2FnZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByaXZhdGUgX2F0b21UcmFuc2FjdGlvbjogQXRvbVRyYW5zYWN0aW9uO1xuICBwcml2YXRlIF9hY2NvdW50TnVtYmVyOiBudW1iZXI7XG4gIHByaXZhdGUgX2NoYWluSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXQgYXRvbVRyYW5zYWN0aW9uKCk6IEF0b21UcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0b21UcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCBhdG9tVHJhbnNhY3Rpb24oYXRvbVRyYW5zYWN0aW9uOiBSZWFkb25seTxBdG9tVHJhbnNhY3Rpb24+KSB7XG4gICAgdGhpcy5fYXRvbVRyYW5zYWN0aW9uID0gYXRvbVRyYW5zYWN0aW9uO1xuICB9XG5cbiAgZ2V0IGNoYWluSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY2hhaW5JZDtcbiAgfVxuXG4gIHNldCBjaGFpbklkKGNoYWluSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX2NoYWluSWQgPSBjaGFpbklkO1xuICB9XG5cbiAgZ2V0IGFjY291bnROdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fYWNjb3VudE51bWJlcjtcbiAgfVxuXG4gIHNldCBhY2NvdW50TnVtYmVyKGFjY291bnROdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMuX2FjY291bnROdW1iZXIgPSBhY2NvdW50TnVtYmVyO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5faWQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pZDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2F0b21UcmFuc2FjdGlvbj8uaGFzaCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXRvbVRyYW5zYWN0aW9uLmhhc2g7XG4gICAgfVxuICAgIHJldHVybiBVTkFWQUlMQUJMRV9URVhUO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2F0b21UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX2F0b21UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgdHggPSB0aGlzLl9hdG9tVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgdHlwZTogdGhpcy5fdHlwZSxcbiAgICAgIHNlcXVlbmNlOiB0eC5zZXF1ZW5jZSxcbiAgICAgIHNlbmRNZXNzYWdlczogdHguc2VuZE1lc3NhZ2VzLFxuICAgICAgZ2FzQnVkZ2V0OiB0eC5nYXNCdWRnZXQsXG4gICAgICBwdWJsaWNLZXk6IHR4LnB1YmxpY0tleSxcbiAgICAgIHNpZ25hdHVyZTogdHguc2lnbmF0dXJlLFxuICAgICAgYWNjb3VudE51bWJlcjogdGhpcy5fYWNjb3VudE51bWJlcixcbiAgICAgIGNoYWluSWQ6IHRoaXMuX2NoYWluSWQsXG4gICAgICBoYXNoOiB0eC5oYXNoLFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gWydpZCcsICdvdXRwdXRzJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VPdXRwdXRzJywgJ2NoYW5nZUFtb3VudCcsICdmZWUnLCAndHlwZSddO1xuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSBbXTtcblxuICAgIGNvbnN0IGV4cGxhbmF0aW9uUmVzdWx0OiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uID0ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgb3V0cHV0QW1vdW50OiAnMCcsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgICAgZmVlOiB7IGZlZTogdGhpcy5hdG9tVHJhbnNhY3Rpb24uZ2FzQnVkZ2V0LmFtb3VudFswXS5hbW91bnQgfSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmV4cGxhaW5UcmFuc2FjdGlvbkludGVybmFsKHJlc3VsdCwgZXhwbGFuYXRpb25SZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblR5cGV9IHRyYW5zYWN0aW9uVHlwZSBUaGUgdHJhbnNhY3Rpb24gdHlwZSB0byBiZSBzZXQuXG4gICAqL1xuICB0cmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb25UeXBlOiBUcmFuc2FjdGlvblR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLl90eXBlID0gdHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhpcyB0cmFuc2FjdGlvbiBwYXlsb2FkXG4gICAqIEBwYXJhbSByYXdUcmFuc2FjdGlvbiByYXcgdHJhbnNhY3Rpb24gaW4gYmFzZTY0IGVuY29kZWQgc3RyaW5nXG4gICAqL1xuICBlbnJpY2hUcmFuc2FjdGlvbkRldGFpbHNGcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYXRvbVRyYW5zYWN0aW9uID0gdXRpbHMuZGVzZXJpYWxpemVBdG9tVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLmF0b21UcmFuc2FjdGlvbi5zaWduYXR1cmUpIHtcbiAgICAgIHRoaXMuYWRkU2lnbmF0dXJlKEJ1ZmZlci5mcm9tKHRoaXMuYXRvbVRyYW5zYWN0aW9uLnNpZ25hdHVyZSkudG9TdHJpbmcoJ2hleCcpKTtcbiAgICB9XG4gICAgdGhpcy5fdHlwZSA9IHV0aWxzLmdldFRyYW5zYWN0aW9uVHlwZUZyb21UeXBlVXJsKHRoaXMuX2F0b21UcmFuc2FjdGlvbi5zZW5kTWVzc2FnZXNbMF0udHlwZVVybCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgc2lnbmF0dXJlIHRvIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2lnbmF0dXJlIGluIGhleCBmb3JtYXRcbiAgICovXG4gIGFkZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZykge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbXTtcbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIHRyYW5zYWN0aW9uIHRvIGEgSlNPTiBzdHJpbmdcbiAgICogQHJldHVybnMge3N0cmluZ30gc2VyaWFsaXplZCBiYXNlNjQgZW5jb2RlZCB0cmFuc2FjdGlvblxuICAgKi9cbiAgc2VyaWFsaXplKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdHhSYXcgPSB1dGlscy5jcmVhdGVUeFJhd0Zyb21BdG9tVHJhbnNhY3Rpb24odGhpcy5hdG9tVHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLmF0b21UcmFuc2FjdGlvbj8ucHVibGljS2V5ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fc2lnbmF0dXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBzaWduZWRSYXdUeCA9IHV0aWxzLmNyZWF0ZVNpZ25lZFR4UmF3KHRoaXMuYXRvbVRyYW5zYWN0aW9uLnB1YmxpY0tleSwgdGhpcy5fc2lnbmF0dXJlc1swXSwgdHhSYXcpO1xuICAgICAgcmV0dXJuIHRvQmFzZTY0KFR4UmF3LmVuY29kZShzaWduZWRSYXdUeCkuZmluaXNoKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdG9CYXNlNjQoVHhSYXcuZW5jb2RlKHR4UmF3KS5maW5pc2goKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKiovXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20obWFrZVNpZ25CeXRlcyh1dGlscy5jcmVhdGVTaWduRG9jKHRoaXMuYXRvbVRyYW5zYWN0aW9uLCB0aGlzLl9hY2NvdW50TnVtYmVyLCB0aGlzLl9jaGFpbklkKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb21wbGV0ZSBleHBsYW5hdGlvbiBmb3IgYSB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgKiBDdXJyZW50bHkgb25seSBzdXBwb3J0cyBvbmUgbWVzc2FnZSBwZXIgdHJhbnNmZXIuXG4gICAqIEBwYXJhbSB7VHhEYXRhfSBqc29uIFRoZSB0cmFuc2FjdGlvbiBkYXRhIGluIGpzb24gZm9ybWF0XG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25FeHBsYW5hdGlvbn0gZXhwbGFuYXRpb25SZXN1bHQgVGhlIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uIHRvIGJlIGNvbXBsZXRlZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25FeHBsYW5hdGlvbn1cbiAgICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbkludGVybmFsKGpzb246IFR4RGF0YSwgZXhwbGFuYXRpb25SZXN1bHQ6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24pOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBsZXQgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgICBsZXQgbWVzc2FnZTtcbiAgICBsZXQgb3V0cHV0QW1vdW50O1xuICAgIHN3aXRjaCAoanNvbi50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgICBleHBsYW5hdGlvblJlc3VsdC50eXBlID0gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gICAgICAgIG1lc3NhZ2UgPSBqc29uLnNlbmRNZXNzYWdlc1swXS52YWx1ZSBhcyBTZW5kTWVzc2FnZTtcbiAgICAgICAgb3V0cHV0QW1vdW50ID0gbWVzc2FnZS5hbW91bnRbMF0uYW1vdW50O1xuICAgICAgICBvdXRwdXRzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IG1lc3NhZ2UudG9BZGRyZXNzLFxuICAgICAgICAgICAgYW1vdW50OiBvdXRwdXRBbW91bnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU6XG4gICAgICAgIGV4cGxhbmF0aW9uUmVzdWx0LnR5cGUgPSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlO1xuICAgICAgICBtZXNzYWdlID0ganNvbi5zZW5kTWVzc2FnZXNbMF0udmFsdWUgYXMgRGVsZWdhdGVPclVuZGVsZWdldGVNZXNzYWdlO1xuICAgICAgICBvdXRwdXRBbW91bnQgPSBtZXNzYWdlLmFtb3VudC5hbW91bnQ7XG4gICAgICAgIG91dHB1dHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogbWVzc2FnZS52YWxpZGF0b3JBZGRyZXNzLFxuICAgICAgICAgICAgYW1vdW50OiBvdXRwdXRBbW91bnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTpcbiAgICAgICAgZXhwbGFuYXRpb25SZXN1bHQudHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTtcbiAgICAgICAgbWVzc2FnZSA9IGpzb24uc2VuZE1lc3NhZ2VzWzBdLnZhbHVlIGFzIERlbGVnYXRlT3JVbmRlbGVnZXRlTWVzc2FnZTtcbiAgICAgICAgb3V0cHV0QW1vdW50ID0gbWVzc2FnZS5hbW91bnQuYW1vdW50O1xuICAgICAgICBvdXRwdXRzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IG1lc3NhZ2UudmFsaWRhdG9yQWRkcmVzcyxcbiAgICAgICAgICAgIGFtb3VudDogb3V0cHV0QW1vdW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3OlxuICAgICAgICBleHBsYW5hdGlvblJlc3VsdC50eXBlID0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdztcbiAgICAgICAgbWVzc2FnZSA9IGpzb24uc2VuZE1lc3NhZ2VzWzBdLnZhbHVlIGFzIFdpdGhkcmF3RGVsZWdhdG9yUmV3YXJkc01lc3NhZ2U7XG4gICAgICAgIG91dHB1dHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogbWVzc2FnZS52YWxpZGF0b3JBZGRyZXNzLFxuICAgICAgICAgICAgYW1vdW50OiBVTkFWQUlMQUJMRV9URVhULFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiB0eXBlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmV4cGxhbmF0aW9uUmVzdWx0LFxuICAgICAgb3V0cHV0QW1vdW50LFxuICAgICAgb3V0cHV0cyxcbiAgICB9O1xuICB9XG59XG4iXX0=
|