@bitgo-beta/sdk-coin-celo 1.3.3-alpha.43 → 1.3.3-alpha.430
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/celo.d.ts +4 -1
- package/dist/src/celo.d.ts.map +1 -1
- package/dist/src/celo.js +16 -1
- package/dist/src/celoToken.d.ts +1 -1
- package/dist/src/celoToken.d.ts.map +1 -1
- package/dist/src/celoToken.js +3 -3
- package/dist/src/index.js +6 -2
- package/dist/src/lib/index.d.ts +2 -1
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +28 -12
- package/dist/src/lib/resources.d.ts.map +1 -1
- package/dist/src/lib/resources.js +10 -7
- package/dist/src/lib/stakingBuilder.js +37 -23
- package/dist/src/lib/testnetTransactionBuilder.d.ts +15 -0
- package/dist/src/lib/testnetTransactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/testnetTransactionBuilder.js +68 -0
- package/dist/src/lib/transactionBuilder.d.ts +1 -7
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +6 -15
- package/dist/src/lib/utils.d.ts +0 -10
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +3 -72
- package/dist/src/tcelo.d.ts +2 -0
- package/dist/src/tcelo.d.ts.map +1 -1
- package/dist/src/tcelo.js +6 -1
- package/dist/test/resources/celo.d.ts +75 -0
- package/dist/test/resources/celo.d.ts.map +1 -0
- package/dist/test/resources/celo.js +93 -0
- package/dist/test/unit/celo.d.ts +2 -0
- package/dist/test/unit/celo.d.ts.map +1 -0
- package/dist/test/unit/celo.js +42 -0
- package/dist/test/unit/celoToken.d.ts +2 -0
- package/dist/test/unit/celoToken.d.ts.map +1 -0
- package/dist/test/unit/celoToken.js +31 -0
- package/dist/test/unit/getBuilder.d.ts +3 -0
- package/dist/test/unit/getBuilder.d.ts.map +1 -0
- package/dist/test/unit/getBuilder.js +10 -0
- package/dist/test/unit/stakingBuilder.d.ts +2 -0
- package/dist/test/unit/stakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/stakingBuilder.js +247 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.js +107 -0
- package/dist/test/unit/transactionBuilder/send.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/send.js +379 -0
- package/dist/test/unit/transactionBuilder/singleSigSend.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/singleSigSend.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/singleSigSend.js +86 -0
- package/dist/test/unit/transactionBuilder/staking.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/staking.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/staking.js +345 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.js +135 -0
- package/dist/test/unit/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transferBuilder.js +102 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +18 -17
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -112
- package/dist/src/lib/transaction.d.ts +0 -9
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -37
- package/dist/src/lib/types.d.ts +0 -51
- package/dist/src/lib/types.d.ts.map +0 -1
- package/dist/src/lib/types.js +0 -223
package/dist/src/celo.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @prettier
|
|
3
3
|
*/
|
|
4
|
-
import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
|
|
4
|
+
import { BaseCoin, BitGoBase, MultisigType, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
|
|
5
5
|
import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
|
|
6
6
|
import { AbstractEthLikeCoin } from '@bitgo-beta/abstract-eth';
|
|
7
7
|
import { TransactionBuilder } from './lib';
|
|
@@ -9,6 +9,9 @@ export declare class Celo extends AbstractEthLikeCoin {
|
|
|
9
9
|
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
10
10
|
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
11
11
|
isValidPub(pub: string): boolean;
|
|
12
|
+
/** inherited doc */
|
|
13
|
+
getDefaultMultisigType(): MultisigType;
|
|
12
14
|
protected getTransactionBuilder(): TransactionBuilder;
|
|
15
|
+
verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
|
|
13
16
|
}
|
|
14
17
|
//# sourceMappingURL=celo.d.ts.map
|
package/dist/src/celo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"celo.d.ts","sourceRoot":"","sources":["../../src/celo.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"celo.d.ts","sourceRoot":"","sources":["../../src/celo.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAiB,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAW,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAEpD,qBAAa,IAAK,SAAQ,mBAAmB;IAC3C,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUhC,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAI/C,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;CAS5E"}
|
package/dist/src/celo.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Celo = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @prettier
|
|
6
|
+
*/
|
|
7
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
4
8
|
const statics_1 = require("@bitgo-beta/statics");
|
|
5
9
|
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
6
10
|
const lib_1 = require("./lib");
|
|
@@ -21,9 +25,20 @@ class Celo extends abstract_eth_1.AbstractEthLikeCoin {
|
|
|
21
25
|
}
|
|
22
26
|
return valid;
|
|
23
27
|
}
|
|
28
|
+
/** inherited doc */
|
|
29
|
+
getDefaultMultisigType() {
|
|
30
|
+
return sdk_core_1.multisigTypes.onchain;
|
|
31
|
+
}
|
|
24
32
|
getTransactionBuilder() {
|
|
25
33
|
return new lib_1.TransactionBuilder(statics_1.coins.get(this.getBaseChain()));
|
|
26
34
|
}
|
|
35
|
+
async verifyTransaction(params) {
|
|
36
|
+
const { txParams } = params;
|
|
37
|
+
if (Array.isArray(txParams.recipients) && txParams.recipients.length > 1) {
|
|
38
|
+
throw new Error(`${this.getChain()} doesn't support sending to more than 1 destination address within a single transaction. Try again, using only a single recipient.`);
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
27
42
|
}
|
|
28
43
|
exports.Celo = Celo;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Vsby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZWxvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsbURBQWtIO0FBQ2xILGlEQUF5RTtBQUN6RSwyREFBK0Q7QUFDL0QsK0JBQW9EO0FBRXBELE1BQWEsSUFBSyxTQUFRLGtDQUFtQjtJQUMzQyxZQUFzQixLQUFnQixFQUFFLFdBQXVDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQztZQUNILElBQUksYUFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixzQkFBc0I7UUFDcEIsT0FBTyx3QkFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSx3QkFBa0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFnQztRQUN0RCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekUsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsb0lBQW9JLENBQ3ZKLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFyQ0Qsb0JBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSwgTXVsdGlzaWdUeXBlLCBtdWx0aXNpZ1R5cGVzLCBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEV0aExpa2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IEtleVBhaXIsIFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vbGliJztcblxuZXhwb3J0IGNsYXNzIENlbG8gZXh0ZW5kcyBBYnN0cmFjdEV0aExpa2VDb2luIHtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgQ2VsbyhiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCB2YWxpZCA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIG5ldyBLZXlQYWlyKHsgcHViIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZDtcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZWQgZG9jICovXG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHtcbiAgICByZXR1cm4gbXVsdGlzaWdUeXBlcy5vbmNoYWluO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uQnVpbGRlcigpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKGNvaW5zLmdldCh0aGlzLmdldEJhc2VDaGFpbigpKSk7XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdHhQYXJhbXMgfSA9IHBhcmFtcztcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eFBhcmFtcy5yZWNpcGllbnRzKSAmJiB0eFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7dGhpcy5nZXRDaGFpbigpfSBkb2Vzbid0IHN1cHBvcnQgc2VuZGluZyB0byBtb3JlIHRoYW4gMSBkZXN0aW5hdGlvbiBhZGRyZXNzIHdpdGhpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbi4gVHJ5IGFnYWluLCB1c2luZyBvbmx5IGEgc2luZ2xlIHJlY2lwaWVudC5gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
package/dist/src/celoToken.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare class CeloToken extends Celo {
|
|
|
9
9
|
readonly tokenConfig: CeloTokenConfig;
|
|
10
10
|
constructor(bitgo: BitGoBase, tokenConfig: CeloTokenConfig);
|
|
11
11
|
static createTokenConstructor(config: CeloTokenConfig): CoinConstructor;
|
|
12
|
-
static createTokenConstructors(): NamedCoinConstructor[];
|
|
12
|
+
static createTokenConstructors(tokenConfigs?: CeloTokenConfig[]): NamedCoinConstructor[];
|
|
13
13
|
get type(): string;
|
|
14
14
|
get name(): string;
|
|
15
15
|
get coin(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"celoToken.d.ts","sourceRoot":"","sources":["../../src/celoToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAiB,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,qBAAa,SAAU,SAAQ,IAAI;IACjC,SAAgB,WAAW,EAAE,eAAe,CAAC;gBAEjC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe;IAM1D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe;IAIvE,MAAM,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"celoToken.d.ts","sourceRoot":"","sources":["../../src/celoToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAiB,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,qBAAa,SAAU,SAAQ,IAAI;IACjC,SAAgB,WAAW,EAAE,eAAe,CAAC;gBAEjC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe;IAM1D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe;IAIvE,MAAM,CAAC,uBAAuB,CAC5B,YAAY,GAAE,eAAe,EAAmE,GAC/F,oBAAoB,EAAE;IAUzB,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,WAEP;IAED,IAAI,OAAO,WAEV;IAED,IAAI,oBAAoB,WAEvB;IAED,IAAI,aAAa,WAEhB;IAED,QAAQ;IAIR,YAAY;IAIZ,WAAW;IAIX,aAAa;IAIb;;;OAGG;IACH,wBAAwB;IAIxB;;;OAGG;IACH,sBAAsB;CAGvB"}
|
package/dist/src/celoToken.js
CHANGED
|
@@ -15,9 +15,9 @@ class CeloToken extends celo_1.Celo {
|
|
|
15
15
|
static createTokenConstructor(config) {
|
|
16
16
|
return (bitgo) => new CeloToken(bitgo, config);
|
|
17
17
|
}
|
|
18
|
-
static createTokenConstructors() {
|
|
18
|
+
static createTokenConstructors(tokenConfigs = [...statics_1.tokens.bitcoin.celo.tokens, ...statics_1.tokens.testnet.celo.tokens]) {
|
|
19
19
|
const tokensCtors = [];
|
|
20
|
-
for (const token of
|
|
20
|
+
for (const token of tokenConfigs) {
|
|
21
21
|
const tokenConstructor = CeloToken.createTokenConstructor(token);
|
|
22
22
|
tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
|
|
23
23
|
tokensCtors.push({ name: token.tokenContractAddress, coinConstructor: tokenConstructor });
|
|
@@ -70,4 +70,4 @@ class CeloToken extends celo_1.Celo {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
exports.CeloToken = CeloToken;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Vsb1Rva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NlbG9Ub2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILGlDQUE4QjtBQUU5QixpREFBcUU7QUFJckUsTUFBYSxTQUFVLFNBQVEsV0FBSTtJQUdqQyxZQUFZLEtBQWdCLEVBQUUsV0FBNEI7UUFDeEQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0YsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQXVCO1FBQ25ELE9BQU8sQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsZUFBa0MsQ0FBQyxHQUFHLGdCQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRWhHLE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7UUFDL0MsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztZQUMxRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0I7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsc0JBQXNCO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBaEZELDhCQWdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IENlbG8gfSBmcm9tICcuL2NlbG8nO1xuaW1wb3J0IHsgQml0R29CYXNlLCBDb2luQ29uc3RydWN0b3IsIE5hbWVkQ29pbkNvbnN0cnVjdG9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ2Vsb1Rva2VuQ29uZmlnLCBjb2lucywgdG9rZW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmV4cG9ydCB7IENlbG9Ub2tlbkNvbmZpZyB9O1xuXG5leHBvcnQgY2xhc3MgQ2Vsb1Rva2VuIGV4dGVuZHMgQ2VsbyB7XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogQ2Vsb1Rva2VuQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHRva2VuQ29uZmlnOiBDZWxvVG9rZW5Db25maWcpIHtcbiAgICBjb25zdCBzdGF0aWNzQ29pbiA9IHRva2VuQ29uZmlnLm5ldHdvcmsgPT09ICdNYWlubmV0JyA/IGNvaW5zLmdldCgnY2VsbycpIDogY29pbnMuZ2V0KCd0Y2VsbycpO1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gICAgdGhpcy50b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVRva2VuQ29uc3RydWN0b3IoY29uZmlnOiBDZWxvVG9rZW5Db25maWcpOiBDb2luQ29uc3RydWN0b3Ige1xuICAgIHJldHVybiAoYml0Z286IEJpdEdvQmFzZSkgPT4gbmV3IENlbG9Ub2tlbihiaXRnbywgY29uZmlnKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhcbiAgICB0b2tlbkNvbmZpZ3M6IENlbG9Ub2tlbkNvbmZpZ1tdID0gWy4uLnRva2Vucy5iaXRjb2luLmNlbG8udG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5jZWxvLnRva2Vuc11cbiAgKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgY29uc3QgdG9rZW5zQ3RvcnM6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2VuQ29uZmlncykge1xuICAgICAgY29uc3QgdG9rZW5Db25zdHJ1Y3RvciA9IENlbG9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuKTtcbiAgICAgIHRva2Vuc0N0b3JzLnB1c2goeyBuYW1lOiB0b2tlbi50eXBlLCBjb2luQ29uc3RydWN0b3I6IHRva2VuQ29uc3RydWN0b3IgfSk7XG4gICAgICB0b2tlbnNDdG9ycy5wdXNoKHsgbmFtZTogdG9rZW4udG9rZW5Db250cmFjdEFkZHJlc3MsIGNvaW5Db25zdHJ1Y3RvcjogdG9rZW5Db25zdHJ1Y3RvciB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRva2Vuc0N0b3JzO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcudHlwZTtcbiAgfVxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLm5hbWU7XG4gIH1cblxuICBnZXQgY29pbigpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5jb2luO1xuICB9XG5cbiAgZ2V0IG5ldHdvcmsoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcubmV0d29yaztcbiAgfVxuXG4gIGdldCB0b2tlbkNvbnRyYWN0QWRkcmVzcygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy50b2tlbkNvbnRyYWN0QWRkcmVzcztcbiAgfVxuXG4gIGdldCBkZWNpbWFsUGxhY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmRlY2ltYWxQbGFjZXM7XG4gIH1cblxuICBnZXRDaGFpbigpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy50eXBlO1xuICB9XG5cbiAgZ2V0QmFzZUNoYWluKCkge1xuICAgIHJldHVybiB0aGlzLmNvaW47XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpIHtcbiAgICByZXR1cm4gJ0NlbG8gVG9rZW4nO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcyk7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyB2YWx1ZSBvZiAwXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCAwIHZhbHVlLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyBkYXRhIGFsb25nIHdpdGggdHJhbnNhY3Rpb25zXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCB0eCBkYXRhIChDRUxPKSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICB0cmFuc2FjdGlvbkRhdGFBbGxvd2VkKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
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];
|
|
@@ -15,4 +19,4 @@ __exportStar(require("./tcelo"), exports);
|
|
|
15
19
|
__exportStar(require("./celoToken"), exports);
|
|
16
20
|
__exportStar(require("./lib"), exports);
|
|
17
21
|
__exportStar(require("./register"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2QiwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLHdDQUFzQjtBQUN0Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NlbG8nO1xuZXhwb3J0ICogZnJvbSAnLi90Y2Vsbyc7XG5leHBvcnQgKiBmcm9tICcuL2NlbG9Ub2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbiJdfQ==
|
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { KeyPair, Interface } from '@bitgo-beta/sdk-coin-eth';
|
|
2
|
-
export { Transaction } from '
|
|
2
|
+
export { Transaction } from '@bitgo-beta/abstract-eth';
|
|
3
3
|
export { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
export { TestnetTransactionBuilder } from './testnetTransactionBuilder';
|
|
4
5
|
export { TransferBuilder } from './transferBuilder';
|
|
5
6
|
import * as Utils from './utils';
|
|
6
7
|
export { Utils };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,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,24 +15,36 @@ 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.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.Interface = exports.KeyPair = void 0;
|
|
36
|
+
exports.Utils = exports.TransferBuilder = exports.TestnetTransactionBuilder = exports.TransactionBuilder = exports.Transaction = exports.Interface = exports.KeyPair = void 0;
|
|
23
37
|
var sdk_coin_eth_1 = require("@bitgo-beta/sdk-coin-eth");
|
|
24
38
|
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return sdk_coin_eth_1.KeyPair; } });
|
|
25
39
|
Object.defineProperty(exports, "Interface", { enumerable: true, get: function () { return sdk_coin_eth_1.Interface; } });
|
|
26
|
-
var
|
|
27
|
-
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return
|
|
40
|
+
var abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
41
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return abstract_eth_1.Transaction; } });
|
|
28
42
|
var transactionBuilder_1 = require("./transactionBuilder");
|
|
29
43
|
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
44
|
+
var testnetTransactionBuilder_1 = require("./testnetTransactionBuilder");
|
|
45
|
+
Object.defineProperty(exports, "TestnetTransactionBuilder", { enumerable: true, get: function () { return testnetTransactionBuilder_1.TestnetTransactionBuilder; } });
|
|
30
46
|
var transferBuilder_1 = require("./transferBuilder");
|
|
31
47
|
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
|
|
32
48
|
const Utils = __importStar(require("./utils"));
|
|
33
49
|
exports.Utils = Utils;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUE4RDtBQUFyRCx1R0FBQSxPQUFPLE9BQUE7QUFBRSx5R0FBQSxTQUFTLE9BQUE7QUFDM0IseURBQXVEO0FBQTlDLDJHQUFBLFdBQVcsT0FBQTtBQUNwQiwyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFFeEIsK0NBQWlDO0FBRXhCLHNCQUFLIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgS2V5UGFpciwgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tZXRoJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRlc3RuZXRUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3Rlc3RuZXRUcmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuXG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgVXRpbHMgfTtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/lib/resources.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/lib/resources.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,aAAa,gBAWzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,gBAOzB,CAAC"}
|
|
@@ -9,18 +9,21 @@ const common_1 = __importDefault(require("@ethereumjs/common"));
|
|
|
9
9
|
/**
|
|
10
10
|
* A Common object defining the chain and the hardfork for CELO Testnet
|
|
11
11
|
*/
|
|
12
|
-
exports.testnetCommon = common_1.default.
|
|
13
|
-
|
|
14
|
-
name: 'alfajores',
|
|
12
|
+
exports.testnetCommon = common_1.default.custom({
|
|
13
|
+
name: 'celo sepolia testnet',
|
|
15
14
|
networkId: statics_1.coins.get('tcelo').network.chainId,
|
|
16
15
|
chainId: statics_1.coins.get('tcelo').network.chainId,
|
|
17
|
-
},
|
|
16
|
+
}, {
|
|
17
|
+
baseChain: 'sepolia',
|
|
18
|
+
hardfork: 'london',
|
|
19
|
+
eips: [1559],
|
|
20
|
+
});
|
|
18
21
|
/**
|
|
19
22
|
* A Common object defining the chain and the hardfork for CELO Mainnet
|
|
20
23
|
*/
|
|
21
|
-
exports.mainnetCommon = common_1.default.
|
|
24
|
+
exports.mainnetCommon = common_1.default.custom({
|
|
22
25
|
name: 'rc1',
|
|
23
26
|
networkId: statics_1.coins.get('celo').network.chainId,
|
|
24
27
|
chainId: statics_1.coins.get('celo').network.chainId,
|
|
25
|
-
}, '
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
}, { hardfork: 'london' });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaURBQTZEO0FBQzdELGdFQUFnRDtBQUVoRDs7R0FFRztBQUNVLFFBQUEsYUFBYSxHQUFHLGdCQUFjLENBQUMsTUFBTSxDQUNoRDtJQUNFLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsU0FBUyxFQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBMkIsQ0FBQyxPQUFPO0lBQ2xFLE9BQU8sRUFBRyxlQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQTJCLENBQUMsT0FBTztDQUNqRSxFQUNEO0lBQ0UsU0FBUyxFQUFFLFNBQVM7SUFDcEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO0NBQ2IsQ0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGFBQWEsR0FBRyxnQkFBYyxDQUFDLE1BQU0sQ0FDaEQ7SUFDRSxJQUFJLEVBQUUsS0FBSztJQUNYLFNBQVMsRUFBRyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQTJCLENBQUMsT0FBTztJQUNqRSxPQUFPLEVBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUEyQixDQUFDLE9BQU87Q0FDaEUsRUFDRCxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zLCBFdGhlcmV1bU5ldHdvcmsgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBFdGhlcmV1bUNvbW1vbiBmcm9tICdAZXRoZXJldW1qcy9jb21tb24nO1xuXG4vKipcbiAqIEEgQ29tbW9uIG9iamVjdCBkZWZpbmluZyB0aGUgY2hhaW4gYW5kIHRoZSBoYXJkZm9yayBmb3IgQ0VMTyBUZXN0bmV0XG4gKi9cbmV4cG9ydCBjb25zdCB0ZXN0bmV0Q29tbW9uID0gRXRoZXJldW1Db21tb24uY3VzdG9tKFxuICB7XG4gICAgbmFtZTogJ2NlbG8gc2Vwb2xpYSB0ZXN0bmV0JyxcbiAgICBuZXR3b3JrSWQ6IChjb2lucy5nZXQoJ3RjZWxvJykubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQsXG4gICAgY2hhaW5JZDogKGNvaW5zLmdldCgndGNlbG8nKS5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCxcbiAgfSxcbiAge1xuICAgIGJhc2VDaGFpbjogJ3NlcG9saWEnLFxuICAgIGhhcmRmb3JrOiAnbG9uZG9uJyxcbiAgICBlaXBzOiBbMTU1OV0sXG4gIH1cbik7XG5cbi8qKlxuICogQSBDb21tb24gb2JqZWN0IGRlZmluaW5nIHRoZSBjaGFpbiBhbmQgdGhlIGhhcmRmb3JrIGZvciBDRUxPIE1haW5uZXRcbiAqL1xuZXhwb3J0IGNvbnN0IG1haW5uZXRDb21tb24gPSBFdGhlcmV1bUNvbW1vbi5jdXN0b20oXG4gIHtcbiAgICBuYW1lOiAncmMxJyxcbiAgICBuZXR3b3JrSWQ6IChjb2lucy5nZXQoJ2NlbG8nKS5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCxcbiAgICBjaGFpbklkOiAoY29pbnMuZ2V0KCdjZWxvJykubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQsXG4gIH0sXG4gIHsgaGFyZGZvcms6ICdsb25kb24nIH1cbik7XG4iXX0=
|
|
@@ -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,13 +15,23 @@ 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
36
|
exports.StakingBuilder = void 0;
|
|
23
37
|
const ethUtil = __importStar(require("ethereumjs-util"));
|
|
@@ -40,28 +54,28 @@ class StakingBuilder {
|
|
|
40
54
|
return this;
|
|
41
55
|
}
|
|
42
56
|
amount(value) {
|
|
43
|
-
if (!sdk_coin_eth_1.isValidAmount(value)) {
|
|
57
|
+
if (!(0, sdk_coin_eth_1.isValidAmount)(value)) {
|
|
44
58
|
throw new sdk_core_1.InvalidParameterValueError('Invalid value for stake transaction');
|
|
45
59
|
}
|
|
46
60
|
this._amount = value;
|
|
47
61
|
return this;
|
|
48
62
|
}
|
|
49
63
|
group(validatorGroup) {
|
|
50
|
-
if (!sdk_coin_eth_1.isValidEthAddress(validatorGroup)) {
|
|
64
|
+
if (!(0, sdk_coin_eth_1.isValidEthAddress)(validatorGroup)) {
|
|
51
65
|
throw new sdk_core_1.InvalidParameterValueError('Invalid validator group address');
|
|
52
66
|
}
|
|
53
67
|
this._validatorGroup = validatorGroup;
|
|
54
68
|
return this;
|
|
55
69
|
}
|
|
56
70
|
lesser(lesser) {
|
|
57
|
-
if (!sdk_coin_eth_1.isValidEthAddress(lesser)) {
|
|
71
|
+
if (!(0, sdk_coin_eth_1.isValidEthAddress)(lesser)) {
|
|
58
72
|
throw new sdk_core_1.InvalidParameterValueError('Invalid address for lesser');
|
|
59
73
|
}
|
|
60
74
|
this._lesser = lesser;
|
|
61
75
|
return this;
|
|
62
76
|
}
|
|
63
77
|
greater(greater) {
|
|
64
|
-
if (!sdk_coin_eth_1.isValidEthAddress(greater)) {
|
|
78
|
+
if (!(0, sdk_coin_eth_1.isValidEthAddress)(greater)) {
|
|
65
79
|
throw new sdk_core_1.InvalidParameterValueError('Invalid address for greater');
|
|
66
80
|
}
|
|
67
81
|
this._greater = greater;
|
|
@@ -107,7 +121,7 @@ class StakingBuilder {
|
|
|
107
121
|
* @returns {StakingCall} a lock gold operation using the LockedGold contract
|
|
108
122
|
*/
|
|
109
123
|
buildLockStaking() {
|
|
110
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
124
|
+
const operation = (0, sdk_core_1.getOperationConfig)(this._type, this._coinConfig.network.type);
|
|
111
125
|
return new stakingCall_1.StakingCall(this._amount, operation.contractAddress, operation.methodId, operation.types, []);
|
|
112
126
|
}
|
|
113
127
|
/**
|
|
@@ -119,7 +133,7 @@ class StakingBuilder {
|
|
|
119
133
|
* @returns {StakingCall} an unlock gold operation using the LockedGold contract
|
|
120
134
|
*/
|
|
121
135
|
buildUnlockStaking() {
|
|
122
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
136
|
+
const operation = (0, sdk_core_1.getOperationConfig)(this._type, this._coinConfig.network.type);
|
|
123
137
|
const params = [this._amount];
|
|
124
138
|
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
125
139
|
}
|
|
@@ -135,7 +149,7 @@ class StakingBuilder {
|
|
|
135
149
|
* @returns {StakingCall} an vote operation using the Election contract
|
|
136
150
|
*/
|
|
137
151
|
buildVoteStaking() {
|
|
138
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
152
|
+
const operation = (0, sdk_core_1.getOperationConfig)(this._type, this._coinConfig.network.type);
|
|
139
153
|
const params = [this._validatorGroup, this._amount, this._lesser, this._greater];
|
|
140
154
|
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
141
155
|
}
|
|
@@ -152,7 +166,7 @@ class StakingBuilder {
|
|
|
152
166
|
* @returns {StakingCall} an vote operation using the Election contract
|
|
153
167
|
*/
|
|
154
168
|
buildUnvoteStaking() {
|
|
155
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
169
|
+
const operation = (0, sdk_core_1.getOperationConfig)(this._type, this._coinConfig.network.type);
|
|
156
170
|
const params = [this._validatorGroup, this._amount, this._lesser, this._greater, this._index.toString()];
|
|
157
171
|
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
158
172
|
}
|
|
@@ -166,7 +180,7 @@ class StakingBuilder {
|
|
|
166
180
|
* @returns {StakingCall} an activate votes operation
|
|
167
181
|
*/
|
|
168
182
|
buildActivateStaking() {
|
|
169
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
183
|
+
const operation = (0, sdk_core_1.getOperationConfig)(this._type, this._coinConfig.network.type);
|
|
170
184
|
const params = [this._validatorGroup];
|
|
171
185
|
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
172
186
|
}
|
|
@@ -180,7 +194,7 @@ class StakingBuilder {
|
|
|
180
194
|
* @returns {StakingCall} an activate votes operation
|
|
181
195
|
*/
|
|
182
196
|
buildWithdrawStaking() {
|
|
183
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
197
|
+
const operation = (0, sdk_core_1.getOperationConfig)(this._type, this._coinConfig.network.type);
|
|
184
198
|
const params = [this._index.toString()];
|
|
185
199
|
return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
|
|
186
200
|
}
|
|
@@ -221,8 +235,8 @@ class StakingBuilder {
|
|
|
221
235
|
// region Deserialization methods
|
|
222
236
|
decodeStakingData(data) {
|
|
223
237
|
this.classifyStakingType(data);
|
|
224
|
-
const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
|
|
225
|
-
const decoded = sdk_coin_eth_1.getRawDecoded(operation.types, sdk_coin_eth_1.getBufferedByteCode(operation.methodId, data));
|
|
238
|
+
const operation = (0, sdk_core_1.getOperationConfig)(this._type, this._coinConfig.network.type);
|
|
239
|
+
const decoded = (0, sdk_coin_eth_1.getRawDecoded)(operation.types, (0, sdk_coin_eth_1.getBufferedByteCode)(operation.methodId, data));
|
|
226
240
|
switch (this._type) {
|
|
227
241
|
case sdk_core_1.StakingOperationTypes.VOTE:
|
|
228
242
|
this.validateDecodedDataLength(decoded.length, 4, data);
|
|
@@ -239,7 +253,7 @@ class StakingBuilder {
|
|
|
239
253
|
this._amount = ethUtil.bufferToHex(amountUnvote);
|
|
240
254
|
this._lesser = ethUtil.addHexPrefix(lesserUnvote);
|
|
241
255
|
this._greater = ethUtil.addHexPrefix(greaterUnvote);
|
|
242
|
-
this._index = sdk_coin_eth_1.hexStringToNumber(ethUtil.bufferToHex(indexUnvote));
|
|
256
|
+
this._index = (0, sdk_coin_eth_1.hexStringToNumber)(ethUtil.bufferToHex(indexUnvote));
|
|
243
257
|
break;
|
|
244
258
|
case sdk_core_1.StakingOperationTypes.ACTIVATE:
|
|
245
259
|
this.validateDecodedDataLength(decoded.length, 1, data);
|
|
@@ -256,7 +270,7 @@ class StakingBuilder {
|
|
|
256
270
|
case sdk_core_1.StakingOperationTypes.WITHDRAW:
|
|
257
271
|
this.validateDecodedDataLength(decoded.length, 1, data);
|
|
258
272
|
const [index] = decoded;
|
|
259
|
-
this._index = sdk_coin_eth_1.hexStringToNumber(ethUtil.bufferToHex(index));
|
|
273
|
+
this._index = (0, sdk_coin_eth_1.hexStringToNumber)(ethUtil.bufferToHex(index));
|
|
260
274
|
break;
|
|
261
275
|
default:
|
|
262
276
|
throw new sdk_core_1.BuildTransactionError(`Invalid staking data: ${this._type}`);
|
|
@@ -289,4 +303,4 @@ class StakingBuilder {
|
|
|
289
303
|
}
|
|
290
304
|
}
|
|
291
305
|
exports.StakingBuilder = StakingBuilder;
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBMkM7QUFFM0MsMkRBTWtDO0FBQ2xDLG1EQVc4QjtBQUM5QiwrQ0FBNEM7QUFFNUMsTUFBYSxjQUFjO0lBVXpCLFlBQVksVUFBZ0MsRUFBRSxjQUF1QjtRQVRwRCxvQkFBZSxHQUFHLDRDQUE0QyxDQUFDO1FBR3hFLFlBQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQy9CLGFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBTXRDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksY0FBYyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsSUFBSSxDQUFDLElBQTJCO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyw0QkFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQXNCO1FBQzFCLElBQUksQ0FBQyxnQ0FBaUIsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN0QyxNQUFNLElBQUkscUNBQTBCLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUN6RTtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLE9B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QyxVQUFVLENBQUMsdUJBQVksQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsSUFBSSxDQUFDO1NBQ3pDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUFjLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLE1BQU0sQ0FBQztTQUMzQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBZ0IsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsUUFBUSxDQUFDO1NBQzdDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUFjLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLE1BQU0sQ0FBQztTQUMzQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBZ0IsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsUUFBUSxDQUFDO1NBQzdDO2FBQU07WUFDTCxNQUFNLElBQUksZ0NBQXFCLENBQUMsNkJBQTZCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0NBR0Y7QUF2U0Qsd0NBdVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZXRoVXRpbCBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgaXNWYWxpZEFtb3VudCxcbiAgaXNWYWxpZEV0aEFkZHJlc3MsXG4gIGdldFJhd0RlY29kZWQsXG4gIGdldEJ1ZmZlcmVkQnl0ZUNvZGUsXG4gIGhleFN0cmluZ1RvTnVtYmVyLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ldGgnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVNZXRob2RJZCxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBnZXRPcGVyYXRpb25Db25maWcsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgU3Rha2luZ09wZXJhdGlvblR5cGVzLFxuICBVbmxvY2tNZXRob2RJZCxcbiAgVW52b3RlTWV0aG9kSWQsXG4gIFZvdGVNZXRob2RJZCxcbiAgV2l0aGRyYXdNZXRob2RJZCxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgU3Rha2luZ0NhbGwgfSBmcm9tICcuL3N0YWtpbmdDYWxsJztcblxuZXhwb3J0IGNsYXNzIFN0YWtpbmdCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0FERFJFU1MgPSAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcbiAgcHJpdmF0ZSBfYW1vdW50OiBzdHJpbmc7XG4gIHByaXZhdGUgX3ZhbGlkYXRvckdyb3VwOiBzdHJpbmc7XG4gIHByaXZhdGUgX2xlc3NlciA9IHRoaXMuREVGQVVMVF9BRERSRVNTO1xuICBwcml2YXRlIF9ncmVhdGVyID0gdGhpcy5ERUZBVUxUX0FERFJFU1M7XG4gIHByaXZhdGUgX2luZGV4OiBudW1iZXI7XG4gIHByaXZhdGUgX3R5cGU6IFN0YWtpbmdPcGVyYXRpb25UeXBlcztcbiAgcHJpdmF0ZSBfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4sIHNlcmlhbGl6ZWREYXRhPzogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29pbkNvbmZpZyA9IGNvaW5Db25maWc7XG4gICAgaWYgKHNlcmlhbGl6ZWREYXRhKSB7XG4gICAgICB0aGlzLmRlY29kZVN0YWtpbmdEYXRhKHNlcmlhbGl6ZWREYXRhKTtcbiAgICB9XG4gIH1cblxuICAvLyByZWdpb24gU3Rha2luZyBwcm9wZXJ0aWVzXG5cbiAgdHlwZSh0eXBlOiBTdGFraW5nT3BlcmF0aW9uVHlwZXMpOiB0aGlzIHtcbiAgICB0aGlzLl90eXBlID0gdHlwZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFtb3VudCh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQW1vdW50KHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIHZhbHVlIGZvciBzdGFrZSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLl9hbW91bnQgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdyb3VwKHZhbGlkYXRvckdyb3VwOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRFdGhBZGRyZXNzKHZhbGlkYXRvckdyb3VwKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIHZhbGlkYXRvciBncm91cCBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX3ZhbGlkYXRvckdyb3VwID0gdmFsaWRhdG9yR3JvdXA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBsZXNzZXIobGVzc2VyOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRFdGhBZGRyZXNzKGxlc3NlcikpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzIGZvciBsZXNzZXInKTtcbiAgICB9XG4gICAgdGhpcy5fbGVzc2VyID0gbGVzc2VyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ3JlYXRlcihncmVhdGVyOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRFdGhBZGRyZXNzKGdyZWF0ZXIpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyBmb3IgZ3JlYXRlcicpO1xuICAgIH1cbiAgICB0aGlzLl9ncmVhdGVyID0gZ3JlYXRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGluZGV4KGluZGV4OiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgaW5kZXggZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5faW5kZXggPSBpbmRleDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBTdGFraW5nIGJ1aWxkaW5nXG5cbiAgYnVpbGQoKTogU3Rha2luZ0NhbGwge1xuICAgIHRoaXMudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgICBzd2l0Y2ggKHRoaXMuX3R5cGUpIHtcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLkxPQ0s6XG4gICAgICAgIHRoaXMudmFsaWRhdGVBbW91bnQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRMb2NrU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVk9URTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUVsZWN0aW9uRmllbGRzKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkVm90ZVN0YWtpbmcoKTtcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLkFDVElWQVRFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlR3JvdXAoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRBY3RpdmF0ZVN0YWtpbmcoKTtcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOVk9URTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZVVudm90ZUZpZWxkcygpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFVudm90ZVN0YWtpbmcoKTtcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOTE9DSzpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUFtb3VudCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFVubG9ja1N0YWtpbmcoKTtcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLldJVEhEUkFXOlxuICAgICAgICB0aGlzLnZhbGlkYXRlSW5kZXgoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRXaXRoZHJhd1N0YWtpbmcoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBzdGFraW5nIG9wZXJhdGlvbjogJyArIHRoaXMuX3R5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBsb2NrIGdvbGQgb3BlcmF0aW9uIHNlbmRpbmcgdGhlIGFtb3VudCBvbiB0aGUgdHJhbnNhY3Rpb24gdmFsdWUgZmllbGRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhIGxvY2sgZ29sZCBvcGVyYXRpb24gdXNpbmcgdGhlIExvY2tlZEdvbGQgY29udHJhY3RcbiAgICovXG4gIHByaXZhdGUgYnVpbGRMb2NrU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKHRoaXMuX2Ftb3VudCwgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW4gdW5sb2NrIGdvbGQgb3BlcmF0aW9uIHNlbmRpbmcgdGhlIGFtb3VudCBlbmNvZGVkIG9uIHRoZSBkYXRhIGZpZWxkXG4gICAqXG4gICAqIHBhcmFtc1xuICAgKiBhbW91bnQ6IGFtb3VudCBvZiBsb2NrZWQgZ29sZCB0byBiZSB1bmxvY2tlZFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0NhbGx9IGFuIHVubG9jayBnb2xkIG9wZXJhdGlvbiB1c2luZyB0aGUgTG9ja2VkR29sZCBjb250cmFjdFxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFVubG9ja1N0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgcGFyYW1zID0gW3RoaXMuX2Ftb3VudF07XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCgnMCcsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIHZvdGUgb3BlcmF0aW9uIHRoYXQgdXNlcyBsb2NrZWQgZ29sZCB0byBhZGQgcGVuZGluZyB2b3RlcyBmb3IgYSB2YWxpZGF0b3IgZ3JvdXAuXG4gICAqXG4gICAqIHBhcmFtc1xuICAgKiB2YWxpZGF0b3JHcm91cDogZ3JvdXAgdG8gdm90ZSBmb3JcbiAgICogYW1vdW50OiBhbW91bnQgb2Ygdm90ZXMgKGxvY2tlZCBnb2xkKSBmb3IgdGhlIGdyb3VwXG4gICAqIGxlc3NlcjogdmFsaWRhdG9yIGdyb3VwIHRoYXQgaGFzIGxlc3Mgdm90ZXMgdGhhbiB0aGUgdmFsaWRhdG9yR3JvdXBcbiAgICogZ3JlYXRlcjogdmFsaWRhdG9yIGdyb3VwIHRoYXQgaGFzIG1vcmUgdm90cyB0aGFuIHRoZSB2YWxpZGF0b3JHcm91cFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0NhbGx9IGFuIHZvdGUgb3BlcmF0aW9uIHVzaW5nIHRoZSBFbGVjdGlvbiBjb250cmFjdFxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFZvdGVTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl92YWxpZGF0b3JHcm91cCwgdGhpcy5fYW1vdW50LCB0aGlzLl9sZXNzZXIsIHRoaXMuX2dyZWF0ZXJdO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW4gdW52b3RlIG9wZXJhdGlvbiB0byByZXZva2UgYWN0aXZlIHZvdGVzIGZvciBhIHZhbGlkYXRvciBncm91cC5cbiAgICpcbiAgICogcGFyYW1zXG4gICAqIHZhbGlkYXRvckdyb3VwOiBncm91cCB3aG9zZSB2b3RlcyB3aWxsIGJlIHJldm9rZWRcbiAgICogYW1vdW50OiBhbW91bnQgb2Ygdm90ZXMgKGxvY2tlZCBnb2xkKSB0aGF0IHdpbGwgYmUgcmV2b2tlZFxuICAgKiBsZXNzZXI6IHZhbGlkYXRvciBncm91cCB0aGF0IGhhcyBsZXNzIHZvdGVzIHRoYW4gdGhlIHZhbGlkYXRvckdyb3VwXG4gICAqIGdyZWF0ZXI6IHZhbGlkYXRvciBncm91cCB0aGF0IGhhcyBtb3JlIHZvdHMgdGhhbiB0aGUgdmFsaWRhdG9yR3JvdXBcbiAgICogaW5kZXg6IGluZGV4IG9mIHRoZSB2YWxpZGF0b3JHcm91cCBvbiB0aGUgbGlzdCBvZiBncm91cHMgdGhlIGFkZHJlc3MgaGFzIHZvdGVkIGZvclxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0NhbGx9IGFuIHZvdGUgb3BlcmF0aW9uIHVzaW5nIHRoZSBFbGVjdGlvbiBjb250cmFjdFxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFVudm90ZVN0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgcGFyYW1zID0gW3RoaXMuX3ZhbGlkYXRvckdyb3VwLCB0aGlzLl9hbW91bnQsIHRoaXMuX2xlc3NlciwgdGhpcy5fZ3JlYXRlciwgdGhpcy5faW5kZXgudG9TdHJpbmcoKV07XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCgnMCcsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhbiBhY3RpdmF0ZSB2b3RlIG9wZXJhdGlvbiB0byBjaGFuZ2UgYWxsIHRoZSB2b3RlcyBjYXN0ZWQgZm9yIGEgdmFsaWRhdG9yXG4gICAqIGZyb20gJ3BlbmRpbmcnIHRvICdhY3RpdmUnXG4gICAqXG4gICAqIHBhcmFtc1xuICAgKiB2YWxpZGF0b3JHcm91cDogZ3JvdXAgd2hvc2Ugdm90ZXMgd2lsbCBiZSBhY3RpdmF0ZWRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiBhY3RpdmF0ZSB2b3RlcyBvcGVyYXRpb25cbiAgICovXG4gIHByaXZhdGUgYnVpbGRBY3RpdmF0ZVN0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgcGFyYW1zID0gW3RoaXMuX3ZhbGlkYXRvckdyb3VwXTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgd2l0aGRyYXcgb3BlcmF0aW9uIGZvciBsb2NrZWQgZ29sZCB0aGF0IGhhcyBiZWVuIHVubG9ja2VkXG4gICAqIGFmdGVyIHRoZSB1bmxvY2tpbmcgcGVyaW9kIGhhcyBwYXNzZWQuXG4gICAqXG4gICAqIHBhcmFtc1xuICAgKiBpbmRleDogaW5kZXggb2YgdGhlIHVubG9jayBvcGVyYXRpb24gd2hvc2UgdW5sb2NraW5nIHBlcmlvZCBoYXMgcGFzc2VkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0NhbGx9IGFuIGFjdGl2YXRlIHZvdGVzIG9wZXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFdpdGhkcmF3U3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5faW5kZXgudG9TdHJpbmcoKV07XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCgnMCcsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBwYXJhbXMpO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRpb24gbWV0aG9kc1xuXG4gIHByaXZhdGUgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKCEodGhpcy5fdHlwZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2NvaW5Db25maWcpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIHN0YWtpbmcgbWFuZGF0b3J5IGZpZWxkcy4gVHlwZSBhbmQgY29pbiBhcmUgcmVxdWlyZWQnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRWxlY3Rpb25GaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZUdyb3VwKCk7XG4gICAgdGhpcy52YWxpZGF0ZUFtb3VudCgpO1xuICAgIGlmICh0aGlzLl9sZXNzZXIgPT09IHRoaXMuX2dyZWF0ZXIpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0dyZWF0ZXIgYW5kIGxlc3NlciB2YWx1ZXMgc2hvdWxkIG5vdCBiZSB0aGUgc2FtZScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVJbmRleCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBpbmRleCBmb3Igc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBbW91bnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2Ftb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGFtb3VudCBmb3Igc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVVbnZvdGVGaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZUVsZWN0aW9uRmllbGRzKCk7XG4gICAgdGhpcy52YWxpZGF0ZUluZGV4KCk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlR3JvdXAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl92YWxpZGF0b3JHcm91cCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyB2YWxpZGF0b3IgZ3JvdXAgZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gRGVzZXJpYWxpemF0aW9uIG1ldGhvZHNcbiAgcHJpdmF0ZSBkZWNvZGVTdGFraW5nRGF0YShkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNsYXNzaWZ5U3Rha2luZ1R5cGUoZGF0YSk7XG5cbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IGRlY29kZWQgPSBnZXRSYXdEZWNvZGVkKG9wZXJhdGlvbi50eXBlcywgZ2V0QnVmZmVyZWRCeXRlQ29kZShvcGVyYXRpb24ubWV0aG9kSWQsIGRhdGEpKTtcbiAgICBzd2l0Y2ggKHRoaXMuX3R5cGUpIHtcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLlZPVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChkZWNvZGVkLmxlbmd0aCwgNCwgZGF0YSk7XG4gICAgICAgIGNvbnN0IFtncm91cFRvVm90ZSwgYW1vdW50LCBsZXNzZXIsIGdyZWF0ZXJdID0gZGVjb2RlZDtcbiAgICAgICAgdGhpcy5fYW1vdW50ID0gZXRoVXRpbC5idWZmZXJUb0hleChhbW91bnQgYXMgQnVmZmVyKTtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSBldGhVdGlsLmFkZEhleFByZWZpeChncm91cFRvVm90ZSBhcyBzdHJpbmcpO1xuICAgICAgICB0aGlzLl9sZXNzZXIgPSBldGhVdGlsLmFkZEhleFByZWZpeChsZXNzZXIgYXMgc3RyaW5nKTtcbiAgICAgICAgdGhpcy5fZ3JlYXRlciA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGdyZWF0ZXIgYXMgc3RyaW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChkZWNvZGVkLmxlbmd0aCwgNSwgZGF0YSk7XG4gICAgICAgIGNvbnN0IFtncm91cFRvVW52b3RlLCBhbW91bnRVbnZvdGUsIGxlc3NlclVudm90ZSwgZ3JlYXRlclVudm90ZSwgaW5kZXhVbnZvdGVdID0gZGVjb2RlZDtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSBldGhVdGlsLmFkZEhleFByZWZpeChncm91cFRvVW52b3RlIGFzIHN0cmluZyk7XG4gICAgICAgIHRoaXMuX2Ftb3VudCA9IGV0aFV0aWwuYnVmZmVyVG9IZXgoYW1vdW50VW52b3RlIGFzIEJ1ZmZlcik7XG4gICAgICAgIHRoaXMuX2xlc3NlciA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGxlc3NlclVudm90ZSBhcyBzdHJpbmcpO1xuICAgICAgICB0aGlzLl9ncmVhdGVyID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JlYXRlclVudm90ZSBhcyBzdHJpbmcpO1xuICAgICAgICB0aGlzLl9pbmRleCA9IGhleFN0cmluZ1RvTnVtYmVyKGV0aFV0aWwuYnVmZmVyVG9IZXgoaW5kZXhVbnZvdGUgYXMgQnVmZmVyKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuQUNUSVZBVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChkZWNvZGVkLmxlbmd0aCwgMSwgZGF0YSk7XG4gICAgICAgIGNvbnN0IFtncm91cFRvQWN0aXZhdGVdID0gZGVjb2RlZDtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSBldGhVdGlsLmFkZEhleFByZWZpeChncm91cFRvQWN0aXZhdGUgYXMgc3RyaW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0s6XG4gICAgICAgIGlmIChkZWNvZGVkLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdW5sb2NrIGRlY29kZWQgZGF0YTogJHtkYXRhfWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtkZWNvZGVkQW1vdW50XSA9IGRlY29kZWQ7XG4gICAgICAgIHRoaXMuX2Ftb3VudCA9IGV0aFV0aWwuYnVmZmVyVG9IZXgoZGVjb2RlZEFtb3VudCBhcyBCdWZmZXIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLldJVEhEUkFXOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoZGVjb2RlZC5sZW5ndGgsIDEsIGRhdGEpO1xuICAgICAgICBjb25zdCBbaW5kZXhdID0gZGVjb2RlZDtcbiAgICAgICAgdGhpcy5faW5kZXggPSBoZXhTdHJpbmdUb051bWJlcihldGhVdGlsLmJ1ZmZlclRvSGV4KGluZGV4IGFzIEJ1ZmZlcikpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgc3Rha2luZyBkYXRhOiAke3RoaXMuX3R5cGV9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZURlY29kZWREYXRhTGVuZ3RoKGFjdHVhbDogbnVtYmVyLCBleHBlY3RlZDogbnVtYmVyLCBkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBzdGFraW5nIGRlY29kZWQgZGF0YTogJHtkYXRhfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xhc3NpZnlTdGFraW5nVHlwZShkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGF0YS5zdGFydHNXaXRoKFZvdGVNZXRob2RJZCkpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVk9URTtcbiAgICB9IGVsc2UgaWYgKGRhdGEuc3RhcnRzV2l0aChVbnZvdGVNZXRob2RJZCkpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5WT1RFO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5zdGFydHNXaXRoKEFjdGl2YXRlTWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLkFDVElWQVRFO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5zdGFydHNXaXRoKFVubG9ja01ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0s7XG4gICAgfSBlbHNlIGlmIChkYXRhLnN0YXJ0c1dpdGgoV2l0aGRyYXdNZXRob2RJZCkpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuV0lUSERSQVc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgc3Rha2luZyBieXRlY29kZTogJHtkYXRhfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUEyQztBQUUzQywyREFNa0M7QUFDbEMsbURBVzhCO0FBQzlCLCtDQUE0QztBQUU1QyxNQUFhLGNBQWM7SUFVekIsWUFBWSxVQUFnQyxFQUFFLGNBQXVCO1FBVHBELG9CQUFlLEdBQUcsNENBQTRDLENBQUM7UUFHeEUsWUFBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFNdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsSUFBSSxDQUFDLElBQTJCO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxJQUFBLDRCQUFhLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUkscUNBQTBCLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQXNCO1FBQzFCLElBQUksQ0FBQyxJQUFBLGdDQUFpQixFQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLHFDQUEwQixDQUFDLGlDQUFpQyxDQUFDLENBQUM7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cnQgKiBhcyBldGhVdGlsIGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkQW1vdW50LFxuICBpc1ZhbGlkRXRoQWRkcmVzcyxcbiAgZ2V0UmF3RGVjb2RlZCxcbiAgZ2V0QnVmZmVyZWRCeXRlQ29kZSxcbiAgaGV4U3RyaW5nVG9OdW1iZXIsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0aCc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZU1ldGhvZElkLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIGdldE9wZXJhdGlvbkNvbmZpZyxcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBTdGFraW5nT3BlcmF0aW9uVHlwZXMsXG4gIFVubG9ja01ldGhvZElkLFxuICBVbnZvdGVNZXRob2RJZCxcbiAgVm90ZU1ldGhvZElkLFxuICBXaXRoZHJhd01ldGhvZElkLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBTdGFraW5nQ2FsbCB9IGZyb20gJy4vc3Rha2luZ0NhbGwnO1xuXG5leHBvcnQgY2xhc3MgU3Rha2luZ0J1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfQUREUkVTUyA9ICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuICBwcml2YXRlIF9hbW91bnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfdmFsaWRhdG9yR3JvdXA6IHN0cmluZztcbiAgcHJpdmF0ZSBfbGVzc2VyID0gdGhpcy5ERUZBVUxUX0FERFJFU1M7XG4gIHByaXZhdGUgX2dyZWF0ZXIgPSB0aGlzLkRFRkFVTFRfQUREUkVTUztcbiAgcHJpdmF0ZSBfaW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfdHlwZTogU3Rha2luZ09wZXJhdGlvblR5cGVzO1xuICBwcml2YXRlIF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPiwgc2VyaWFsaXplZERhdGE/OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2luQ29uZmlnID0gY29pbkNvbmZpZztcbiAgICBpZiAoc2VyaWFsaXplZERhdGEpIHtcbiAgICAgIHRoaXMuZGVjb2RlU3Rha2luZ0RhdGEoc2VyaWFsaXplZERhdGEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJlZ2lvbiBTdGFraW5nIHByb3BlcnRpZXNcblxuICB0eXBlKHR5cGU6IFN0YWtpbmdPcGVyYXRpb25UeXBlcyk6IHRoaXMge1xuICAgIHRoaXMuX3R5cGUgPSB0eXBlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYW1vdW50KHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRBbW91bnQodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHN0YWtlIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMuX2Ftb3VudCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ3JvdXAodmFsaWRhdG9yR3JvdXA6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEV0aEFkZHJlc3ModmFsaWRhdG9yR3JvdXApKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgdmFsaWRhdG9yIGdyb3VwIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSB2YWxpZGF0b3JHcm91cDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGxlc3NlcihsZXNzZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEV0aEFkZHJlc3MobGVzc2VyKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MgZm9yIGxlc3NlcicpO1xuICAgIH1cbiAgICB0aGlzLl9sZXNzZXIgPSBsZXNzZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBncmVhdGVyKGdyZWF0ZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEV0aEFkZHJlc3MoZ3JlYXRlcikpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzIGZvciBncmVhdGVyJyk7XG4gICAgfVxuICAgIHRoaXMuX2dyZWF0ZXIgPSBncmVhdGVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaW5kZXgoaW5kZXg6IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBpbmRleCBmb3Igc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLl9pbmRleCA9IGluZGV4O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFN0YWtpbmcgYnVpbGRpbmdcblxuICBidWlsZCgpOiBTdGFraW5nQ2FsbCB7XG4gICAgdGhpcy52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICAgIHN3aXRjaCAodGhpcy5fdHlwZSkge1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuTE9DSzpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUFtb3VudCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZExvY2tTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5WT1RFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRWxlY3Rpb25GaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRWb3RlU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuQUNUSVZBVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVHcm91cCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZEFjdGl2YXRlU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5WT1RFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlVW52b3RlRmllbGRzKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkVW52b3RlU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5MT0NLOlxuICAgICAgICB0aGlzLnZhbGlkYXRlQW1vdW50KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkVW5sb2NrU3Rha2luZygpO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuV0lUSERSQVc6XG4gICAgICAgIHRoaXMudmFsaWRhdGVJbmRleCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFdpdGhkcmF3U3Rha2luZygpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHN0YWtpbmcgb3BlcmF0aW9uOiAnICsgdGhpcy5fdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIGxvY2sgZ29sZCBvcGVyYXRpb24gc2VuZGluZyB0aGUgYW1vdW50IG9uIHRoZSB0cmFuc2FjdGlvbiB2YWx1ZSBmaWVsZFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0NhbGx9IGEgbG9jayBnb2xkIG9wZXJhdGlvbiB1c2luZyB0aGUgTG9ja2VkR29sZCBjb250cmFjdFxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZExvY2tTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwodGhpcy5fYW1vdW50LCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgW10pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhbiB1bmxvY2sgZ29sZCBvcGVyYXRpb24gc2VuZGluZyB0aGUgYW1vdW50IGVuY29kZWQgb24gdGhlIGRhdGEgZmllbGRcbiAgICpcbiAgICogcGFyYW1zXG4gICAqIGFtb3VudDogYW1vdW50IG9mIGxvY2tlZCBnb2xkIHRvIGJlIHVubG9ja2VkXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gdW5sb2NrIGdvbGQgb3BlcmF0aW9uIHVzaW5nIHRoZSBMb2NrZWRHb2xkIGNvbnRyYWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkVW5sb2NrU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5fYW1vdW50XTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgdm90ZSBvcGVyYXRpb24gdGhhdCB1c2VzIGxvY2tlZCBnb2xkIHRvIGFkZCBwZW5kaW5nIHZvdGVzIGZvciBhIHZhbGlkYXRvciBncm91cC5cbiAgICpcbiAgICogcGFyYW1zXG4gICAqIHZhbGlkYXRvckdyb3VwOiBncm91cCB0byB2b3RlIGZvclxuICAgKiBhbW91bnQ6IGFtb3VudCBvZiB2b3RlcyAobG9ja2VkIGdvbGQpIGZvciB0aGUgZ3JvdXBcbiAgICogbGVzc2VyOiB2YWxpZGF0b3IgZ3JvdXAgdGhhdCBoYXMgbGVzcyB2b3RlcyB0aGFuIHRoZSB2YWxpZGF0b3JHcm91cFxuICAgKiBncmVhdGVyOiB2YWxpZGF0b3IgZ3JvdXAgdGhhdCBoYXMgbW9yZSB2b3RzIHRoYW4gdGhlIHZhbGlkYXRvckdyb3VwXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gdm90ZSBvcGVyYXRpb24gdXNpbmcgdGhlIEVsZWN0aW9uIGNvbnRyYWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkVm90ZVN0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgcGFyYW1zID0gW3RoaXMuX3ZhbGlkYXRvckdyb3VwLCB0aGlzLl9hbW91bnQsIHRoaXMuX2xlc3NlciwgdGhpcy5fZ3JlYXRlcl07XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCgnMCcsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhbiB1bnZvdGUgb3BlcmF0aW9uIHRvIHJldm9rZSBhY3RpdmUgdm90ZXMgZm9yIGEgdmFsaWRhdG9yIGdyb3VwLlxuICAgKlxuICAgKiBwYXJhbXNcbiAgICogdmFsaWRhdG9yR3JvdXA6IGdyb3VwIHdob3NlIHZvdGVzIHdpbGwgYmUgcmV2b2tlZFxuICAgKiBhbW91bnQ6IGFtb3VudCBvZiB2b3RlcyAobG9ja2VkIGdvbGQpIHRoYXQgd2lsbCBiZSByZXZva2VkXG4gICAqIGxlc3NlcjogdmFsaWRhdG9yIGdyb3VwIHRoYXQgaGFzIGxlc3Mgdm90ZXMgdGhhbiB0aGUgdmFsaWRhdG9yR3JvdXBcbiAgICogZ3JlYXRlcjogdmFsaWRhdG9yIGdyb3VwIHRoYXQgaGFzIG1vcmUgdm90cyB0aGFuIHRoZSB2YWxpZGF0b3JHcm91cFxuICAgKiBpbmRleDogaW5kZXggb2YgdGhlIHZhbGlkYXRvckdyb3VwIG9uIHRoZSBsaXN0IG9mIGdyb3VwcyB0aGUgYWRkcmVzcyBoYXMgdm90ZWQgZm9yXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gdm90ZSBvcGVyYXRpb24gdXNpbmcgdGhlIEVsZWN0aW9uIGNvbnRyYWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkVW52b3RlU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5fdmFsaWRhdG9yR3JvdXAsIHRoaXMuX2Ftb3VudCwgdGhpcy5fbGVzc2VyLCB0aGlzLl9ncmVhdGVyLCB0aGlzLl9pbmRleC50b1N0cmluZygpXTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuIGFjdGl2YXRlIHZvdGUgb3BlcmF0aW9uIHRvIGNoYW5nZSBhbGwgdGhlIHZvdGVzIGNhc3RlZCBmb3IgYSB2YWxpZGF0b3JcbiAgICogZnJvbSAncGVuZGluZycgdG8gJ2FjdGl2ZSdcbiAgICpcbiAgICogcGFyYW1zXG4gICAqIHZhbGlkYXRvckdyb3VwOiBncm91cCB3aG9zZSB2b3RlcyB3aWxsIGJlIGFjdGl2YXRlZFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0NhbGx9IGFuIGFjdGl2YXRlIHZvdGVzIG9wZXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEFjdGl2YXRlU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5fdmFsaWRhdG9yR3JvdXBdO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSB3aXRoZHJhdyBvcGVyYXRpb24gZm9yIGxvY2tlZCBnb2xkIHRoYXQgaGFzIGJlZW4gdW5sb2NrZWRcbiAgICogYWZ0ZXIgdGhlIHVubG9ja2luZyBwZXJpb2QgaGFzIHBhc3NlZC5cbiAgICpcbiAgICogcGFyYW1zXG4gICAqIGluZGV4OiBpbmRleCBvZiB0aGUgdW5sb2NrIG9wZXJhdGlvbiB3aG9zZSB1bmxvY2tpbmcgcGVyaW9kIGhhcyBwYXNzZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gYWN0aXZhdGUgdm90ZXMgb3BlcmF0aW9uXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkV2l0aGRyYXdTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl9pbmRleC50b1N0cmluZygpXTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gVmFsaWRhdGlvbiBtZXRob2RzXG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpOiB2b2lkIHtcbiAgICBpZiAoISh0aGlzLl90eXBlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fY29pbkNvbmZpZykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3Npbmcgc3Rha2luZyBtYW5kYXRvcnkgZmllbGRzLiBUeXBlIGFuZCBjb2luIGFyZSByZXF1aXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVFbGVjdGlvbkZpZWxkcygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlR3JvdXAoKTtcbiAgICB0aGlzLnZhbGlkYXRlQW1vdW50KCk7XG4gICAgaWYgKHRoaXMuX2xlc3NlciA9PT0gdGhpcy5fZ3JlYXRlcikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignR3JlYXRlciBhbmQgbGVzc2VyIHZhbHVlcyBzaG91bGQgbm90IGJlIHRoZSBzYW1lJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUluZGV4KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGluZGV4IGZvciBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFtb3VudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYW1vdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgYW1vdW50IGZvciBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVVudm90ZUZpZWxkcygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlRWxlY3Rpb25GaWVsZHMoKTtcbiAgICB0aGlzLnZhbGlkYXRlSW5kZXgoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVHcm91cCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3ZhbGlkYXRvckdyb3VwKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIHZhbGlkYXRvciBncm91cCBmb3Igc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBEZXNlcmlhbGl6YXRpb24gbWV0aG9kc1xuICBwcml2YXRlIGRlY29kZVN0YWtpbmdEYXRhKGRhdGE6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NpZnlTdGFraW5nVHlwZShkYXRhKTtcblxuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgZGVjb2RlZCA9IGdldFJhd0RlY29kZWQob3BlcmF0aW9uLnR5cGVzLCBnZXRCdWZmZXJlZEJ5dGVDb2RlKG9wZXJhdGlvbi5tZXRob2RJZCwgZGF0YSkpO1xuICAgIHN3aXRjaCAodGhpcy5fdHlwZSkge1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVk9URTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZURlY29kZWREYXRhTGVuZ3RoKGRlY29kZWQubGVuZ3RoLCA0LCBkYXRhKTtcbiAgICAgICAgY29uc3QgW2dyb3VwVG9Wb3RlLCBhbW91bnQsIGxlc3NlciwgZ3JlYXRlcl0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl9hbW91bnQgPSBldGhVdGlsLmJ1ZmZlclRvSGV4KGFtb3VudCBhcyBCdWZmZXIpO1xuICAgICAgICB0aGlzLl92YWxpZGF0b3JHcm91cCA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGdyb3VwVG9Wb3RlIGFzIHN0cmluZyk7XG4gICAgICAgIHRoaXMuX2xlc3NlciA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGxlc3NlciBhcyBzdHJpbmcpO1xuICAgICAgICB0aGlzLl9ncmVhdGVyID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JlYXRlciBhcyBzdHJpbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOVk9URTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZURlY29kZWREYXRhTGVuZ3RoKGRlY29kZWQubGVuZ3RoLCA1LCBkYXRhKTtcbiAgICAgICAgY29uc3QgW2dyb3VwVG9VbnZvdGUsIGFtb3VudFVudm90ZSwgbGVzc2VyVW52b3RlLCBncmVhdGVyVW52b3RlLCBpbmRleFVudm90ZV0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl92YWxpZGF0b3JHcm91cCA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGdyb3VwVG9VbnZvdGUgYXMgc3RyaW5nKTtcbiAgICAgICAgdGhpcy5fYW1vdW50ID0gZXRoVXRpbC5idWZmZXJUb0hleChhbW91bnRVbnZvdGUgYXMgQnVmZmVyKTtcbiAgICAgICAgdGhpcy5fbGVzc2VyID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgobGVzc2VyVW52b3RlIGFzIHN0cmluZyk7XG4gICAgICAgIHRoaXMuX2dyZWF0ZXIgPSBldGhVdGlsLmFkZEhleFByZWZpeChncmVhdGVyVW52b3RlIGFzIHN0cmluZyk7XG4gICAgICAgIHRoaXMuX2luZGV4ID0gaGV4U3RyaW5nVG9OdW1iZXIoZXRoVXRpbC5idWZmZXJUb0hleChpbmRleFVudm90ZSBhcyBCdWZmZXIpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5BQ1RJVkFURTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZURlY29kZWREYXRhTGVuZ3RoKGRlY29kZWQubGVuZ3RoLCAxLCBkYXRhKTtcbiAgICAgICAgY29uc3QgW2dyb3VwVG9BY3RpdmF0ZV0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl92YWxpZGF0b3JHcm91cCA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGdyb3VwVG9BY3RpdmF0ZSBhcyBzdHJpbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOTE9DSzpcbiAgICAgICAgaWYgKGRlY29kZWQubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCB1bmxvY2sgZGVjb2RlZCBkYXRhOiAke2RhdGF9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgW2RlY29kZWRBbW91bnRdID0gZGVjb2RlZDtcbiAgICAgICAgdGhpcy5fYW1vdW50ID0gZXRoVXRpbC5idWZmZXJUb0hleChkZWNvZGVkQW1vdW50IGFzIEJ1ZmZlcik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuV0lUSERSQVc6XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChkZWNvZGVkLmxlbmd0aCwgMSwgZGF0YSk7XG4gICAgICAgIGNvbnN0IFtpbmRleF0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl9pbmRleCA9IGhleFN0cmluZ1RvTnVtYmVyKGV0aFV0aWwuYnVmZmVyVG9IZXgoaW5kZXggYXMgQnVmZmVyKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBzdGFraW5nIGRhdGE6ICR7dGhpcy5fdHlwZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoYWN0dWFsOiBudW1iZXIsIGV4cGVjdGVkOiBudW1iZXIsIGRhdGE6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHN0YWtpbmcgZGVjb2RlZCBkYXRhOiAke2RhdGF9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjbGFzc2lmeVN0YWtpbmdUeXBlKGRhdGE6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkYXRhLnN0YXJ0c1dpdGgoVm90ZU1ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5WT1RFO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5zdGFydHNXaXRoKFVudm90ZU1ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEU7XG4gICAgfSBlbHNlIGlmIChkYXRhLnN0YXJ0c1dpdGgoQWN0aXZhdGVNZXRob2RJZCkpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuQUNUSVZBVEU7XG4gICAgfSBlbHNlIGlmIChkYXRhLnN0YXJ0c1dpdGgoVW5sb2NrTWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOTE9DSztcbiAgICB9IGVsc2UgaWYgKGRhdGEuc3RhcnRzV2l0aChXaXRoZHJhd01ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5XSVRIRFJBVztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBzdGFraW5nIGJ5dGVjb2RlOiAke2RhdGF9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Transaction } from '@bitgo-beta/abstract-eth';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
export declare class TestnetTransactionBuilder extends TransactionBuilder {
|
|
5
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
6
|
+
/**
|
|
7
|
+
* Get the final v value. Final v is described in EIP-155.
|
|
8
|
+
*
|
|
9
|
+
* @protected for internal use when the enableFinalVField flag is true.
|
|
10
|
+
*/
|
|
11
|
+
protected getFinalV(): string;
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=testnetTransactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testnetTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/testnetTransactionBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,yBAA0B,SAAQ,kBAAkB;gBACnD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;OAIG;IACH,SAAS,CAAC,SAAS,IAAI,MAAM;IAI7B,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;CAWlE"}
|