@bitgo-beta/sdk-coin-flr 1.0.1-beta.8 → 1.0.1-beta.800
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/flr.d.ts +12 -3
- package/dist/src/flr.d.ts.map +1 -1
- package/dist/src/flr.js +16 -3
- package/dist/src/flrToken.d.ts +26 -0
- package/dist/src/flrToken.d.ts.map +1 -0
- package/dist/src/flrToken.js +49 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/lib/transactionBuilder.d.ts +2 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +5 -1
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +5 -1
- package/dist/test/resources.d.ts +24 -0
- package/dist/test/resources.d.ts.map +1 -0
- package/dist/test/resources.js +83 -0
- package/dist/test/unit/flr.d.ts +2 -0
- package/dist/test/unit/flr.d.ts.map +1 -0
- package/dist/test/unit/flr.js +172 -0
- package/dist/test/unit/flrToken.d.ts +2 -0
- package/dist/test/unit/flrToken.d.ts.map +1 -0
- package/dist/test/unit/flrToken.js +30 -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/transactionBuilder/send.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/send.js +19 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +29 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +14 -10
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -18
package/dist/src/flr.d.ts
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* @coinFullName Flare
|
|
7
7
|
* @coinWebsite https://flare-explorer.flare.network
|
|
8
8
|
*/
|
|
9
|
-
import { BaseCoin, BitGoBase, MPCAlgorithm } from '@bitgo-beta/sdk-core';
|
|
9
|
+
import { BaseCoin, BitGoBase, MPCAlgorithm, MultisigType } from '@bitgo-beta/sdk-core';
|
|
10
10
|
import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
|
|
11
|
-
import { AbstractEthLikeNewCoins } from '@bitgo-beta/abstract-eth';
|
|
11
|
+
import { AbstractEthLikeNewCoins, UnsignedSweepTxMPCv2, RecoverOptions, OfflineVaultTxInfo } from '@bitgo-beta/abstract-eth';
|
|
12
12
|
import { TransactionBuilder } from './lib';
|
|
13
13
|
export declare class Flr extends AbstractEthLikeNewCoins {
|
|
14
14
|
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
@@ -16,8 +16,17 @@ export declare class Flr extends AbstractEthLikeNewCoins {
|
|
|
16
16
|
protected getTransactionBuilder(): TransactionBuilder;
|
|
17
17
|
/** @inheritDoc */
|
|
18
18
|
supportsTss(): boolean;
|
|
19
|
+
/** inherited doc */
|
|
20
|
+
getDefaultMultisigType(): MultisigType;
|
|
19
21
|
/** @inheritDoc */
|
|
20
22
|
getMPCAlgorithm(): MPCAlgorithm;
|
|
21
|
-
|
|
23
|
+
protected buildUnsignedSweepTxnTSS(params: RecoverOptions): Promise<OfflineVaultTxInfo | UnsignedSweepTxMPCv2>;
|
|
24
|
+
/**
|
|
25
|
+
* Make a query to Flare explorer for information such as balance, token balance, solidity calls
|
|
26
|
+
* @param {Object} query key-value pairs of parameters to append after /api
|
|
27
|
+
* @param {string} apiKey optional API key to use instead of the one from the environment
|
|
28
|
+
* @returns {Promise<Object>} response from Flare explorer
|
|
29
|
+
*/
|
|
30
|
+
recoveryBlockchainExplorerQuery(query: Record<string, string>, apiKey?: string): Promise<Record<string, unknown>>;
|
|
22
31
|
}
|
|
23
32
|
//# sourceMappingURL=flr.d.ts.map
|
package/dist/src/flr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flr.d.ts","sourceRoot":"","sources":["../../src/flr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAU,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"flr.d.ts","sourceRoot":"","sources":["../../src/flr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAU,YAAY,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,uBAAuB,EAEvB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,qBAAa,GAAI,SAAQ,uBAAuB;IAC9C,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,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAIrD,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,kBAAkB;IAClB,eAAe,IAAI,YAAY;cAIf,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;IAIpH;;;;;OAKG;IACG,+BAA+B,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAKpC"}
|
package/dist/src/flr.js
CHANGED
|
@@ -27,15 +27,28 @@ class Flr extends abstract_eth_1.AbstractEthLikeNewCoins {
|
|
|
27
27
|
supportsTss() {
|
|
28
28
|
return true;
|
|
29
29
|
}
|
|
30
|
+
/** inherited doc */
|
|
31
|
+
getDefaultMultisigType() {
|
|
32
|
+
return sdk_core_1.multisigTypes.tss;
|
|
33
|
+
}
|
|
30
34
|
/** @inheritDoc */
|
|
31
35
|
getMPCAlgorithm() {
|
|
32
36
|
return 'ecdsa';
|
|
33
37
|
}
|
|
34
|
-
async
|
|
35
|
-
|
|
38
|
+
async buildUnsignedSweepTxnTSS(params) {
|
|
39
|
+
return this.buildUnsignedSweepTxnMPCv2(params);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Make a query to Flare explorer for information such as balance, token balance, solidity calls
|
|
43
|
+
* @param {Object} query key-value pairs of parameters to append after /api
|
|
44
|
+
* @param {string} apiKey optional API key to use instead of the one from the environment
|
|
45
|
+
* @returns {Promise<Object>} response from Flare explorer
|
|
46
|
+
*/
|
|
47
|
+
async recoveryBlockchainExplorerQuery(query, apiKey) {
|
|
48
|
+
const apiToken = apiKey || sdk_core_1.common.Environments[this.bitgo.getEnv()].flrExplorerApiToken;
|
|
36
49
|
const explorerUrl = sdk_core_1.common.Environments[this.bitgo.getEnv()].flrExplorerBaseUrl;
|
|
37
50
|
return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
|
|
38
51
|
}
|
|
39
52
|
}
|
|
40
53
|
exports.Flr = Flr;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zsci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7R0FPRzs7O0FBRUgsbURBQThHO0FBQzlHLGlEQUF5RTtBQUN6RSwyREFNa0M7QUFDbEMsK0JBQTJDO0FBRTNDLE1BQWEsR0FBSSxTQUFRLHNDQUF1QjtJQUM5QyxZQUFzQixLQUFnQixFQUFFLFdBQXVDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSx3QkFBa0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLHNCQUFzQjtRQUNwQixPQUFPLHdCQUFhLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZUFBZTtRQUNiLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxLQUFLLENBQUMsd0JBQXdCLENBQUMsTUFBc0I7UUFDN0QsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLCtCQUErQixDQUNuQyxLQUE2QixFQUM3QixNQUFlO1FBRWYsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLGlCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUN4RixNQUFNLFdBQVcsR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDaEYsT0FBTyxNQUFNLElBQUEsOENBQStCLEVBQUMsS0FBSyxFQUFFLFdBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkYsQ0FBQztDQUNGO0FBOUNELGtCQThDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKipcbiAqIEBkZXZlbG9wZXJSZWZlcmVuY2VzXG4gKiAtIERldmVsb3BlciBIdWI6IGh0dHBzOi8vZGV2LmZsYXJlLm5ldHdvcmsvXG4gKiAtIERvYzogaHR0cHM6Ly9kb2NzLmZsYXJlLm5ldHdvcmsvdXNlci93YWxsZXRzL1xuICpcbiAqIEBjb2luRnVsbE5hbWUgRmxhcmVcbiAqIEBjb2luV2Vic2l0ZSBodHRwczovL2ZsYXJlLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmtcbiAqL1xuXG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlLCBjb21tb24sIE1QQ0FsZ29yaXRobSwgTXVsdGlzaWdUeXBlLCBtdWx0aXNpZ1R5cGVzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RFdGhMaWtlTmV3Q29pbnMsXG4gIHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnksXG4gIFVuc2lnbmVkU3dlZXBUeE1QQ3YyLFxuICBSZWNvdmVyT3B0aW9ucyxcbiAgT2ZmbGluZVZhdWx0VHhJbmZvLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9saWInO1xuXG5leHBvcnQgY2xhc3MgRmxyIGV4dGVuZHMgQWJzdHJhY3RFdGhMaWtlTmV3Q29pbnMge1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBGbHIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvbkJ1aWxkZXIoKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlcihjb2lucy5nZXQodGhpcy5nZXRCYXNlQ2hhaW4oKSkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLnRzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZFVuc2lnbmVkU3dlZXBUeG5UU1MocGFyYW1zOiBSZWNvdmVyT3B0aW9ucyk6IFByb21pc2U8T2ZmbGluZVZhdWx0VHhJbmZvIHwgVW5zaWduZWRTd2VlcFR4TVBDdjI+IHtcbiAgICByZXR1cm4gdGhpcy5idWlsZFVuc2lnbmVkU3dlZXBUeG5NUEN2MihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYSBxdWVyeSB0byBGbGFyZSBleHBsb3JlciBmb3IgaW5mb3JtYXRpb24gc3VjaCBhcyBiYWxhbmNlLCB0b2tlbiBiYWxhbmNlLCBzb2xpZGl0eSBjYWxsc1xuICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnkga2V5LXZhbHVlIHBhaXJzIG9mIHBhcmFtZXRlcnMgdG8gYXBwZW5kIGFmdGVyIC9hcGlcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFwaUtleSBvcHRpb25hbCBBUEkga2V5IHRvIHVzZSBpbnN0ZWFkIG9mIHRoZSBvbmUgZnJvbSB0aGUgZW52aXJvbm1lbnRcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gcmVzcG9uc2UgZnJvbSBGbGFyZSBleHBsb3JlclxuICAgKi9cbiAgYXN5bmMgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeShcbiAgICBxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBhcGlLZXk/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGNvbnN0IGFwaVRva2VuID0gYXBpS2V5IHx8IGNvbW1vbi5FbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0uZmxyRXhwbG9yZXJBcGlUb2tlbjtcbiAgICBjb25zdCBleHBsb3JlclVybCA9IGNvbW1vbi5FbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0uZmxyRXhwbG9yZXJCYXNlVXJsO1xuICAgIHJldHVybiBhd2FpdCByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5LCBleHBsb3JlclVybCBhcyBzdHJpbmcsIGFwaVRva2VuKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EthLikeTokenConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { BitGoBase, CoinConstructor, MPCAlgorithm, NamedCoinConstructor } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { CoinNames, EthLikeToken } from '@bitgo-beta/abstract-eth';
|
|
4
|
+
import { TransactionBuilder } from './lib';
|
|
5
|
+
export { EthLikeTokenConfig };
|
|
6
|
+
export declare class FlrToken extends EthLikeToken {
|
|
7
|
+
readonly tokenConfig: EthLikeTokenConfig;
|
|
8
|
+
static coinNames: CoinNames;
|
|
9
|
+
constructor(bitgo: BitGoBase, tokenConfig: EthLikeTokenConfig);
|
|
10
|
+
static createTokenConstructor(config: EthLikeTokenConfig): CoinConstructor;
|
|
11
|
+
static createTokenConstructors(): NamedCoinConstructor[];
|
|
12
|
+
protected getTransactionBuilder(): TransactionBuilder;
|
|
13
|
+
/** @inheritDoc **/
|
|
14
|
+
getMPCAlgorithm(): MPCAlgorithm;
|
|
15
|
+
/** @inheritDoc */
|
|
16
|
+
supportsTss(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Make a query to Flare explorer for information such as balance, token balance, solidity calls
|
|
19
|
+
* @param {Object} query key-value pairs of parameters to append after /api
|
|
20
|
+
* @param {string} apiKey optional API key to use instead of the one from the environment
|
|
21
|
+
* @returns {Promise<Object>} response from Flare explorer
|
|
22
|
+
*/
|
|
23
|
+
recoveryBlockchainExplorerQuery(query: Record<string, string>, apiKey?: string): Promise<Record<string, unknown>>;
|
|
24
|
+
getFullName(): string;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=flrToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flrToken.d.ts","sourceRoot":"","sources":["../../src/flrToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAU,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,SAAS,EAAE,YAAY,EAAmC,MAAM,0BAA0B,CAAC;AAEpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,qBAAa,QAAS,SAAQ,YAAY;IACxC,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,SAAS,CAGzB;gBACU,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB;IAG7D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,eAAe;IAI1E,MAAM,CAAC,uBAAuB,IAAI,oBAAoB,EAAE;IAIxD,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAIrD,mBAAmB;IACnB,eAAe,IAAI,YAAY;IAI/B,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB;;;;;OAKG;IACG,+BAA+B,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMnC,WAAW,IAAI,MAAM;CAGtB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlrToken = void 0;
|
|
4
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
5
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
|
+
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
7
|
+
const lib_1 = require("./lib");
|
|
8
|
+
class FlrToken extends abstract_eth_1.EthLikeToken {
|
|
9
|
+
constructor(bitgo, tokenConfig) {
|
|
10
|
+
super(bitgo, tokenConfig, FlrToken.coinNames);
|
|
11
|
+
}
|
|
12
|
+
static createTokenConstructor(config) {
|
|
13
|
+
return super.createTokenConstructor(config, FlrToken.coinNames);
|
|
14
|
+
}
|
|
15
|
+
static createTokenConstructors() {
|
|
16
|
+
return super.createTokenConstructors(FlrToken.coinNames);
|
|
17
|
+
}
|
|
18
|
+
getTransactionBuilder() {
|
|
19
|
+
return new lib_1.TransactionBuilder(statics_1.coins.get(this.getBaseChain()));
|
|
20
|
+
}
|
|
21
|
+
/** @inheritDoc **/
|
|
22
|
+
getMPCAlgorithm() {
|
|
23
|
+
return 'ecdsa';
|
|
24
|
+
}
|
|
25
|
+
/** @inheritDoc */
|
|
26
|
+
supportsTss() {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Make a query to Flare explorer for information such as balance, token balance, solidity calls
|
|
31
|
+
* @param {Object} query key-value pairs of parameters to append after /api
|
|
32
|
+
* @param {string} apiKey optional API key to use instead of the one from the environment
|
|
33
|
+
* @returns {Promise<Object>} response from Flare explorer
|
|
34
|
+
*/
|
|
35
|
+
async recoveryBlockchainExplorerQuery(query, apiKey) {
|
|
36
|
+
const apiToken = apiKey || sdk_core_1.common.Environments[this.bitgo.getEnv()].flrExplorerApiToken;
|
|
37
|
+
const explorerUrl = sdk_core_1.common.Environments[this.bitgo.getEnv()].flrExplorerBaseUrl;
|
|
38
|
+
return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
|
|
39
|
+
}
|
|
40
|
+
getFullName() {
|
|
41
|
+
return 'Flare Token';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.FlrToken = FlrToken;
|
|
45
|
+
FlrToken.coinNames = {
|
|
46
|
+
Mainnet: 'flr',
|
|
47
|
+
Testnet: 'tflr',
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxyVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxyVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQWdFO0FBQ2hFLG1EQUE4RztBQUM5RywyREFBb0c7QUFFcEcsK0JBQTJDO0FBSTNDLE1BQWEsUUFBUyxTQUFRLDJCQUFZO0lBTXhDLFlBQVksS0FBZ0IsRUFBRSxXQUErQjtRQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUEwQjtRQUN0RCxPQUFPLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCO1FBQzVCLE9BQU8sS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSx3QkFBa0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixlQUFlO1FBQ2IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsK0JBQStCLENBQ25DLEtBQTZCLEVBQzdCLE1BQWU7UUFFZixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksaUJBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO1FBQ3hGLE1BQU0sV0FBVyxHQUFHLGlCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztRQUNoRixPQUFPLE1BQU0sSUFBQSw4Q0FBK0IsRUFBQyxLQUFLLEVBQUUsV0FBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7O0FBaERILDRCQWlEQztBQS9DUSxrQkFBUyxHQUFjO0lBQzVCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLE1BQU07Q0FDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zLCBFdGhMaWtlVG9rZW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJpdEdvQmFzZSwgQ29pbkNvbnN0cnVjdG9yLCBjb21tb24sIE1QQ0FsZ29yaXRobSwgTmFtZWRDb2luQ29uc3RydWN0b3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDb2luTmFtZXMsIEV0aExpa2VUb2tlbiwgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeSB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5cbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vbGliJztcblxuZXhwb3J0IHsgRXRoTGlrZVRva2VuQ29uZmlnIH07XG5cbmV4cG9ydCBjbGFzcyBGbHJUb2tlbiBleHRlbmRzIEV0aExpa2VUb2tlbiB7XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnO1xuICBzdGF0aWMgY29pbk5hbWVzOiBDb2luTmFtZXMgPSB7XG4gICAgTWFpbm5ldDogJ2ZscicsXG4gICAgVGVzdG5ldDogJ3RmbHInLFxuICB9O1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCB0b2tlbkNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnKSB7XG4gICAgc3VwZXIoYml0Z28sIHRva2VuQ29uZmlnLCBGbHJUb2tlbi5jb2luTmFtZXMpO1xuICB9XG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gc3VwZXIuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWcsIEZsclRva2VuLmNvaW5OYW1lcyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKEZsclRva2VuLmNvaW5OYW1lcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNhY3Rpb25CdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KHRoaXMuZ2V0QmFzZUNoYWluKCkpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSBhIHF1ZXJ5IHRvIEZsYXJlIGV4cGxvcmVyIGZvciBpbmZvcm1hdGlvbiBzdWNoIGFzIGJhbGFuY2UsIHRva2VuIGJhbGFuY2UsIHNvbGlkaXR5IGNhbGxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBxdWVyeSBrZXktdmFsdWUgcGFpcnMgb2YgcGFyYW1ldGVycyB0byBhcHBlbmQgYWZ0ZXIgL2FwaVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXBpS2V5IG9wdGlvbmFsIEFQSSBrZXkgdG8gdXNlIGluc3RlYWQgb2YgdGhlIG9uZSBmcm9tIHRoZSBlbnZpcm9ubWVudFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxPYmplY3Q+fSByZXNwb25zZSBmcm9tIEZsYXJlIGV4cGxvcmVyXG4gICAqL1xuICBhc3luYyByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KFxuICAgIHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgIGFwaUtleT86IHN0cmluZ1xuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgY29uc3QgYXBpVG9rZW4gPSBhcGlLZXkgfHwgY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS5mbHJFeHBsb3JlckFwaVRva2VuO1xuICAgIGNvbnN0IGV4cGxvcmVyVXJsID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS5mbHJFeHBsb3JlckJhc2VVcmw7XG4gICAgcmV0dXJuIGF3YWl0IHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkocXVlcnksIGV4cGxvcmVyVXJsIGFzIHN0cmluZywgYXBpVG9rZW4pO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0ZsYXJlIFRva2VuJztcbiAgfVxufVxuIl19
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -18,4 +18,5 @@ __exportStar(require("./lib"), exports);
|
|
|
18
18
|
__exportStar(require("./flr"), exports);
|
|
19
19
|
__exportStar(require("./tflr"), exports);
|
|
20
20
|
__exportStar(require("./register"), exports);
|
|
21
|
-
|
|
21
|
+
__exportStar(require("./flrToken"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL2Zscic7XG5leHBvcnQgKiBmcm9tICcuL3RmbHInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZsclRva2VuJztcbiJdfQ==
|
|
@@ -3,9 +3,11 @@ import { TransactionBuilder as AbstractTransactionBuilder } from '@bitgo-beta/ab
|
|
|
3
3
|
import { TransferBuilder } from './transferBuilder';
|
|
4
4
|
export declare class TransactionBuilder extends AbstractTransactionBuilder {
|
|
5
5
|
protected _transfer: TransferBuilder;
|
|
6
|
+
private _signatures;
|
|
6
7
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
8
|
/** @inheritdoc */
|
|
8
9
|
transfer(data?: string): TransferBuilder;
|
|
10
|
+
addSignature(publicKey: any, signature: any): void;
|
|
9
11
|
protected getContractData(addresses: string[]): string;
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAe,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAe,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;IACrC,OAAO,CAAC,WAAW,CAAM;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;IAUxC,YAAY,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA;IAKjC,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;CAGvD"}
|
|
@@ -21,9 +21,13 @@ class TransactionBuilder extends abstract_eth_1.TransactionBuilder {
|
|
|
21
21
|
}
|
|
22
22
|
return this._transfer;
|
|
23
23
|
}
|
|
24
|
+
addSignature(publicKey, signature) {
|
|
25
|
+
this._signatures = [];
|
|
26
|
+
this._signatures.push({ publicKey, signature });
|
|
27
|
+
}
|
|
24
28
|
getContractData(addresses) {
|
|
25
29
|
throw new Error('Method not implemented.');
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
exports.TransactionBuilder = TransactionBuilder;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQThFO0FBQzlFLDJEQUF5RztBQUN6RyxtQ0FBb0M7QUFDcEMsdURBQW9EO0FBRXBELE1BQWEsa0JBQW1CLFNBQVEsaUNBQTBCO0lBSWhFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBQSxpQkFBUyxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSwwQkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsUUFBUSxDQUFDLElBQWE7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLDBCQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVTLGVBQWUsQ0FBQyxTQUFtQjtRQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBN0JELGdEQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIGFzIEFic3RyYWN0VHJhbnNhY3Rpb25CdWlsZGVyLCBUcmFuc2FjdGlvbiB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5pbXBvcnQgeyBnZXRDb21tb24gfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEFic3RyYWN0VHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2ZlcjogVHJhbnNmZXJCdWlsZGVyO1xuICBwcml2YXRlIF9zaWduYXR1cmVzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2NvbW1vbiA9IGdldENvbW1vbih0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRyYW5zZmVyKGRhdGE/OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU2VuZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNmZXJzIGNhbiBvbmx5IGJlIHNldCBmb3Igc2VuZCB0cmFuc2FjdGlvbnMnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl90cmFuc2Zlcikge1xuICAgICAgdGhpcy5fdHJhbnNmZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNmZXI7XG4gIH1cblxuICBhZGRTaWduYXR1cmUocHVibGljS2V5LCBzaWduYXR1cmUpIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW107XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHsgcHVibGljS2V5LCBzaWduYXR1cmUgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29udHJhY3REYXRhKGFkZHJlc3Nlczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAMzC,CAAC"}
|
package/dist/src/register.js
CHANGED
|
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.register = void 0;
|
|
4
4
|
const flr_1 = require("./flr");
|
|
5
5
|
const tflr_1 = require("./tflr");
|
|
6
|
+
const flrToken_1 = require("./flrToken");
|
|
6
7
|
const register = (sdk) => {
|
|
7
8
|
sdk.register('flr', flr_1.Flr.createInstance);
|
|
8
9
|
sdk.register('tflr', tflr_1.Tflr.createInstance);
|
|
10
|
+
flrToken_1.FlrToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
|
|
11
|
+
sdk.register(name, coinConstructor);
|
|
12
|
+
});
|
|
9
13
|
};
|
|
10
14
|
exports.register = register;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQTRCO0FBQzVCLGlDQUE4QjtBQUM5Qix5Q0FBc0M7QUFFL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFjLEVBQVEsRUFBRTtJQUMvQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLG1CQUFRLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3ZFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBTlcsUUFBQSxRQUFRLFlBTW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgRmxyIH0gZnJvbSAnLi9mbHInO1xuaW1wb3J0IHsgVGZsciB9IGZyb20gJy4vdGZscic7XG5pbXBvcnQgeyBGbHJUb2tlbiB9IGZyb20gJy4vZmxyVG9rZW4nO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgc2RrLnJlZ2lzdGVyKCdmbHInLCBGbHIuY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3RmbHInLCBUZmxyLmNyZWF0ZUluc3RhbmNlKTtcbiAgRmxyVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgc2RrLnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const mockDataUnsignedSweep: {
|
|
2
|
+
userKey: string;
|
|
3
|
+
backupKey: string;
|
|
4
|
+
derivationPath: string;
|
|
5
|
+
derivationSeed: string;
|
|
6
|
+
walletBaseAddress: string;
|
|
7
|
+
recoveryDestination: string;
|
|
8
|
+
getTxListRequest: Record<string, string>;
|
|
9
|
+
getTxListResponse: Record<string, unknown>;
|
|
10
|
+
getBalanceRequest: Record<string, string>;
|
|
11
|
+
getBalanceResponse: Record<string, unknown>;
|
|
12
|
+
};
|
|
13
|
+
export declare const mockDataNonBitGoRecovery: {
|
|
14
|
+
recoveryDestination: string;
|
|
15
|
+
userKeyData: string;
|
|
16
|
+
backupKeyData: string;
|
|
17
|
+
walletPassphrase: string;
|
|
18
|
+
walletRootAddress: string;
|
|
19
|
+
getTxListRequest: Record<string, string>;
|
|
20
|
+
getTxListResponse: Record<string, unknown>;
|
|
21
|
+
getBalanceRequest: Record<string, string>;
|
|
22
|
+
getBalanceResponse: Record<string, unknown>;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../test/resources.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAajC,CAAC;AAkCF,eAAO,MAAM,wBAAwB;;;;;;;;;;CAYpC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mockDataNonBitGoRecovery = exports.mockDataUnsignedSweep = void 0;
|
|
4
|
+
const getTxListRequestUnsignedSweep = {
|
|
5
|
+
chainid: '114',
|
|
6
|
+
module: 'account',
|
|
7
|
+
action: 'txlist',
|
|
8
|
+
address: '0x1469e6e519ff8bf398b76b4be0b50701b999f14c',
|
|
9
|
+
};
|
|
10
|
+
const getTxListResponseUnsignedSweep = {
|
|
11
|
+
status: '1',
|
|
12
|
+
result: [
|
|
13
|
+
{
|
|
14
|
+
hash: '0xede855d43d70ea1bb75db63d4f75113dae0845f0d4bdb0b2d8bda55249c70812',
|
|
15
|
+
nonce: '23',
|
|
16
|
+
from: '0x1469e6e519ff8bf398b76b4be0b50701b999f14c',
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
message: 'OK',
|
|
20
|
+
};
|
|
21
|
+
const getBalanceRequestUnsignedSweep = {
|
|
22
|
+
chainid: '114',
|
|
23
|
+
module: 'account',
|
|
24
|
+
action: 'balance',
|
|
25
|
+
address: '0x1469e6e519ff8bf398b76b4be0b50701b999f14c',
|
|
26
|
+
};
|
|
27
|
+
const getBalanceResponseUnsignedSweep = {
|
|
28
|
+
status: '1',
|
|
29
|
+
result: '100000000000000000',
|
|
30
|
+
message: 'OK',
|
|
31
|
+
};
|
|
32
|
+
exports.mockDataUnsignedSweep = {
|
|
33
|
+
userKey: '038412b0e79372ca618978f2bc9fc944c504e828050a55a19fdfeca93cff5ec6562ae94f204a3f99e87334f812be8a54927ff24572bc666c5436887d2e42c0997d',
|
|
34
|
+
backupKey: '038412b0e79372ca618978f2bc9fc944c504e828050a55a19fdfeca93cff5ec6562ae94f204a3f99e87334f812be8a54927ff24572bc666c5436887d2e42c0997d',
|
|
35
|
+
derivationPath: 'm/0',
|
|
36
|
+
derivationSeed: '',
|
|
37
|
+
walletBaseAddress: '0x1469e6e519ff8bf398b76b4be0b50701b999f14c',
|
|
38
|
+
recoveryDestination: '0x07efb1aa5e41b70b21facd3d287548ebf632a165',
|
|
39
|
+
getTxListRequest: getTxListRequestUnsignedSweep,
|
|
40
|
+
getTxListResponse: getTxListResponseUnsignedSweep,
|
|
41
|
+
getBalanceRequest: getBalanceRequestUnsignedSweep,
|
|
42
|
+
getBalanceResponse: getBalanceResponseUnsignedSweep,
|
|
43
|
+
};
|
|
44
|
+
const getTxListRequestNonBitGoRecovery = {
|
|
45
|
+
chainid: '114',
|
|
46
|
+
module: 'account',
|
|
47
|
+
action: 'txlist',
|
|
48
|
+
address: '0xfeffc77a7b7e4921484e9af3fd5602b5a2c9018e',
|
|
49
|
+
};
|
|
50
|
+
const getTxListResponseNonBitGoRecovery = {
|
|
51
|
+
status: '1',
|
|
52
|
+
result: [
|
|
53
|
+
{
|
|
54
|
+
hash: '0xede855d43d70ea1bb75db63d4f75113dae0845f0d4bdb0b2d8bda55249c70812',
|
|
55
|
+
nonce: '23',
|
|
56
|
+
from: '0xfeffc77a7b7e4921484e9af3fd5602b5a2c9018e',
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
message: 'OK',
|
|
60
|
+
};
|
|
61
|
+
const getBalanceRequestNonBitGoRecovery = {
|
|
62
|
+
chainid: '114',
|
|
63
|
+
module: 'account',
|
|
64
|
+
action: 'balance',
|
|
65
|
+
address: '0xfeffc77a7b7e4921484e9af3fd5602b5a2c9018e',
|
|
66
|
+
};
|
|
67
|
+
const getBalanceResponseNonBitGoRecovery = {
|
|
68
|
+
status: '1',
|
|
69
|
+
result: '100000000000000000',
|
|
70
|
+
message: 'OK',
|
|
71
|
+
};
|
|
72
|
+
exports.mockDataNonBitGoRecovery = {
|
|
73
|
+
recoveryDestination: '0xc97d9c8d769aefcc7c32857b5cc583f30ad68ecb',
|
|
74
|
+
userKeyData: '{"iv":"/bk/xK76bHfCug3ko8pvKg==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"Q84QpUq1ybI=","ct":"c5LT7X2W6DQyj4OQv3IdGdaphbupQKviqHuOEr9coVoB0MNVSBbo5PuWoVWUe1CK/2GLZpXKXcpii6pUEYA+RgHKLCvNXN1jmSW/QwePQjHTKLC5yjL4huLkmxKTYBpNz2FttuvkdjNVMUMmBAyv0lWhq2hQf2VAq+7XfzXRyhm8f8CuYvFNp3M0NrxZmphMayg2WPd3ONymZKjTwxNak9DzZ0duWqeGaT+tSAbBLQp9Y3s8qVMEHj8to/gJGXxRaWYT2Zxb5OLR6qkjRYwwP8E8ywllgYxn5diSPkS/2QFLqRVoT1WxmJT2P9nwfhabiZi7U1owwvFBp27eF4efpx+bXoH89eqldSJGGOV8rwR3MUuAdLx5cNYqsC3h4biiam5cz7uuN7NVuOlE+46qqWekQlxgWmJrGi8dmbxrbcpVoerLl1ozU4DbIbrzuFfm9ncwy3tsKiALNyXmYTwOl505Knb7zCkHRFAauNSTiHvF1syPgixwNWV4J+dSFHjdWjoldwvoRsggS85u5qxk738aTc9umFVo9mOIQmHZUYZA22PocvzUW1EchSulbVDHPbQVZ1DrRDVMJ+MzhT+t+ePlXP2RBxL69zTnK+2L2Xa9doRhVnbOCFA/lEx2WMhiV2c95gakkucs0YGcwmqQZ/6ttc1wdkIKf27hsyAiUP8HczzgogwXIzSss2WilMxXV+VBmNFxuAACC6fGSKwAaqbBm5XdI51KO+A3V24ImfzZPNvnsJ21TkZQ3hlUf6Mznii/lV0bR+zG9mQ6riWyDKunMzl5zNy/eDh0vUJQrz5OxOxCghME9bem4aV4Wy4qt7L58N9Sh3GcV1CmgeQJXS3gB1YtjD8RFUG2dwGqLNhbJ4N8V6B441mF6ZdswoJcUbTqQWOL1QP20XWwhcxV97FTGsHfYZT/jqG36eFMDzLInkSYzmhgm+Cc0esqdwxJ+rFhahvKUlGxVJ9SZmu2m9Y9FwCdtMlHcETK+00iVuZfZscDfBMgGeMcBhDzu6PRCB4nBohztTZbzSjr3x2AS5Aoe9KZUxr2DzCVWmOT9LU9bQ8dnec0Dj8hgLdzPpi0XtV4UttGQnuCv7awRWmHIg=="}',
|
|
75
|
+
backupKeyData: '{"iv":"o/6M84s9QYg6J4qBFPnT1g==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"TXOYiG8qw5A=","ct":"4u6DPzyq1G8uvsrbOcTLOPpP8ITMZkDnh/sVlneLOxjHy6TELzgL1+XmO+SLqY+BPA7lX/kmWVnyEPX/Wy+SHAufr4gA9N6GHio9wPLQ0fnN59VYgB1px9405wW+JMo2e1gtGF4Gr2rLXdbSncIfw2V5dJ4SeHlHtiQZyc2JTy+PFHsrtfHcilBlf/5P4otEhf9RY5cAL05WvyGuFiap+u9LCMCWzlSdS8qdi0Tk8ci6FQ7ku/0aOOHvG2bikeKVMraarngYIHEmEIgKdutCNqWTlqnBi+aTI8GUdwc/Gb2aKg1pfdmhqujlDfsSs4e54UqjNACo4vAtolAhPdTtZHosJ90F5BUSlxvDeMURA6LnkCZ2sMVOaegEXGfU3EnmL+92mYzlwENpjaKQaTqHWCJYm1LCOtgAItXNAfRqqENNWMsoZBd/16Rf8LjePMvUXbzBDJ7/CYPkuMusNBga9gjbp1H/YcH29oJmKQyZOh7dNzshpmiyi3B/IzgxZxD9VbJER3/0mzgAa8dIx884UUOIOEeTbomx0HIJyTnLBL8xhT/5oiWO6bINWx0Mm9dLnnQH4hKdNGpx0VKRMhAh38axiRgGg52HZ3zOatOHXfoTmY50+JWcX+nDGOdxdHsLBJvTU+FEgVtFlrGw36cdePcc8BeHFmMuOFZ3gIer+PBxtoUsfcW6Yxs0ieRSlpx6kNjX38wMBRSmOeGtLy9PmBf7Uzi1/qkPUXATkT7+t6J+E3uEcdoG2Pu+7djv7esATFXpG7dDZXKXm7B3eRRDrWehzL/y2ZHbyQwG5konCtWx+rTzjSh6veAQ1MkbNtC8RQV391KPvhcDrCy4Tb0USjLgLjstaR51EOUKK5M6bX0E0n5gLN53JE25SPLgrWQrs43wGs/zEbGzq+ZuTbQRNldJPhiln4+Q1MrxE9ZZ9sVDRDqmQ41nWn1+doEo0gsB93H9LkZCRq+zAuaWyyWmMs2tyNOXQFQL5zEV8Fd4tlPCIwjmAv6oyZlwHAU3A3lqi4Up/pBmy5UcxJ+5Q2a1Bci5wjRCNxrM1QFY10thMqFU+w6w1OzEdzCrp45VbG2fKiUkMC7ZF8Qv3qPB"}',
|
|
76
|
+
walletPassphrase: 'prithvishet2503',
|
|
77
|
+
walletRootAddress: '0xfeffc77a7b7e4921484e9af3fd5602b5a2c9018e',
|
|
78
|
+
getTxListRequest: getTxListRequestNonBitGoRecovery,
|
|
79
|
+
getTxListResponse: getTxListResponseNonBitGoRecovery,
|
|
80
|
+
getBalanceRequest: getBalanceRequestNonBitGoRecovery,
|
|
81
|
+
getBalanceResponse: getBalanceResponseNonBitGoRecovery,
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSw2QkFBNkIsR0FBMkI7SUFDNUQsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUE0QjtJQUM5RCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRTtRQUNOO1lBQ0UsSUFBSSxFQUFFLG9FQUFvRTtZQUMxRSxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSw0Q0FBNEM7U0FDbkQ7S0FDRjtJQUNELE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLE1BQU0sOEJBQThCLEdBQTJCO0lBQzdELE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsT0FBTyxFQUFFLDRDQUE0QztDQUN0RCxDQUFDO0FBRUYsTUFBTSwrQkFBK0IsR0FBNEI7SUFDL0QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVXLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsT0FBTyxFQUNMLG9JQUFvSTtJQUN0SSxTQUFTLEVBQ1Asb0lBQW9JO0lBQ3RJLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGNBQWMsRUFBRSxFQUFFO0lBQ2xCLGlCQUFpQixFQUFFLDRDQUE0QztJQUMvRCxtQkFBbUIsRUFBRSw0Q0FBNEM7SUFDakUsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLGlCQUFpQixFQUFFLDhCQUE4QjtJQUNqRCxpQkFBaUIsRUFBRSw4QkFBOEI7SUFDakQsa0JBQWtCLEVBQUUsK0JBQStCO0NBQ3BELENBQUM7QUFFRixNQUFNLGdDQUFnQyxHQUEyQjtJQUMvRCxPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSw0Q0FBNEM7Q0FDdEQsQ0FBQztBQUVGLE1BQU0saUNBQWlDLEdBQTRCO0lBQ2pFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFO1FBQ047WUFDRSxJQUFJLEVBQUUsb0VBQW9FO1lBQzFFLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLDRDQUE0QztTQUNuRDtLQUNGO0lBQ0QsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsTUFBTSxpQ0FBaUMsR0FBMkI7SUFDaEUsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLGtDQUFrQyxHQUE0QjtJQUNsRSxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRVcsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxtQkFBbUIsRUFBRSw0Q0FBNEM7SUFDakUsV0FBVyxFQUNULG91Q0FBb3VDO0lBQ3R1QyxhQUFhLEVBQ1gsNHRDQUE0dEM7SUFDOXRDLGdCQUFnQixFQUFFLGlCQUFpQjtJQUNuQyxpQkFBaUIsRUFBRSw0Q0FBNEM7SUFDL0QsZ0JBQWdCLEVBQUUsZ0NBQWdDO0lBQ2xELGlCQUFpQixFQUFFLGlDQUFpQztJQUNwRCxpQkFBaUIsRUFBRSxpQ0FBaUM7SUFDcEQsa0JBQWtCLEVBQUUsa0NBQWtDO0NBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRUeExpc3RSZXF1ZXN0VW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzExNCcsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICd0eGxpc3QnLFxuICBhZGRyZXNzOiAnMHgxNDY5ZTZlNTE5ZmY4YmYzOThiNzZiNGJlMGI1MDcwMWI5OTlmMTRjJyxcbn07XG5cbmNvbnN0IGdldFR4TGlzdFJlc3BvbnNlVW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6IFtcbiAgICB7XG4gICAgICBoYXNoOiAnMHhlZGU4NTVkNDNkNzBlYTFiYjc1ZGI2M2Q0Zjc1MTEzZGFlMDg0NWYwZDRiZGIwYjJkOGJkYTU1MjQ5YzcwODEyJyxcbiAgICAgIG5vbmNlOiAnMjMnLFxuICAgICAgZnJvbTogJzB4MTQ2OWU2ZTUxOWZmOGJmMzk4Yjc2YjRiZTBiNTA3MDFiOTk5ZjE0YycsXG4gICAgfSxcbiAgXSxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXF1ZXN0VW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzExNCcsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICdiYWxhbmNlJyxcbiAgYWRkcmVzczogJzB4MTQ2OWU2ZTUxOWZmOGJmMzk4Yjc2YjRiZTBiNTA3MDFiOTk5ZjE0YycsXG59O1xuXG5jb25zdCBnZXRCYWxhbmNlUmVzcG9uc2VVbnNpZ25lZFN3ZWVwOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgc3RhdHVzOiAnMScsXG4gIHJlc3VsdDogJzEwMDAwMDAwMDAwMDAwMDAwMCcsXG4gIG1lc3NhZ2U6ICdPSycsXG59O1xuXG5leHBvcnQgY29uc3QgbW9ja0RhdGFVbnNpZ25lZFN3ZWVwID0ge1xuICB1c2VyS2V5OlxuICAgICcwMzg0MTJiMGU3OTM3MmNhNjE4OTc4ZjJiYzlmYzk0NGM1MDRlODI4MDUwYTU1YTE5ZmRmZWNhOTNjZmY1ZWM2NTYyYWU5NGYyMDRhM2Y5OWU4NzMzNGY4MTJiZThhNTQ5MjdmZjI0NTcyYmM2NjZjNTQzNjg4N2QyZTQyYzA5OTdkJyxcbiAgYmFja3VwS2V5OlxuICAgICcwMzg0MTJiMGU3OTM3MmNhNjE4OTc4ZjJiYzlmYzk0NGM1MDRlODI4MDUwYTU1YTE5ZmRmZWNhOTNjZmY1ZWM2NTYyYWU5NGYyMDRhM2Y5OWU4NzMzNGY4MTJiZThhNTQ5MjdmZjI0NTcyYmM2NjZjNTQzNjg4N2QyZTQyYzA5OTdkJyxcbiAgZGVyaXZhdGlvblBhdGg6ICdtLzAnLFxuICBkZXJpdmF0aW9uU2VlZDogJycsXG4gIHdhbGxldEJhc2VBZGRyZXNzOiAnMHgxNDY5ZTZlNTE5ZmY4YmYzOThiNzZiNGJlMGI1MDcwMWI5OTlmMTRjJyxcbiAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogJzB4MDdlZmIxYWE1ZTQxYjcwYjIxZmFjZDNkMjg3NTQ4ZWJmNjMyYTE2NScsXG4gIGdldFR4TGlzdFJlcXVlc3Q6IGdldFR4TGlzdFJlcXVlc3RVbnNpZ25lZFN3ZWVwLFxuICBnZXRUeExpc3RSZXNwb25zZTogZ2V0VHhMaXN0UmVzcG9uc2VVbnNpZ25lZFN3ZWVwLFxuICBnZXRCYWxhbmNlUmVxdWVzdDogZ2V0QmFsYW5jZVJlcXVlc3RVbnNpZ25lZFN3ZWVwLFxuICBnZXRCYWxhbmNlUmVzcG9uc2U6IGdldEJhbGFuY2VSZXNwb25zZVVuc2lnbmVkU3dlZXAsXG59O1xuXG5jb25zdCBnZXRUeExpc3RSZXF1ZXN0Tm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzExNCcsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICd0eGxpc3QnLFxuICBhZGRyZXNzOiAnMHhmZWZmYzc3YTdiN2U0OTIxNDg0ZTlhZjNmZDU2MDJiNWEyYzkwMThlJyxcbn07XG5cbmNvbnN0IGdldFR4TGlzdFJlc3BvbnNlTm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6IFtcbiAgICB7XG4gICAgICBoYXNoOiAnMHhlZGU4NTVkNDNkNzBlYTFiYjc1ZGI2M2Q0Zjc1MTEzZGFlMDg0NWYwZDRiZGIwYjJkOGJkYTU1MjQ5YzcwODEyJyxcbiAgICAgIG5vbmNlOiAnMjMnLFxuICAgICAgZnJvbTogJzB4ZmVmZmM3N2E3YjdlNDkyMTQ4NGU5YWYzZmQ1NjAyYjVhMmM5MDE4ZScsXG4gICAgfSxcbiAgXSxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXF1ZXN0Tm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzExNCcsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICdiYWxhbmNlJyxcbiAgYWRkcmVzczogJzB4ZmVmZmM3N2E3YjdlNDkyMTQ4NGU5YWYzZmQ1NjAyYjVhMmM5MDE4ZScsXG59O1xuXG5jb25zdCBnZXRCYWxhbmNlUmVzcG9uc2VOb25CaXRHb1JlY292ZXJ5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgc3RhdHVzOiAnMScsXG4gIHJlc3VsdDogJzEwMDAwMDAwMDAwMDAwMDAwMCcsXG4gIG1lc3NhZ2U6ICdPSycsXG59O1xuXG5leHBvcnQgY29uc3QgbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5ID0ge1xuICByZWNvdmVyeURlc3RpbmF0aW9uOiAnMHhjOTdkOWM4ZDc2OWFlZmNjN2MzMjg1N2I1Y2M1ODNmMzBhZDY4ZWNiJyxcbiAgdXNlcktleURhdGE6XG4gICAgJ3tcIml2XCI6XCIvYmsveEs3NmJIZkN1ZzNrbzhwdktnPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiUTg0UXBVcTF5Ykk9XCIsXCJjdFwiOlwiYzVMVDdYMlc2RFF5ajRPUXYzSWRHZGFwaGJ1cFFLdmlxSHVPRXI5Y29Wb0IwTU5WU0JibzVQdVdvVldVZTFDSy8yR0xacFhLWGNwaWk2cFVFWUErUmdIS0xDdk5YTjFqbVNXL1F3ZVBRakhUS0xDNXlqTDRodUxrbXhLVFlCcE56MkZ0dHV2a2RqTlZNVU1tQkF5djBsV2hxMmhRZjJWQXErN1hmelhSeWhtOGY4Q3VZdkZOcDNNME5yeFptcGhNYXlnMldQZDNPTnltWktqVHd4TmFrOUR6WjBkdVdxZUdhVCt0U0FiQkxRcDlZM3M4cVZNRUhqOHRvL2dKR1h4UmFXWVQyWnhiNU9MUjZxa2pSWXd3UDhFOHl3bGxnWXhuNWRpU1BrUy8yUUZMcVJWb1QxV3htSlQyUDlud2ZoYWJpWmk3VTFvd3d2RkJwMjdlRjRlZnB4K2JYb0g4OWVxbGRTSkdHT1Y4cndSM01VdUFkTHg1Y05ZcXNDM2g0YmlpYW01Y3o3dXVON05WdU9sRSs0NnFxV2VrUWx4Z1dtSnJHaThkbWJ4cmJjcFZvZXJMbDFvelU0RGJJYnJ6dUZmbTluY3d5M3RzS2lBTE55WG1ZVHdPbDUwNUtuYjd6Q2tIUkZBYXVOU1RpSHZGMXN5UGdpeHdOV1Y0SitkU0ZIamRXam9sZHd2b1JzZ2dTODV1NXF4azczOGFUYzl1bUZWbzltT0lRbUhaVVlaQTIyUG9jdnpVVzFFY2hTdWxiVkRIUGJRVloxRHJSRFZNSitNemhUK3QrZVBsWFAyUkJ4TDY5elRuSysyTDJYYTlkb1JoVm5iT0NGQS9sRXgyV01oaVYyYzk1Z2Fra3VjczBZR2N3bXFRWi82dHRjMXdka0lLZjI3aHN5QWlVUDhIY3p6Z29nd1hJelNzczJXaWxNeFhWK1ZCbU5GeHVBQUNDNmZHU0t3QWFxYkJtNVhkSTUxS08rQTNWMjRJbWZ6WlBOdm5zSjIxVGtaUTNobFVmNk16bmlpL2xWMGJSK3pHOW1RNnJpV3lES3VuTXpsNXpOeS9lRGgwdlVKUXJ6NU94T3hDZ2hNRTliZW00YVY0V3k0cXQ3TDU4TjlTaDNHY1YxQ21nZVFKWFMzZ0IxWXRqRDhSRlVHMmR3R3FMTmhiSjROOFY2QjQ0MW1GNlpkc3dvSmNVYlRxUVdPTDFRUDIwWFd3aGN4Vjk3RlRHc0hmWVpUL2pxRzM2ZUZNRHpMSW5rU1l6bWhnbStDYzBlc3Fkd3hKK3JGaGFodktVbEd4Vko5U1ptdTJtOVk5RndDZHRNbEhjRVRLKzAwaVZ1WmZac2NEZkJNZ0dlTWNCaER6dTZQUkNCNG5Cb2h6dFRaYnpTanIzeDJBUzVBb2U5S1pVeHIyRHpDVldtT1Q5TFU5YlE4ZG5lYzBEajhoZ0xkelBwaTBYdFY0VXR0R1FudUN2N2F3UldtSElnPT1cIn0nLFxuICBiYWNrdXBLZXlEYXRhOlxuICAgICd7XCJpdlwiOlwiby82TTg0czlRWWc2SjRxQkZQblQxZz09XCIsXCJ2XCI6MSxcIml0ZXJcIjoxMDAwMCxcImtzXCI6MjU2LFwidHNcIjo2NCxcIm1vZGVcIjpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcIlRYT1lpRzhxdzVBPVwiLFwiY3RcIjpcIjR1NkRQenlxMUc4dXZzcmJPY1RMT1BwUDhJVE1aa0RuaC9zVmxuZUxPeGpIeTZURUx6Z0wxK1htTytTTHFZK0JQQTdsWC9rbVdWbnlFUFgvV3krU0hBdWZyNGdBOU42R0hpbzl3UExRMGZuTjU5VllnQjFweDk0MDV3VytKTW8yZTFndEdGNEdyMnJMWGRiU25jSWZ3MlY1ZEo0U2VIbEh0aVFaeWMySlR5K1BGSHNydGZIY2lsQmxmLzVQNG90RWhmOVJZNWNBTDA1V3Z5R3VGaWFwK3U5TENNQ1d6bFNkUzhxZGkwVGs4Y2k2RlE3a3UvMGFPT0h2RzJiaWtlS1ZNcmFhcm5nWUlIRW1FSWdLZHV0Q05xV1RscW5CaSthVEk4R1Vkd2MvR2IyYUtnMXBmZG1ocXVqbERmc1NzNGU1NFVxak5BQ280dkF0b2xBaFBkVHRaSG9zSjkwRjVCVVNseHZEZU1VUkE2TG5rQ1oyc01WT2FlZ0VYR2ZVM0VubUwrOTJtWXpsd0VOcGphS1FhVHFIV0NKWW0xTENPdGdBSXRYTkFmUnFxRU5OV01zb1pCZC8xNlJmOExqZVBNdlVYYnpCREo3L0NZUGt1TXVzTkJnYTlnamJwMUgvWWNIMjlvSm1LUXlaT2g3ZE56c2hwbWl5aTNCL0l6Z3haeEQ5VmJKRVIzLzBtemdBYThkSXg4ODRVVU9JT0VlVGJvbXgwSElKeVRuTEJMOHhoVC81b2lXTzZiSU5XeDBNbTlkTG5uUUg0aEtkTkdweDBWS1JNaEFoMzhheGlSZ0dnNTJIWjN6T2F0T0hYZm9UbVk1MCtKV2NYK25ER09keGRIc0xCSnZUVStGRWdWdEZsckd3MzZjZGVQY2M4QmVIRm1NdU9GWjNnSWVyK1BCeHRvVXNmY1c2WXhzMGllUlNscHg2a05qWDM4d01CUlNtT2VHdEx5OVBtQmY3VXppMS9xa1BVWEFUa1Q3K3Q2SitFM3VFY2RvRzJQdSs3ZGp2N2VzQVRGWHBHN2REWlhLWG03QjNlUlJEcldlaHpML3kyWkhieVF3RzVrb25DdFd4K3JUempTaDZ2ZUFRMU1rYk50QzhSUVYzOTFLUHZoY0RyQ3k0VGIwVVNqTGdManN0YVI1MUVPVUtLNU02YlgwRTBuNWdMTjUzSkUyNVNQTGdyV1FyczQzd0dzL3pFYkd6cStadVRiUVJObGRKUGhpbG40K1ExTXJ4RTlaWjlzVkRSRHFtUTQxblduMStkb0VvMGdzQjkzSDlMa1pDUnErekF1YVd5eVdtTXMydHlOT1hRRlFMNXpFVjhGZDR0bFBDSXdqbUF2Nm95Wmx3SEFVM0EzbHFpNFVwL3BCbXk1VWN4Sis1UTJhMUJjaTV3alJDTnhyTTFRRlkxMHRoTXFGVSt3NncxT3pFZHpDcnA0NVZiRzJmS2lVa01DN1pGOFF2M3FQQlwifScsXG4gIHdhbGxldFBhc3NwaHJhc2U6ICdwcml0aHZpc2hldDI1MDMnLFxuICB3YWxsZXRSb290QWRkcmVzczogJzB4ZmVmZmM3N2E3YjdlNDkyMTQ4NGU5YWYzZmQ1NjAyYjVhMmM5MDE4ZScsXG4gIGdldFR4TGlzdFJlcXVlc3Q6IGdldFR4TGlzdFJlcXVlc3ROb25CaXRHb1JlY292ZXJ5LFxuICBnZXRUeExpc3RSZXNwb25zZTogZ2V0VHhMaXN0UmVzcG9uc2VOb25CaXRHb1JlY292ZXJ5LFxuICBnZXRCYWxhbmNlUmVxdWVzdDogZ2V0QmFsYW5jZVJlcXVlc3ROb25CaXRHb1JlY292ZXJ5LFxuICBnZXRCYWxhbmNlUmVzcG9uc2U6IGdldEJhbGFuY2VSZXNwb25zZU5vbkJpdEdvUmVjb3ZlcnksXG59O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flr.d.ts","sourceRoot":"","sources":["../../../test/unit/flr.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const should = __importStar(require("should"));
|
|
40
|
+
const sdk_test_1 = require("@bitgo-beta/sdk-test");
|
|
41
|
+
const sdk_api_1 = require("@bitgo-beta/sdk-api");
|
|
42
|
+
const index_1 = require("../../src/index");
|
|
43
|
+
const resources_1 = require("../resources");
|
|
44
|
+
const nock_1 = __importDefault(require("nock"));
|
|
45
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
46
|
+
const tx_1 = require("@ethereumjs/tx");
|
|
47
|
+
const util_1 = require("@ethereumjs/util");
|
|
48
|
+
const bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
|
|
49
|
+
describe('flr', function () {
|
|
50
|
+
before(function () {
|
|
51
|
+
bitgo.safeRegister('flr', index_1.Flr.createInstance);
|
|
52
|
+
bitgo.safeRegister('tflr', index_1.Tflr.createInstance);
|
|
53
|
+
bitgo.initializeTestVars();
|
|
54
|
+
});
|
|
55
|
+
describe('Basic Coin Info', function () {
|
|
56
|
+
it('should return the right info for flr', function () {
|
|
57
|
+
const flr = bitgo.coin('flr');
|
|
58
|
+
flr.should.be.an.instanceof(index_1.Flr);
|
|
59
|
+
flr.getChain().should.equal('flr');
|
|
60
|
+
flr.getFamily().should.equal('flr');
|
|
61
|
+
flr.getFullName().should.equal('Flare');
|
|
62
|
+
flr.getBaseFactor().should.equal(1e18);
|
|
63
|
+
flr.supportsTss().should.equal(true);
|
|
64
|
+
flr.allowsAccountConsolidations().should.equal(false);
|
|
65
|
+
});
|
|
66
|
+
it('should return the right info for tflr', function () {
|
|
67
|
+
const tflr = bitgo.coin('tflr');
|
|
68
|
+
tflr.should.be.an.instanceof(index_1.Tflr);
|
|
69
|
+
tflr.getChain().should.equal('tflr');
|
|
70
|
+
tflr.getFamily().should.equal('flr');
|
|
71
|
+
tflr.getFullName().should.equal('Testnet flare');
|
|
72
|
+
tflr.getBaseFactor().should.equal(1e18);
|
|
73
|
+
tflr.supportsTss().should.equal(true);
|
|
74
|
+
tflr.allowsAccountConsolidations().should.equal(false);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
describe('Build Unsigned Sweep for Self-Custody Cold Wallets - (MPCv2)', function () {
|
|
79
|
+
const bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
|
|
80
|
+
const explorerUrl = sdk_core_1.common.Environments[bitgo.getEnv()].flrExplorerBaseUrl;
|
|
81
|
+
const maxFeePerGasvalue = 30000000000;
|
|
82
|
+
const maxPriorityFeePerGasValue = 15000000000;
|
|
83
|
+
const chain_id = 114;
|
|
84
|
+
const gasLimitvalue = 500000;
|
|
85
|
+
it('should generate an unsigned sweep without derivation path', async () => {
|
|
86
|
+
(0, nock_1.default)(explorerUrl)
|
|
87
|
+
.get('/api')
|
|
88
|
+
.twice()
|
|
89
|
+
.query(resources_1.mockDataUnsignedSweep.getTxListRequest)
|
|
90
|
+
.reply(200, resources_1.mockDataUnsignedSweep.getTxListResponse);
|
|
91
|
+
(0, nock_1.default)(explorerUrl)
|
|
92
|
+
.get('/api')
|
|
93
|
+
.query(resources_1.mockDataUnsignedSweep.getBalanceRequest)
|
|
94
|
+
.reply(200, resources_1.mockDataUnsignedSweep.getBalanceResponse);
|
|
95
|
+
const baseCoin = bitgo.coin('tflr');
|
|
96
|
+
const transaction = (await baseCoin.recover({
|
|
97
|
+
userKey: resources_1.mockDataUnsignedSweep.userKey,
|
|
98
|
+
backupKey: resources_1.mockDataUnsignedSweep.backupKey,
|
|
99
|
+
walletContractAddress: resources_1.mockDataUnsignedSweep.walletBaseAddress,
|
|
100
|
+
recoveryDestination: resources_1.mockDataUnsignedSweep.recoveryDestination,
|
|
101
|
+
isTss: true,
|
|
102
|
+
eip1559: { maxFeePerGas: maxFeePerGasvalue, maxPriorityFeePerGas: maxPriorityFeePerGasValue },
|
|
103
|
+
gasLimit: gasLimitvalue,
|
|
104
|
+
replayProtectionOptions: {
|
|
105
|
+
chain: chain_id,
|
|
106
|
+
hardfork: 'london',
|
|
107
|
+
},
|
|
108
|
+
}));
|
|
109
|
+
should.exist(transaction);
|
|
110
|
+
transaction.should.have.property('txRequests');
|
|
111
|
+
transaction.txRequests.length.should.equal(1);
|
|
112
|
+
const txRequest = transaction.txRequests[0];
|
|
113
|
+
txRequest.should.have.property('walletCoin');
|
|
114
|
+
txRequest.walletCoin.should.equal('tflr');
|
|
115
|
+
txRequest.should.have.property('transactions');
|
|
116
|
+
txRequest.transactions.length.should.equal(1);
|
|
117
|
+
const tx = txRequest.transactions[0];
|
|
118
|
+
tx.should.have.property('nonce');
|
|
119
|
+
tx.should.have.property('unsignedTx');
|
|
120
|
+
tx.unsignedTx.should.have.property('serializedTxHex');
|
|
121
|
+
tx.unsignedTx.should.have.property('signableHex');
|
|
122
|
+
tx.unsignedTx.should.have.property('derivationPath');
|
|
123
|
+
tx.unsignedTx.should.have.property('feeInfo');
|
|
124
|
+
tx.unsignedTx.feeInfo?.should.have.property('fee');
|
|
125
|
+
tx.unsignedTx.feeInfo?.should.have.property('feeString');
|
|
126
|
+
tx.unsignedTx.should.have.property('parsedTx');
|
|
127
|
+
tx.unsignedTx.parsedTx?.should.have.property('spendAmount');
|
|
128
|
+
tx.unsignedTx.parsedTx?.should.have.property('outputs');
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
describe('Non Bitgo Recovery for Hot Wallets', function () {
|
|
132
|
+
const bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
|
|
133
|
+
const explorerUrl = sdk_core_1.common.Environments[bitgo.getEnv()].flrExplorerBaseUrl;
|
|
134
|
+
const maxFeePerGasvalue = 30000000000;
|
|
135
|
+
const maxPriorityFeePerGasValue = 15000000000;
|
|
136
|
+
const chain_id = 114;
|
|
137
|
+
const gasLimitvalue = 500000;
|
|
138
|
+
it('should generate a signed non-bitgo recovery tx', async () => {
|
|
139
|
+
(0, nock_1.default)(explorerUrl)
|
|
140
|
+
.get('/api')
|
|
141
|
+
.twice()
|
|
142
|
+
.query(resources_1.mockDataNonBitGoRecovery.getTxListRequest)
|
|
143
|
+
.reply(200, resources_1.mockDataNonBitGoRecovery.getTxListResponse);
|
|
144
|
+
(0, nock_1.default)(explorerUrl)
|
|
145
|
+
.get('/api')
|
|
146
|
+
.query(resources_1.mockDataNonBitGoRecovery.getBalanceRequest)
|
|
147
|
+
.reply(200, resources_1.mockDataNonBitGoRecovery.getBalanceResponse);
|
|
148
|
+
const baseCoin = bitgo.coin('tflr');
|
|
149
|
+
const transaction = await baseCoin.recover({
|
|
150
|
+
userKey: resources_1.mockDataNonBitGoRecovery.userKeyData,
|
|
151
|
+
backupKey: resources_1.mockDataNonBitGoRecovery.backupKeyData,
|
|
152
|
+
walletContractAddress: resources_1.mockDataNonBitGoRecovery.walletRootAddress,
|
|
153
|
+
walletPassphrase: resources_1.mockDataNonBitGoRecovery.walletPassphrase,
|
|
154
|
+
recoveryDestination: resources_1.mockDataNonBitGoRecovery.recoveryDestination,
|
|
155
|
+
isTss: true,
|
|
156
|
+
eip1559: { maxFeePerGas: maxFeePerGasvalue, maxPriorityFeePerGas: maxPriorityFeePerGasValue },
|
|
157
|
+
gasLimit: gasLimitvalue,
|
|
158
|
+
replayProtectionOptions: {
|
|
159
|
+
chain: chain_id,
|
|
160
|
+
hardfork: 'london',
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
should.exist(transaction);
|
|
164
|
+
transaction.should.have.property('id');
|
|
165
|
+
transaction.should.have.property('tx');
|
|
166
|
+
const tx = tx_1.FeeMarketEIP1559Transaction.fromSerializedTx(Buffer.from((0, util_1.stripHexPrefix)(transaction.tx), 'hex'));
|
|
167
|
+
tx.getSenderAddress().toString().should.equal(resources_1.mockDataNonBitGoRecovery.walletRootAddress);
|
|
168
|
+
const jsonTx = tx.toJSON();
|
|
169
|
+
jsonTx.to?.should.equal(resources_1.mockDataNonBitGoRecovery.recoveryDestination);
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2Zsci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUVqQyxtREFBK0Q7QUFDL0QsaURBQStDO0FBRS9DLDJDQUE0QztBQUU1Qyw0Q0FBK0U7QUFDL0UsZ0RBQXdCO0FBQ3hCLG1EQUE4QztBQUM5Qyx1Q0FBNkQ7QUFDN0QsMkNBQWtEO0FBRWxELE1BQU0sS0FBSyxHQUFpQixvQkFBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFFMUUsUUFBUSxDQUFDLEtBQUssRUFBRTtJQUNkLE1BQU0sQ0FBQztRQUNMLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM5QyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsaUJBQWlCLEVBQUU7UUFDMUIsRUFBRSxDQUFDLHNDQUFzQyxFQUFFO1lBQ3pDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFOUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFHLENBQUMsQ0FBQztZQUNqQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxHQUFHLENBQUMsV0FB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LFFBQVE7Z0JBQ2YsUUFBUSxFQUFFLFFBQVE7YUFDbkI7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxFQUFFLEdBQUcsZ0NBQTJCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFBLHFCQUFjLEVBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUcsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQ0FBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0NBQXdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN4RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLXRlc3QnO1xuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstYXBpJztcblxuaW1wb3J0IHsgRmxyLCBUZmxyIH0gZnJvbSAnLi4vLi4vc3JjL2luZGV4JztcbmltcG9ydCB7IFVuc2lnbmVkU3dlZXBUeE1QQ3YyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IG1vY2tEYXRhVW5zaWduZWRTd2VlcCwgbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5IH0gZnJvbSAnLi4vcmVzb3VyY2VzJztcbmltcG9ydCBub2NrIGZyb20gJ25vY2snO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgRmVlTWFya2V0RUlQMTU1OVRyYW5zYWN0aW9uIH0gZnJvbSAnQGV0aGVyZXVtanMvdHgnO1xuaW1wb3J0IHsgc3RyaXBIZXhQcmVmaXggfSBmcm9tICdAZXRoZXJldW1qcy91dGlsJztcblxuY29uc3QgYml0Z286IFRlc3RCaXRHb0FQSSA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcblxuZGVzY3JpYmUoJ2ZscicsIGZ1bmN0aW9uICgpIHtcbiAgYmVmb3JlKGZ1bmN0aW9uICgpIHtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ2ZscicsIEZsci5jcmVhdGVJbnN0YW5jZSk7XG4gICAgYml0Z28uc2FmZVJlZ2lzdGVyKCd0ZmxyJywgVGZsci5jcmVhdGVJbnN0YW5jZSk7XG4gICAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdCYXNpYyBDb2luIEluZm8nLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHJpZ2h0IGluZm8gZm9yIGZscicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGZsciA9IGJpdGdvLmNvaW4oJ2ZscicpO1xuXG4gICAgICBmbHIuc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoRmxyKTtcbiAgICAgIGZsci5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgnZmxyJyk7XG4gICAgICBmbHIuZ2V0RmFtaWx5KCkuc2hvdWxkLmVxdWFsKCdmbHInKTtcbiAgICAgIGZsci5nZXRGdWxsTmFtZSgpLnNob3VsZC5lcXVhbCgnRmxhcmUnKTtcbiAgICAgIGZsci5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlMTgpO1xuICAgICAgZmxyLnN1cHBvcnRzVHNzKCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgICAgZmxyLmFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgcmlnaHQgaW5mbyBmb3IgdGZscicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHRmbHIgPSBiaXRnby5jb2luKCd0ZmxyJyk7XG5cbiAgICAgIHRmbHIuc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoVGZscik7XG4gICAgICB0ZmxyLmdldENoYWluKCkuc2hvdWxkLmVxdWFsKCd0ZmxyJyk7XG4gICAgICB0ZmxyLmdldEZhbWlseSgpLnNob3VsZC5lcXVhbCgnZmxyJyk7XG4gICAgICB0ZmxyLmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdUZXN0bmV0IGZsYXJlJyk7XG4gICAgICB0ZmxyLmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG4gICAgICB0ZmxyLnN1cHBvcnRzVHNzKCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgICAgdGZsci5hbGxvd3NBY2NvdW50Q29uc29saWRhdGlvbnMoKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnQnVpbGQgVW5zaWduZWQgU3dlZXAgZm9yIFNlbGYtQ3VzdG9keSBDb2xkIFdhbGxldHMgLSAoTVBDdjIpJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBiaXRnbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgY29uc3QgZXhwbG9yZXJVcmwgPSBjb21tb24uRW52aXJvbm1lbnRzW2JpdGdvLmdldEVudigpXS5mbHJFeHBsb3JlckJhc2VVcmwgYXMgc3RyaW5nO1xuICBjb25zdCBtYXhGZWVQZXJHYXN2YWx1ZSA9IDMwMDAwMDAwMDAwO1xuICBjb25zdCBtYXhQcmlvcml0eUZlZVBlckdhc1ZhbHVlID0gMTUwMDAwMDAwMDA7XG4gIGNvbnN0IGNoYWluX2lkID0gMTE0O1xuICBjb25zdCBnYXNMaW1pdHZhbHVlID0gNTAwMDAwO1xuXG4gIGl0KCdzaG91bGQgZ2VuZXJhdGUgYW4gdW5zaWduZWQgc3dlZXAgd2l0aG91dCBkZXJpdmF0aW9uIHBhdGgnLCBhc3luYyAoKSA9PiB7XG4gICAgbm9jayhleHBsb3JlclVybClcbiAgICAgIC5nZXQoJy9hcGknKVxuICAgICAgLnR3aWNlKClcbiAgICAgIC5xdWVyeShtb2NrRGF0YVVuc2lnbmVkU3dlZXAuZ2V0VHhMaXN0UmVxdWVzdClcbiAgICAgIC5yZXBseSgyMDAsIG1vY2tEYXRhVW5zaWduZWRTd2VlcC5nZXRUeExpc3RSZXNwb25zZSk7XG4gICAgbm9jayhleHBsb3JlclVybClcbiAgICAgIC5nZXQoJy9hcGknKVxuICAgICAgLnF1ZXJ5KG1vY2tEYXRhVW5zaWduZWRTd2VlcC5nZXRCYWxhbmNlUmVxdWVzdClcbiAgICAgIC5yZXBseSgyMDAsIG1vY2tEYXRhVW5zaWduZWRTd2VlcC5nZXRCYWxhbmNlUmVzcG9uc2UpO1xuXG4gICAgY29uc3QgYmFzZUNvaW46IGFueSA9IGJpdGdvLmNvaW4oJ3RmbHInKTtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IChhd2FpdCBiYXNlQ29pbi5yZWNvdmVyKHtcbiAgICAgIHVzZXJLZXk6IG1vY2tEYXRhVW5zaWduZWRTd2VlcC51c2VyS2V5LFxuICAgICAgYmFja3VwS2V5OiBtb2NrRGF0YVVuc2lnbmVkU3dlZXAuYmFja3VwS2V5LFxuICAgICAgd2FsbGV0Q29udHJhY3RBZGRyZXNzOiBtb2NrRGF0YVVuc2lnbmVkU3dlZXAud2FsbGV0QmFzZUFkZHJlc3MsXG4gICAgICByZWNvdmVyeURlc3RpbmF0aW9uOiBtb2NrRGF0YVVuc2lnbmVkU3dlZXAucmVjb3ZlcnlEZXN0aW5hdGlvbixcbiAgICAgIGlzVHNzOiB0cnVlLFxuICAgICAgZWlwMTU1OTogeyBtYXhGZWVQZXJHYXM6IG1heEZlZVBlckdhc3ZhbHVlLCBtYXhQcmlvcml0eUZlZVBlckdhczogbWF4UHJpb3JpdHlGZWVQZXJHYXNWYWx1ZSB9LFxuICAgICAgZ2FzTGltaXQ6IGdhc0xpbWl0dmFsdWUsXG4gICAgICByZXBsYXlQcm90ZWN0aW9uT3B0aW9uczoge1xuICAgICAgICBjaGFpbjogY2hhaW5faWQsXG4gICAgICAgIGhhcmRmb3JrOiAnbG9uZG9uJyxcbiAgICAgIH0sXG4gICAgfSkpIGFzIFVuc2lnbmVkU3dlZXBUeE1QQ3YyO1xuICAgIHNob3VsZC5leGlzdCh0cmFuc2FjdGlvbik7XG4gICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3R4UmVxdWVzdHMnKTtcbiAgICB0cmFuc2FjdGlvbi50eFJlcXVlc3RzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgY29uc3QgdHhSZXF1ZXN0ID0gdHJhbnNhY3Rpb24udHhSZXF1ZXN0c1swXTtcbiAgICB0eFJlcXVlc3Quc2hvdWxkLmhhdmUucHJvcGVydHkoJ3dhbGxldENvaW4nKTtcbiAgICB0eFJlcXVlc3Qud2FsbGV0Q29pbi5zaG91bGQuZXF1YWwoJ3RmbHInKTtcbiAgICB0eFJlcXVlc3Quc2hvdWxkLmhhdmUucHJvcGVydHkoJ3RyYW5zYWN0aW9ucycpO1xuICAgIHR4UmVxdWVzdC50cmFuc2FjdGlvbnMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICBjb25zdCB0eCA9IHR4UmVxdWVzdC50cmFuc2FjdGlvbnNbMF07XG4gICAgdHguc2hvdWxkLmhhdmUucHJvcGVydHkoJ25vbmNlJyk7XG4gICAgdHguc2hvdWxkLmhhdmUucHJvcGVydHkoJ3Vuc2lnbmVkVHgnKTtcbiAgICB0eC51bnNpZ25lZFR4LnNob3VsZC5oYXZlLnByb3BlcnR5KCdzZXJpYWxpemVkVHhIZXgnKTtcbiAgICB0eC51bnNpZ25lZFR4LnNob3VsZC5oYXZlLnByb3BlcnR5KCdzaWduYWJsZUhleCcpO1xuICAgIHR4LnVuc2lnbmVkVHguc2hvdWxkLmhhdmUucHJvcGVydHkoJ2Rlcml2YXRpb25QYXRoJyk7XG4gICAgdHgudW5zaWduZWRUeC5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnZmVlSW5mbycpO1xuICAgIHR4LnVuc2lnbmVkVHguZmVlSW5mbz8uc2hvdWxkLmhhdmUucHJvcGVydHkoJ2ZlZScpO1xuICAgIHR4LnVuc2lnbmVkVHguZmVlSW5mbz8uc2hvdWxkLmhhdmUucHJvcGVydHkoJ2ZlZVN0cmluZycpO1xuICAgIHR4LnVuc2lnbmVkVHguc2hvdWxkLmhhdmUucHJvcGVydHkoJ3BhcnNlZFR4Jyk7XG4gICAgdHgudW5zaWduZWRUeC5wYXJzZWRUeD8uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3NwZW5kQW1vdW50Jyk7XG4gICAgdHgudW5zaWduZWRUeC5wYXJzZWRUeD8uc2hvdWxkLmhhdmUucHJvcGVydHkoJ291dHB1dHMnKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ05vbiBCaXRnbyBSZWNvdmVyeSBmb3IgSG90IFdhbGxldHMnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ3Rlc3QnIH0pO1xuICBjb25zdCBleHBsb3JlclVybCA9IGNvbW1vbi5FbnZpcm9ubWVudHNbYml0Z28uZ2V0RW52KCldLmZsckV4cGxvcmVyQmFzZVVybCBhcyBzdHJpbmc7XG4gIGNvbnN0IG1heEZlZVBlckdhc3ZhbHVlID0gMzAwMDAwMDAwMDA7XG4gIGNvbnN0IG1heFByaW9yaXR5RmVlUGVyR2FzVmFsdWUgPSAxNTAwMDAwMDAwMDtcbiAgY29uc3QgY2hhaW5faWQgPSAxMTQ7XG4gIGNvbnN0IGdhc0xpbWl0dmFsdWUgPSA1MDAwMDA7XG5cbiAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBhIHNpZ25lZCBub24tYml0Z28gcmVjb3ZlcnkgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgbm9jayhleHBsb3JlclVybClcbiAgICAgIC5nZXQoJy9hcGknKVxuICAgICAgLnR3aWNlKClcbiAgICAgIC5xdWVyeShtb2NrRGF0YU5vbkJpdEdvUmVjb3ZlcnkuZ2V0VHhMaXN0UmVxdWVzdClcbiAgICAgIC5yZXBseSgyMDAsIG1vY2tEYXRhTm9uQml0R29SZWNvdmVyeS5nZXRUeExpc3RSZXNwb25zZSk7XG4gICAgbm9jayhleHBsb3JlclVybClcbiAgICAgIC5nZXQoJy9hcGknKVxuICAgICAgLnF1ZXJ5KG1vY2tEYXRhTm9uQml0R29SZWNvdmVyeS5nZXRCYWxhbmNlUmVxdWVzdClcbiAgICAgIC5yZXBseSgyMDAsIG1vY2tEYXRhTm9uQml0R29SZWNvdmVyeS5nZXRCYWxhbmNlUmVzcG9uc2UpO1xuXG4gICAgY29uc3QgYmFzZUNvaW46IGFueSA9IGJpdGdvLmNvaW4oJ3RmbHInKTtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IGJhc2VDb2luLnJlY292ZXIoe1xuICAgICAgdXNlcktleTogbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LnVzZXJLZXlEYXRhLFxuICAgICAgYmFja3VwS2V5OiBtb2NrRGF0YU5vbkJpdEdvUmVjb3ZlcnkuYmFja3VwS2V5RGF0YSxcbiAgICAgIHdhbGxldENvbnRyYWN0QWRkcmVzczogbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LndhbGxldFJvb3RBZGRyZXNzLFxuICAgICAgd2FsbGV0UGFzc3BocmFzZTogbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LndhbGxldFBhc3NwaHJhc2UsXG4gICAgICByZWNvdmVyeURlc3RpbmF0aW9uOiBtb2NrRGF0YU5vbkJpdEdvUmVjb3ZlcnkucmVjb3ZlcnlEZXN0aW5hdGlvbixcbiAgICAgIGlzVHNzOiB0cnVlLFxuICAgICAgZWlwMTU1OTogeyBtYXhGZWVQZXJHYXM6IG1heEZlZVBlckdhc3ZhbHVlLCBtYXhQcmlvcml0eUZlZVBlckdhczogbWF4UHJpb3JpdHlGZWVQZXJHYXNWYWx1ZSB9LFxuICAgICAgZ2FzTGltaXQ6IGdhc0xpbWl0dmFsdWUsXG4gICAgICByZXBsYXlQcm90ZWN0aW9uT3B0aW9uczoge1xuICAgICAgICBjaGFpbjogY2hhaW5faWQsXG4gICAgICAgIGhhcmRmb3JrOiAnbG9uZG9uJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgc2hvdWxkLmV4aXN0KHRyYW5zYWN0aW9uKTtcbiAgICB0cmFuc2FjdGlvbi5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnaWQnKTtcbiAgICB0cmFuc2FjdGlvbi5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgndHgnKTtcbiAgICBjb25zdCB0eCA9IEZlZU1hcmtldEVJUDE1NTlUcmFuc2FjdGlvbi5mcm9tU2VyaWFsaXplZFR4KEJ1ZmZlci5mcm9tKHN0cmlwSGV4UHJlZml4KHRyYW5zYWN0aW9uLnR4KSwgJ2hleCcpKTtcbiAgICB0eC5nZXRTZW5kZXJBZGRyZXNzKCkudG9TdHJpbmcoKS5zaG91bGQuZXF1YWwobW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LndhbGxldFJvb3RBZGRyZXNzKTtcbiAgICBjb25zdCBqc29uVHggPSB0eC50b0pTT04oKTtcbiAgICBqc29uVHgudG8/LnNob3VsZC5lcXVhbChtb2NrRGF0YU5vbkJpdEdvUmVjb3ZlcnkucmVjb3ZlcnlEZXN0aW5hdGlvbik7XG4gIH0pO1xufSk7XG4iXX0=
|