@bitgo/sdk-coin-rune 1.6.2 → 1.6.3
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/test/resources/rune.d.ts +74 -0
- package/dist/test/resources/rune.d.ts.map +1 -0
- package/dist/test/resources/rune.js +51 -0
- package/dist/test/resources/trune.d.ts +110 -0
- package/dist/test/resources/trune.d.ts.map +1 -0
- package/dist/test/resources/trune.js +102 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +94 -0
- package/dist/test/unit/rune.d.ts +2 -0
- package/dist/test/unit/rune.d.ts.map +1 -0
- package/dist/test/unit/rune.js +369 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +146 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.js +97 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +202 -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 +101 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -7
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -292
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export declare const TEST_ACCOUNT: {
|
|
2
|
+
pubAddress: string;
|
|
3
|
+
testnetPubAddress: string;
|
|
4
|
+
compressedPublicKey: string;
|
|
5
|
+
compressedPublicKeyTwo: string;
|
|
6
|
+
uncompressedPublicKey: string;
|
|
7
|
+
privateKey: string;
|
|
8
|
+
extendedPrv: string;
|
|
9
|
+
extendedPub: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const mainnetAddress: {
|
|
12
|
+
address1: string;
|
|
13
|
+
address2: string;
|
|
14
|
+
address3: string;
|
|
15
|
+
address4: string;
|
|
16
|
+
validatorAddress1: string;
|
|
17
|
+
validatorAddress2: string;
|
|
18
|
+
validatorAddress3: string;
|
|
19
|
+
validatorAddress4: string;
|
|
20
|
+
noMemoIdAddress: string;
|
|
21
|
+
validMemoIdAddress: string;
|
|
22
|
+
invalidMemoIdAddress: string;
|
|
23
|
+
multipleMemoIdAddress: string;
|
|
24
|
+
};
|
|
25
|
+
export declare const blockHash: {
|
|
26
|
+
hash1: string;
|
|
27
|
+
hash2: string;
|
|
28
|
+
};
|
|
29
|
+
export declare const txIds: {
|
|
30
|
+
hash1: string;
|
|
31
|
+
hash2: string;
|
|
32
|
+
hash3: string;
|
|
33
|
+
};
|
|
34
|
+
export declare const mainnetCoinAmounts: {
|
|
35
|
+
amount1: {
|
|
36
|
+
amount: string;
|
|
37
|
+
denom: string;
|
|
38
|
+
};
|
|
39
|
+
amount2: {
|
|
40
|
+
amount: string;
|
|
41
|
+
denom: string;
|
|
42
|
+
};
|
|
43
|
+
amount3: {
|
|
44
|
+
amount: string;
|
|
45
|
+
denom: string;
|
|
46
|
+
};
|
|
47
|
+
amount4: {
|
|
48
|
+
amount: string;
|
|
49
|
+
denom: string;
|
|
50
|
+
};
|
|
51
|
+
amount5: {
|
|
52
|
+
amount: string;
|
|
53
|
+
denom: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export declare const mainnetGasAmounts: {
|
|
57
|
+
positiveGasAmount: {
|
|
58
|
+
amount: string;
|
|
59
|
+
denom: string;
|
|
60
|
+
};
|
|
61
|
+
zeroGasAmount: {
|
|
62
|
+
amount: string;
|
|
63
|
+
denom: string;
|
|
64
|
+
};
|
|
65
|
+
emptyGasAmount: {
|
|
66
|
+
amount: string;
|
|
67
|
+
denom: string;
|
|
68
|
+
};
|
|
69
|
+
alphabeticGasAmount: {
|
|
70
|
+
amount: string;
|
|
71
|
+
denom: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=rune.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rune.d.ts","sourceRoot":"","sources":["../../../test/resources/rune.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;CAYxB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAa1B,CAAC;AAEF,eAAO,MAAM,SAAS;;;CAGrB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;CAIjB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAM9B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAK7B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Get the test data by running the scripts for the particular coin from coin-sandbox repo.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.mainnetGasAmounts = exports.mainnetCoinAmounts = exports.txIds = exports.blockHash = exports.mainnetAddress = exports.TEST_ACCOUNT = void 0;
|
|
5
|
+
exports.TEST_ACCOUNT = {
|
|
6
|
+
pubAddress: 'thor1xrh89ced02ea6928kcwectgtkk7k4954dags7v',
|
|
7
|
+
testnetPubAddress: 'sthor1xrh89ced02ea6928kcwectgtkk7k4954ey5xgj',
|
|
8
|
+
compressedPublicKey: '0371b155f21bf4426d9adeda30c858f523da3d20ca9c2a1c27b83baeac3ed6f184',
|
|
9
|
+
compressedPublicKeyTwo: '02e04ea328d98de663224a126a1c64740e341976f0360d45511c954e61fba30466',
|
|
10
|
+
uncompressedPublicKey: '0471b155f21bf4426d9adeda30c858f523da3d20ca9c2a1c27b83baeac3ed6f1843a0b64237e638ba7129d2dbe86a5c5cbd1e85f6e5ba6606b6c1f98e1b5d23b87',
|
|
11
|
+
privateKey: 'c9cfbf9d86f86d55ce358b15402bd4f9e274b5249ff9be1b852553a36681a798',
|
|
12
|
+
extendedPrv: 'xprv9s21ZrQH143K4CFciZ9dkVK2gyAj8ag8PUPm7vVZhbUhA9mQPK9f4BhzqkDsKojLhJWQndiRKPbwFaEy6dGv6eDBZkMimpiDX8ZvNN2kCVH',
|
|
13
|
+
extendedPub: 'xpub661MyMwAqRbcGgL5page7dFmF11DY3PykhKMvJuBFw1g2x6YvrTubz2Uh2Xa4qmBvtxVPxy2YCpRAQQCQQYz5MctWsCdWvDwybRJvaGubjL',
|
|
14
|
+
};
|
|
15
|
+
exports.mainnetAddress = {
|
|
16
|
+
address1: 'thor1fwk9jl6kfflurj9p0wt098kxl02gle4yhnm687',
|
|
17
|
+
address2: 'thor17hwqt302e5f2xm4h95ma8wuggqkvfzgvsnh5z9',
|
|
18
|
+
address3: 'thor17hwqt302e5f2xm4h95ma8wuggqkvfzgvsnh5',
|
|
19
|
+
address4: 'tho166n4w5039meulfa3p6ydg60ve6ueac7tlt0jws',
|
|
20
|
+
validatorAddress1: 'thor1v882x92avxcmkaucm2h6cp6j2qc4lhll0vfsex',
|
|
21
|
+
validatorAddress2: 'thor1nl0hc33pllze4athmvyaj9ky35le30vvhx3a25',
|
|
22
|
+
validatorAddress3: 'tho140wms8h9pm5dmj832lwnhw45qvt25v0ps888sf',
|
|
23
|
+
validatorAddress4: 'thor1hjpct8pd9d48vyqltaqunltwx9twm57l3qmay',
|
|
24
|
+
noMemoIdAddress: 'thor1pxfnmdjc0esuswlx8uxguqhgywchhuv4k9ntna',
|
|
25
|
+
validMemoIdAddress: 'thor1pxfnmdjc0esuswlx8uxguqhgywchhuv4k9ntna?memoId=2',
|
|
26
|
+
invalidMemoIdAddress: 'thor1pxfnmdjc0esuswlx8uxguqhgywchhuv4k9ntna?memoId=xyz',
|
|
27
|
+
multipleMemoIdAddress: 'thor1pxfnmdjc0esuswlx8uxguqhgywchhuv4k9ntna?memoId=3&memoId=12',
|
|
28
|
+
};
|
|
29
|
+
exports.blockHash = {
|
|
30
|
+
hash1: '10D155BC67CD47A75BA53D5EF92A69721D56D81DEB350D3AE5F3CC7876B14F1B',
|
|
31
|
+
hash2: '6F17E7913CF87E6D167767D4E4167FBFB643BFFCB2571AEA6FA22566E4FBD1B5',
|
|
32
|
+
};
|
|
33
|
+
exports.txIds = {
|
|
34
|
+
hash1: '7CDB56BA820B5A93014A0382014205F3BE18BF4916FE16963B35A4E9B541FA71',
|
|
35
|
+
hash2: 'F2A1A5F434D389BACE737A1A57C1797C35A6DF7450B550955F03380D07BF136A',
|
|
36
|
+
hash3: '2FBB379F11573583155E6F61301F7B00050417411732BF46F6CF354520077F25',
|
|
37
|
+
};
|
|
38
|
+
exports.mainnetCoinAmounts = {
|
|
39
|
+
amount1: { amount: '100000', denom: 'rune' },
|
|
40
|
+
amount2: { amount: '1000000', denom: 'rune' },
|
|
41
|
+
amount3: { amount: '10000000', denom: 'rune' },
|
|
42
|
+
amount4: { amount: '-1', denom: 'rune' },
|
|
43
|
+
amount5: { amount: '1000000000', denom: 'arune' },
|
|
44
|
+
};
|
|
45
|
+
exports.mainnetGasAmounts = {
|
|
46
|
+
positiveGasAmount: { amount: '100', denom: 'rune' },
|
|
47
|
+
zeroGasAmount: { amount: '0', denom: 'rune' },
|
|
48
|
+
emptyGasAmount: { amount: '', denom: 'rune' },
|
|
49
|
+
alphabeticGasAmount: { amount: 'xyz', denom: 'rune' },
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvcmVzb3VyY2VzL3J1bmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDJGQUEyRjs7O0FBRTlFLFFBQUEsWUFBWSxHQUFHO0lBQzFCLFVBQVUsRUFBRSw2Q0FBNkM7SUFDekQsaUJBQWlCLEVBQUUsOENBQThDO0lBQ2pFLG1CQUFtQixFQUFFLG9FQUFvRTtJQUN6RixzQkFBc0IsRUFBRSxvRUFBb0U7SUFDNUYscUJBQXFCLEVBQ25CLG9JQUFvSTtJQUN0SSxVQUFVLEVBQUUsa0VBQWtFO0lBQzlFLFdBQVcsRUFDVCxpSEFBaUg7SUFDbkgsV0FBVyxFQUNULGlIQUFpSDtDQUNwSCxDQUFDO0FBRVcsUUFBQSxjQUFjLEdBQUc7SUFDNUIsUUFBUSxFQUFFLDZDQUE2QztJQUN2RCxRQUFRLEVBQUUsNkNBQTZDO0lBQ3ZELFFBQVEsRUFBRSwyQ0FBMkM7SUFDckQsUUFBUSxFQUFFLDRDQUE0QztJQUN0RCxpQkFBaUIsRUFBRSw2Q0FBNkM7SUFDaEUsaUJBQWlCLEVBQUUsNkNBQTZDO0lBQ2hFLGlCQUFpQixFQUFFLDRDQUE0QztJQUMvRCxpQkFBaUIsRUFBRSw0Q0FBNEM7SUFDL0QsZUFBZSxFQUFFLDZDQUE2QztJQUM5RCxrQkFBa0IsRUFBRSxzREFBc0Q7SUFDMUUsb0JBQW9CLEVBQUUsd0RBQXdEO0lBQzlFLHFCQUFxQixFQUFFLGdFQUFnRTtDQUN4RixDQUFDO0FBRVcsUUFBQSxTQUFTLEdBQUc7SUFDdkIsS0FBSyxFQUFFLGtFQUFrRTtJQUN6RSxLQUFLLEVBQUUsa0VBQWtFO0NBQzFFLENBQUM7QUFFVyxRQUFBLEtBQUssR0FBRztJQUNuQixLQUFLLEVBQUUsa0VBQWtFO0lBQ3pFLEtBQUssRUFBRSxrRUFBa0U7SUFDekUsS0FBSyxFQUFFLGtFQUFrRTtDQUMxRSxDQUFDO0FBRVcsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7SUFDNUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQzdDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUM5QyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7SUFDeEMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO0NBQ2xELENBQUM7QUFFVyxRQUFBLGlCQUFpQixHQUFHO0lBQy9CLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQ25ELGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUM3QyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7SUFDN0MsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Q0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdldCB0aGUgdGVzdCBkYXRhIGJ5IHJ1bm5pbmcgdGhlIHNjcmlwdHMgZm9yIHRoZSBwYXJ0aWN1bGFyIGNvaW4gZnJvbSBjb2luLXNhbmRib3ggcmVwby5cblxuZXhwb3J0IGNvbnN0IFRFU1RfQUNDT1VOVCA9IHtcbiAgcHViQWRkcmVzczogJ3Rob3IxeHJoODljZWQwMmVhNjkyOGtjd2VjdGd0a2s3azQ5NTRkYWdzN3YnLFxuICB0ZXN0bmV0UHViQWRkcmVzczogJ3N0aG9yMXhyaDg5Y2VkMDJlYTY5MjhrY3dlY3RndGtrN2s0OTU0ZXk1eGdqJyxcbiAgY29tcHJlc3NlZFB1YmxpY0tleTogJzAzNzFiMTU1ZjIxYmY0NDI2ZDlhZGVkYTMwYzg1OGY1MjNkYTNkMjBjYTljMmExYzI3YjgzYmFlYWMzZWQ2ZjE4NCcsXG4gIGNvbXByZXNzZWRQdWJsaWNLZXlUd286ICcwMmUwNGVhMzI4ZDk4ZGU2NjMyMjRhMTI2YTFjNjQ3NDBlMzQxOTc2ZjAzNjBkNDU1MTFjOTU0ZTYxZmJhMzA0NjYnLFxuICB1bmNvbXByZXNzZWRQdWJsaWNLZXk6XG4gICAgJzA0NzFiMTU1ZjIxYmY0NDI2ZDlhZGVkYTMwYzg1OGY1MjNkYTNkMjBjYTljMmExYzI3YjgzYmFlYWMzZWQ2ZjE4NDNhMGI2NDIzN2U2MzhiYTcxMjlkMmRiZTg2YTVjNWNiZDFlODVmNmU1YmE2NjA2YjZjMWY5OGUxYjVkMjNiODcnLFxuICBwcml2YXRlS2V5OiAnYzljZmJmOWQ4NmY4NmQ1NWNlMzU4YjE1NDAyYmQ0ZjllMjc0YjUyNDlmZjliZTFiODUyNTUzYTM2NjgxYTc5OCcsXG4gIGV4dGVuZGVkUHJ2OlxuICAgICd4cHJ2OXMyMVpyUUgxNDNLNENGY2laOWRrVksyZ3lBajhhZzhQVVBtN3ZWWmhiVWhBOW1RUEs5ZjRCaHpxa0RzS29qTGhKV1FuZGlSS1Bid0ZhRXk2ZEd2NmVEQlprTWltcGlEWDhadk5OMmtDVkgnLFxuICBleHRlbmRlZFB1YjpcbiAgICAneHB1YjY2MU15TXdBcVJiY0dnTDVwYWdlN2RGbUYxMURZM1B5a2hLTXZKdUJGdzFnMng2WXZyVHViejJVaDJYYTRxbUJ2dHhWUHh5MllDcFJBUVFDUVFZejVNY3RXc0NkV3ZEd3liUkp2YUd1YmpMJyxcbn07XG5cbmV4cG9ydCBjb25zdCBtYWlubmV0QWRkcmVzcyA9IHtcbiAgYWRkcmVzczE6ICd0aG9yMWZ3azlqbDZrZmZsdXJqOXAwd3QwOThreGwwMmdsZTR5aG5tNjg3JyxcbiAgYWRkcmVzczI6ICd0aG9yMTdod3F0MzAyZTVmMnhtNGg5NW1hOHd1Z2dxa3Zmemd2c25oNXo5JyxcbiAgYWRkcmVzczM6ICd0aG9yMTdod3F0MzAyZTVmMnhtNGg5NW1hOHd1Z2dxa3Zmemd2c25oNScsXG4gIGFkZHJlc3M0OiAndGhvMTY2bjR3NTAzOW1ldWxmYTNwNnlkZzYwdmU2dWVhYzd0bHQwandzJyxcbiAgdmFsaWRhdG9yQWRkcmVzczE6ICd0aG9yMXY4ODJ4OTJhdnhjbWthdWNtMmg2Y3A2ajJxYzRsaGxsMHZmc2V4JyxcbiAgdmFsaWRhdG9yQWRkcmVzczI6ICd0aG9yMW5sMGhjMzNwbGx6ZTRhdGhtdnlhajlreTM1bGUzMHZ2aHgzYTI1JyxcbiAgdmFsaWRhdG9yQWRkcmVzczM6ICd0aG8xNDB3bXM4aDlwbTVkbWo4MzJsd25odzQ1cXZ0MjV2MHBzODg4c2YnLFxuICB2YWxpZGF0b3JBZGRyZXNzNDogJ3Rob3IxaGpwY3Q4cGQ5ZDQ4dnlxbHRhcXVubHR3eDl0d201N2wzcW1heScsXG4gIG5vTWVtb0lkQWRkcmVzczogJ3Rob3IxcHhmbm1kamMwZXN1c3dseDh1eGd1cWhneXdjaGh1djRrOW50bmEnLFxuICB2YWxpZE1lbW9JZEFkZHJlc3M6ICd0aG9yMXB4Zm5tZGpjMGVzdXN3bHg4dXhndXFoZ3l3Y2hodXY0azludG5hP21lbW9JZD0yJyxcbiAgaW52YWxpZE1lbW9JZEFkZHJlc3M6ICd0aG9yMXB4Zm5tZGpjMGVzdXN3bHg4dXhndXFoZ3l3Y2hodXY0azludG5hP21lbW9JZD14eXonLFxuICBtdWx0aXBsZU1lbW9JZEFkZHJlc3M6ICd0aG9yMXB4Zm5tZGpjMGVzdXN3bHg4dXhndXFoZ3l3Y2hodXY0azludG5hP21lbW9JZD0zJm1lbW9JZD0xMicsXG59O1xuXG5leHBvcnQgY29uc3QgYmxvY2tIYXNoID0ge1xuICBoYXNoMTogJzEwRDE1NUJDNjdDRDQ3QTc1QkE1M0Q1RUY5MkE2OTcyMUQ1NkQ4MURFQjM1MEQzQUU1RjNDQzc4NzZCMTRGMUInLFxuICBoYXNoMjogJzZGMTdFNzkxM0NGODdFNkQxNjc3NjdENEU0MTY3RkJGQjY0M0JGRkNCMjU3MUFFQTZGQTIyNTY2RTRGQkQxQjUnLFxufTtcblxuZXhwb3J0IGNvbnN0IHR4SWRzID0ge1xuICBoYXNoMTogJzdDREI1NkJBODIwQjVBOTMwMTRBMDM4MjAxNDIwNUYzQkUxOEJGNDkxNkZFMTY5NjNCMzVBNEU5QjU0MUZBNzEnLFxuICBoYXNoMjogJ0YyQTFBNUY0MzREMzg5QkFDRTczN0ExQTU3QzE3OTdDMzVBNkRGNzQ1MEI1NTA5NTVGMDMzODBEMDdCRjEzNkEnLFxuICBoYXNoMzogJzJGQkIzNzlGMTE1NzM1ODMxNTVFNkY2MTMwMUY3QjAwMDUwNDE3NDExNzMyQkY0NkY2Q0YzNTQ1MjAwNzdGMjUnLFxufTtcblxuZXhwb3J0IGNvbnN0IG1haW5uZXRDb2luQW1vdW50cyA9IHtcbiAgYW1vdW50MTogeyBhbW91bnQ6ICcxMDAwMDAnLCBkZW5vbTogJ3J1bmUnIH0sXG4gIGFtb3VudDI6IHsgYW1vdW50OiAnMTAwMDAwMCcsIGRlbm9tOiAncnVuZScgfSxcbiAgYW1vdW50MzogeyBhbW91bnQ6ICcxMDAwMDAwMCcsIGRlbm9tOiAncnVuZScgfSxcbiAgYW1vdW50NDogeyBhbW91bnQ6ICctMScsIGRlbm9tOiAncnVuZScgfSxcbiAgYW1vdW50NTogeyBhbW91bnQ6ICcxMDAwMDAwMDAwJywgZGVub206ICdhcnVuZScgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBtYWlubmV0R2FzQW1vdW50cyA9IHtcbiAgcG9zaXRpdmVHYXNBbW91bnQ6IHsgYW1vdW50OiAnMTAwJywgZGVub206ICdydW5lJyB9LFxuICB6ZXJvR2FzQW1vdW50OiB7IGFtb3VudDogJzAnLCBkZW5vbTogJ3J1bmUnIH0sXG4gIGVtcHR5R2FzQW1vdW50OiB7IGFtb3VudDogJycsIGRlbm9tOiAncnVuZScgfSxcbiAgYWxwaGFiZXRpY0dhc0Ftb3VudDogeyBhbW91bnQ6ICd4eXonLCBkZW5vbTogJ3J1bmUnIH0sXG59O1xuIl19
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
export declare const TEST_TX_WITH_MEMO: {
|
|
2
|
+
hash: string;
|
|
3
|
+
signature: string;
|
|
4
|
+
pubKey: string;
|
|
5
|
+
privateKey: string;
|
|
6
|
+
signedTxBase64: string;
|
|
7
|
+
sender: string;
|
|
8
|
+
recipient: string;
|
|
9
|
+
chainId: string;
|
|
10
|
+
accountNumber: number;
|
|
11
|
+
sequence: number;
|
|
12
|
+
memo: string;
|
|
13
|
+
sendAmount: string;
|
|
14
|
+
feeAmount: string;
|
|
15
|
+
sendMessage: {
|
|
16
|
+
typeUrl: string;
|
|
17
|
+
value: {
|
|
18
|
+
amount: {
|
|
19
|
+
denom: string;
|
|
20
|
+
amount: string;
|
|
21
|
+
}[];
|
|
22
|
+
fromAddress: string;
|
|
23
|
+
toAddress: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
gasBudget: {
|
|
27
|
+
amount: {
|
|
28
|
+
denom: string;
|
|
29
|
+
amount: string;
|
|
30
|
+
}[];
|
|
31
|
+
gasLimit: number;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export declare const TEST_SEND_TX: {
|
|
35
|
+
hash: string;
|
|
36
|
+
signature: string;
|
|
37
|
+
pubKey: string;
|
|
38
|
+
privateKey: string;
|
|
39
|
+
signedTxBase64: string;
|
|
40
|
+
sender: string;
|
|
41
|
+
recipient: string;
|
|
42
|
+
chainId: string;
|
|
43
|
+
accountNumber: number;
|
|
44
|
+
sequence: number;
|
|
45
|
+
sendAmount: string;
|
|
46
|
+
feeAmount: string;
|
|
47
|
+
sendMessage: {
|
|
48
|
+
typeUrl: string;
|
|
49
|
+
value: {
|
|
50
|
+
amount: {
|
|
51
|
+
denom: string;
|
|
52
|
+
amount: string;
|
|
53
|
+
}[];
|
|
54
|
+
fromAddress: string;
|
|
55
|
+
toAddress: string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
gasBudget: {
|
|
59
|
+
amount: {
|
|
60
|
+
denom: string;
|
|
61
|
+
amount: string;
|
|
62
|
+
}[];
|
|
63
|
+
gasLimit: number;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
export declare const testnetAddress: {
|
|
67
|
+
address1: string;
|
|
68
|
+
address2: string;
|
|
69
|
+
address3: string;
|
|
70
|
+
address4: string;
|
|
71
|
+
validatorAddress1: string;
|
|
72
|
+
validatorAddress2: string;
|
|
73
|
+
validatorAddress3: string;
|
|
74
|
+
validatorAddress4: string;
|
|
75
|
+
noMemoIdAddress: string;
|
|
76
|
+
validMemoIdAddress: string;
|
|
77
|
+
invalidMemoIdAddress: string;
|
|
78
|
+
multipleMemoIdAddress: string;
|
|
79
|
+
};
|
|
80
|
+
export declare const testnetCoinAmounts: {
|
|
81
|
+
amount1: {
|
|
82
|
+
amount: string;
|
|
83
|
+
denom: string;
|
|
84
|
+
};
|
|
85
|
+
amount2: {
|
|
86
|
+
amount: string;
|
|
87
|
+
denom: string;
|
|
88
|
+
};
|
|
89
|
+
amount3: {
|
|
90
|
+
amount: string;
|
|
91
|
+
denom: string;
|
|
92
|
+
};
|
|
93
|
+
amount4: {
|
|
94
|
+
amount: string;
|
|
95
|
+
denom: string;
|
|
96
|
+
};
|
|
97
|
+
amount5: {
|
|
98
|
+
amount: string;
|
|
99
|
+
denom: string;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
export declare const wrwUser: {
|
|
103
|
+
senderAddress: string;
|
|
104
|
+
destinationAddress: string;
|
|
105
|
+
userPrivateKey: string;
|
|
106
|
+
backupPrivateKey: string;
|
|
107
|
+
bitgoPublicKey: string;
|
|
108
|
+
walletPassphrase: string;
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=trune.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trune.d.ts","sourceRoot":"","sources":["../../../test/resources/trune.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCxB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAa1B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAM9B,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;CAUnB,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.wrwUser = exports.testnetCoinAmounts = exports.testnetAddress = exports.TEST_SEND_TX = exports.TEST_TX_WITH_MEMO = void 0;
|
|
4
|
+
// Get the test data by running the scripts for the particular coin from coin-sandbox repo.
|
|
5
|
+
exports.TEST_TX_WITH_MEMO = {
|
|
6
|
+
hash: 'B0C1C424ABA63C7401691F7AC777D080A1C4E59594CCBC74DC4B213D747AA1F1',
|
|
7
|
+
signature: 'E4PZxdeEGQJ8In+cjPiEd979mXuQlDesucLoivVt0wljx9/0bXNeL5+2ecRironf0Fo3pa1vsBpp7wM0UNWM7A==',
|
|
8
|
+
pubKey: 'AxLtvJO7WCAT1uNYriwGyxu678ck7+0ag5Pd589dtydC',
|
|
9
|
+
privateKey: 'uz2P7K8xhtoHM1QAbXXWBx83uvyA/ulQTx4tM2qGXAE=',
|
|
10
|
+
signedTxBase64: 'ClMKTgoOL3R5cGVzLk1zZ1NlbmQSPAoUX+ummTeIOBAZHQ0YsPb1CZ040lQSFID5ph0o2N3lj2qmLDH59qRQag14Gg4KBHJ1bmUSBjEwMDAwMBIBMRJpClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDEu28k7tYIBPW41iuLAbLG7rvxyTv7RqDk93nz123J0ISBAoCCAEYAxIVCg4KBHJ1bmUSBjEwMDAwMBCA4esXGkATg9nF14QZAnwif5yM+IR33v2Ze5CUN6y5wuiK9W3TCWPH3/Rtc14vn7Z5xGKuid/QWjelrW+wGmnvAzRQ1Yzs',
|
|
11
|
+
sender: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls',
|
|
12
|
+
recipient: 'sthor1sru6v8fgmrw7trm25ckrr70k53gx5rtc4xhfgf',
|
|
13
|
+
chainId: 'thorchain-stagenet-2',
|
|
14
|
+
accountNumber: 15,
|
|
15
|
+
sequence: 3,
|
|
16
|
+
memo: '1',
|
|
17
|
+
sendAmount: '100000',
|
|
18
|
+
feeAmount: '100000',
|
|
19
|
+
sendMessage: {
|
|
20
|
+
typeUrl: '/types.MsgSend',
|
|
21
|
+
value: {
|
|
22
|
+
amount: [
|
|
23
|
+
{
|
|
24
|
+
denom: 'rune',
|
|
25
|
+
amount: '100000',
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
fromAddress: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls',
|
|
29
|
+
toAddress: 'sthor1sru6v8fgmrw7trm25ckrr70k53gx5rtc4xhfgf',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
gasBudget: {
|
|
33
|
+
amount: [{ denom: 'rune', amount: '100000' }],
|
|
34
|
+
gasLimit: 50000000,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
exports.TEST_SEND_TX = {
|
|
38
|
+
hash: 'FA4635875A1A0E9175126AA6FF5D50B943F74C23B9A1C952808F1274ABC690C8',
|
|
39
|
+
signature: 'aFAUTspGfdniC1x2Uia9VByLzSjtzzTSZKVZ7s45Otcp9cfx+kMxmjfd0VPIATKjoAOs55koaUPO3USdzVVkaQ==',
|
|
40
|
+
pubKey: 'AxLtvJO7WCAT1uNYriwGyxu678ck7+0ag5Pd589dtydC',
|
|
41
|
+
privateKey: 'uz2P7K8xhtoHM1QAbXXWBx83uvyA/ulQTx4tM2qGXAE=',
|
|
42
|
+
signedTxBase64: 'ClAKTgoOL3R5cGVzLk1zZ1NlbmQSPAoUX+ummTeIOBAZHQ0YsPb1CZ040lQSFID5ph0o2N3lj2qmLDH59qRQag14Gg4KBHJ1bmUSBjEwMDAwMBJpClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDEu28k7tYIBPW41iuLAbLG7rvxyTv7RqDk93nz123J0ISBAoCCAEYBBIVCg4KBHJ1bmUSBjEwMDAwMBCA4esXGkBoUBROykZ92eILXHZSJr1UHIvNKO3PNNJkpVnuzjk61yn1x/H6QzGaN93RU8gBMqOgA6znmShpQ87dRJ3NVWRp',
|
|
43
|
+
sender: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls',
|
|
44
|
+
recipient: 'sthor1sru6v8fgmrw7trm25ckrr70k53gx5rtc4xhfgf',
|
|
45
|
+
chainId: 'thorchain-stagenet-2',
|
|
46
|
+
accountNumber: 15,
|
|
47
|
+
sequence: 4,
|
|
48
|
+
sendAmount: '100000',
|
|
49
|
+
feeAmount: '100000',
|
|
50
|
+
sendMessage: {
|
|
51
|
+
typeUrl: '/types.MsgSend',
|
|
52
|
+
value: {
|
|
53
|
+
amount: [
|
|
54
|
+
{
|
|
55
|
+
denom: 'rune',
|
|
56
|
+
amount: '100000',
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
fromAddress: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls',
|
|
60
|
+
toAddress: 'sthor1sru6v8fgmrw7trm25ckrr70k53gx5rtc4xhfgf',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
gasBudget: {
|
|
64
|
+
amount: [
|
|
65
|
+
{
|
|
66
|
+
denom: 'rune',
|
|
67
|
+
amount: '100000',
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
gasLimit: 50000000,
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
exports.testnetAddress = {
|
|
74
|
+
address1: 'sthor19phfqh3ce3nnjhh0cssn433nydq9shx76s8qgg',
|
|
75
|
+
address2: 'sthor1cghgr0dneyymxx6fjq3e72q83z0qz7c3sjhtmc',
|
|
76
|
+
address3: 'sthor1cghgr0dneyymxx6fjq3e72q83z0qz7c3sjhtm',
|
|
77
|
+
address4: 'stho1cghgr0dneyymxx6fjq3e72q83z0qz7c3sjhtmc',
|
|
78
|
+
validatorAddress1: 'sthor1skucxdq0fkwpx4hjkzn4g303hlzcf30nqduln0',
|
|
79
|
+
validatorAddress2: 'sthor1z6z5v9xgzwxd9gytdkpve0g63mcfffjdzkpwue',
|
|
80
|
+
validatorAddress3: 'sthor19k46y3nkra9q9a48wjgwac65ms385pcgpueue',
|
|
81
|
+
validatorAddress4: 'stho1x9ths2nevz0e002hq93jfdpdt7rtmxwdq07fp5',
|
|
82
|
+
noMemoIdAddress: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls',
|
|
83
|
+
validMemoIdAddress: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls?memoId=2',
|
|
84
|
+
invalidMemoIdAddress: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls?memoId=xyz',
|
|
85
|
+
multipleMemoIdAddress: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls?memoId=3&memoId=12',
|
|
86
|
+
};
|
|
87
|
+
exports.testnetCoinAmounts = {
|
|
88
|
+
amount1: { amount: '100000', denom: 'rune' },
|
|
89
|
+
amount2: { amount: '1000000', denom: 'rune' },
|
|
90
|
+
amount3: { amount: '10000000', denom: 'rune' },
|
|
91
|
+
amount4: { amount: '-1', denom: 'rune' },
|
|
92
|
+
amount5: { amount: '1000000000', denom: 'arune' },
|
|
93
|
+
};
|
|
94
|
+
exports.wrwUser = {
|
|
95
|
+
senderAddress: 'sthor1gqek8kl5mr9c37rl8yp2mljne67jgaqm96jg2f',
|
|
96
|
+
destinationAddress: 'sthor1tl46dxfh3qupqxgap5vtpah4pxwn35j5tnjzls',
|
|
97
|
+
userPrivateKey: '{"iv":"9rcHMytmmnHjG1llBoc49g==","v":1,"iter":10000,"ks":256,"ts":64,"mode" :"ccm","adata":"","cipher":"aes","salt":"8lFAwTrcCzQ=","ct":"1gMRC60nu01IYr jgir9GCuQNLMZC2vt/pFjgL+tV3K7/rviSguDsua133PkNEeuty1mZxNH2S1TKu1KxZJMlB+MAs vo7k9dIyCgQvkX/nbJFFaRrnLL55mcQe0PhCdVNRHx9doXMngRF+UqEMLD8F0HNE1+ZPGzsathH DLFPxLCRMrwA/Ss/LQowGiXo4WnzVK3MQcX6wdmZvfV+S3xswRjHkLvolVY3rVGP5PkU86Wwrmy e1CKM4hSGA8FModa718Svk7C+LHr0yOTuuPftXtH0fAPPo9KH7f+EbBWMJPQgjK8DW/z1xnDgLH dzhveyNPevqUqb3FEyutjow+KBkxl+xHqJ4gKcU9MLsghPMCy0zSq2kBbhlqWJ7XwduhHVGv2nT rlsEfh7Z0fbqZTX1RQ5AKZhSBFEqmq1hKxRlhVcr9KqBw814tIfdFD7nMgV7rz+3X8cJaK2tDXH 0QaY8bJGwxwH38FsfNevs8Qf2bx5VrD/Vw3wo0G5hJ7+TdPCrib8UWyxPGuruH7b8hwCUTZaq97 zkDp7c79BDWyH8ycTxQXjLPwb1CwpUiRDc6NHD2p3iGVaztMdQOMXmPeeMhBNGVI0MPAfSdcDip 2E5Ek0fwnI1mEuFjPMkc+VOlsVhlWfV/9Xpoh3NadPhqg3i9Cr2uNT/PSyHd/jpIqG5DlaaEvVD f7COqNvXX5Qqmlr9dL3R2cf0zP8TPImAlRfef4D8zatHtylKkImMc0JcdcXTzwU/5tf21o/Y701 DLYjwUUgqQ57ObHHNlSvmdIuO1rD5LAn96NAYNRStrENqmbibE5MsYrp9nPAprCNFnZR6UNpXwD hvq9gvxRG+PjmXGj0nuyR7cshxURLy0/p4tq7LkGjk4Gg31Mgk41lcYUW2tLuUbTYmpteu3Cdwe DFuLsfI1qZxKyr6V5Nse3ZAvnJLTZnQXiHOnc2y5/e53+MAVupXR7HZzx7SIJ+fqxpjxvccmgJC sWaPo+Lsx6KaSNkQGFMGuyZ87IEvm7vk2GyIP+FQUn4nmTdEDLzg7nNo+zf5WT4A6Yz3GNAa3Nh 2QHZSFGWcubOXDawh6lAjZ78GNK9yJDp22dJTmfZ+1TsVORpbZw="}',
|
|
98
|
+
backupPrivateKey: '{"iv":"0EDqGU1yBE2PM4ry6TxARA==","v":1,"iter":10000,"ks":256,"ts":64,"mode" :"ccm","adata":"","cipher":"aes","salt":"a8T0fVVhTz0=","ct":"syCrJ+RD8oHZ4z jltLmyNS/VVmSLXLMAdnVnoPNEfFX9mIMAycYCajMR297l09fPsWWqDcDs0cSI0xNbnMjyW30b/ JOvQ33eaBSiyBr3vbmhaEFduZTUgOCNg/Js0cAkEkeE/KDkfOUB0HzfSEQb6m0eXmWgGSnySUOd TlZZ/thT7j2oPHVpPE52h6Yi3LS1Jkt3S7ySStXvG/4iurhcL32a32Fx3IQxs/bg8JBIGlRG644 aLttCJ+uPihaSISUGn1hh0iEz2ZAaCoCkq7oNPrK+pxHHOmbjxp6XpV67EmQ/JRfSt47eW3jC7A D+xaLLHspjQifp6ClZeHT2pBrkcWrZfr1uL5w3CKrXQeJ0pXUoRmJwGys4hm5Bzu4imANo+jd1+ wg73ByYQ5VwRhV1qhb82vUrQ0i4k5Gt2l6U2LZ/DMQiUbq7FdjYWqfZmk18GIZ6g3IPJtGjnA6x o8RTvkytMMv8btsx/aa6jE6EMeFtGzlhhJJunpcS4QG4IkIuyAjPafwOklEwXklZCLDpKdVYgTR RE0XHC0VXOGQwGUARzMZwQO5OaRyQkxtZ5/CawI5jrwMZP+bpC9dKzsGOXfSvvFsJWnkboXyy09 bFwTuKHx0ZILdA/8Xq5689YEmFljHTeQ0Es/q5y5kU+XzT4sjjgxz1qqhUJVh7wDwQevRDWTwGJ Lfi2AeLsv2f0PKiGTYJzQGSXUerhLMwhg3rXNfXGkrWSmEhJH/RsvF6CdaRKWxVd+k8K5ULLwK+ sdujA5murZ24KI5z0Yr9qW2TSsJRG3PS+ZH1q3VGYaz6k912QVzyvzds8+hfaHNtr6OGBWahGZo JchgnQHSfAZxOUz7K7WNzh934HK5+e11/lF/Fxssumz2OStFWI18oBB7/8YBi6PEp3sFddOQVSA BXRGuStolGna43nly4bavOic7XIoNHs61hynMeR6NcthsSrj5xZ6q36EqLdfkDImQvu+3BXClT7 Q4bdEfXm0t7Bgmid4NeJ1I3grXZMOmVbPgcypfxp2jrkjme/R0/eJL4B38WU2xjxDg+WlBGy8dA xg8ll+n2NkA7lvJz5NBDxbGHRAhtyVTF8YA+Oxps3rumIw=="}',
|
|
99
|
+
bitgoPublicKey: '02d754ffd645ba3d87fbdeb3578dbc22fc252ebb299416434a7059d9638f52d11e0fd153d9d dfb2a193531ac5b7d3b223188a957de1312d3ede35305ee70b76376',
|
|
100
|
+
walletPassphrase: 'Ghghjkg!455544llll',
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3Jlc291cmNlcy90cnVuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyRkFBMkY7QUFDOUUsUUFBQSxpQkFBaUIsR0FBRztJQUMvQixJQUFJLEVBQUUsa0VBQWtFO0lBQ3hFLFNBQVMsRUFBRSwwRkFBMEY7SUFDckcsTUFBTSxFQUFFLDhDQUE4QztJQUN0RCxVQUFVLEVBQUUsOENBQThDO0lBQzFELGNBQWMsRUFDWiwwVkFBMFY7SUFDNVYsTUFBTSxFQUFFLDhDQUE4QztJQUN0RCxTQUFTLEVBQUUsOENBQThDO0lBQ3pELE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsYUFBYSxFQUFFLEVBQUU7SUFDakIsUUFBUSxFQUFFLENBQUM7SUFDWCxJQUFJLEVBQUUsR0FBRztJQUNULFVBQVUsRUFBRSxRQUFRO0lBQ3BCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLFdBQVcsRUFBRTtRQUNYLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFO2dCQUNOO29CQUNFLEtBQUssRUFBRSxNQUFNO29CQUNiLE1BQU0sRUFBRSxRQUFRO2lCQUNqQjthQUNGO1lBQ0QsV0FBVyxFQUFFLDhDQUE4QztZQUMzRCxTQUFTLEVBQUUsOENBQThDO1NBQzFEO0tBQ0Y7SUFDRCxTQUFTLEVBQUU7UUFDVCxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzdDLFFBQVEsRUFBRSxRQUFRO0tBQ25CO0NBQ0YsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHO0lBQzFCLElBQUksRUFBRSxrRUFBa0U7SUFDeEUsU0FBUyxFQUFFLDBGQUEwRjtJQUNyRyxNQUFNLEVBQUUsOENBQThDO0lBQ3RELFVBQVUsRUFBRSw4Q0FBOEM7SUFDMUQsY0FBYyxFQUNaLHNWQUFzVjtJQUN4VixNQUFNLEVBQUUsOENBQThDO0lBQ3RELFNBQVMsRUFBRSw4Q0FBOEM7SUFDekQsT0FBTyxFQUFFLHNCQUFzQjtJQUMvQixhQUFhLEVBQUUsRUFBRTtJQUNqQixRQUFRLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLFdBQVcsRUFBRTtRQUNYLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFO2dCQUNOO29CQUNFLEtBQUssRUFBRSxNQUFNO29CQUNiLE1BQU0sRUFBRSxRQUFRO2lCQUNqQjthQUNGO1lBQ0QsV0FBVyxFQUFFLDhDQUE4QztZQUMzRCxTQUFTLEVBQUUsOENBQThDO1NBQzFEO0tBQ0Y7SUFDRCxTQUFTLEVBQUU7UUFDVCxNQUFNLEVBQUU7WUFDTjtnQkFDRSxLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsUUFBUTthQUNqQjtTQUNGO1FBQ0QsUUFBUSxFQUFFLFFBQVE7S0FDbkI7Q0FDRixDQUFDO0FBRVcsUUFBQSxjQUFjLEdBQUc7SUFDNUIsUUFBUSxFQUFFLDhDQUE4QztJQUN4RCxRQUFRLEVBQUUsOENBQThDO0lBQ3hELFFBQVEsRUFBRSw2Q0FBNkM7SUFDdkQsUUFBUSxFQUFFLDZDQUE2QztJQUN2RCxpQkFBaUIsRUFBRSw4Q0FBOEM7SUFDakUsaUJBQWlCLEVBQUUsOENBQThDO0lBQ2pFLGlCQUFpQixFQUFFLDZDQUE2QztJQUNoRSxpQkFBaUIsRUFBRSw2Q0FBNkM7SUFDaEUsZUFBZSxFQUFFLDhDQUE4QztJQUMvRCxrQkFBa0IsRUFBRSx1REFBdUQ7SUFDM0Usb0JBQW9CLEVBQUUseURBQXlEO0lBQy9FLHFCQUFxQixFQUFFLGlFQUFpRTtDQUN6RixDQUFDO0FBRVcsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7SUFDNUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQzdDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUM5QyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7SUFDeEMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO0NBQ2xELENBQUM7QUFFVyxRQUFBLE9BQU8sR0FBRztJQUNyQixhQUFhLEVBQUUsOENBQThDO0lBQzdELGtCQUFrQixFQUFFLDhDQUE4QztJQUNsRSxjQUFjLEVBQ1osd3ZDQUF3dkM7SUFDMXZDLGdCQUFnQixFQUNkLG92Q0FBb3ZDO0lBQ3R2QyxjQUFjLEVBQ1oscUlBQXFJO0lBQ3ZJLGdCQUFnQixFQUFFLG9CQUFvQjtDQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR2V0IHRoZSB0ZXN0IGRhdGEgYnkgcnVubmluZyB0aGUgc2NyaXB0cyBmb3IgdGhlIHBhcnRpY3VsYXIgY29pbiBmcm9tIGNvaW4tc2FuZGJveCByZXBvLlxuZXhwb3J0IGNvbnN0IFRFU1RfVFhfV0lUSF9NRU1PID0ge1xuICBoYXNoOiAnQjBDMUM0MjRBQkE2M0M3NDAxNjkxRjdBQzc3N0QwODBBMUM0RTU5NTk0Q0NCQzc0REM0QjIxM0Q3NDdBQTFGMScsXG4gIHNpZ25hdHVyZTogJ0U0UFp4ZGVFR1FKOEluK2NqUGlFZDk3OW1YdVFsRGVzdWNMb2l2VnQwd2xqeDkvMGJYTmVMNSsyZWNSaXJvbmYwRm8zcGExdnNCcHA3d00wVU5XTTdBPT0nLFxuICBwdWJLZXk6ICdBeEx0dkpPN1dDQVQxdU5Zcml3R3l4dTY3OGNrNyswYWc1UGQ1ODlkdHlkQycsXG4gIHByaXZhdGVLZXk6ICd1ejJQN0s4eGh0b0hNMVFBYlhYV0J4ODN1dnlBL3VsUVR4NHRNMnFHWEFFPScsXG4gIHNpZ25lZFR4QmFzZTY0OlxuICAgICdDbE1LVGdvT0wzUjVjR1Z6TGsxeloxTmxibVFTUEFvVVgrdW1tVGVJT0JBWkhRMFlzUGIxQ1owNDBsUVNGSUQ1cGgwbzJOM2xqMnFtTERINTlxUlFhZzE0R2c0S0JISjFibVVTQmpFd01EQXdNQklCTVJKcENsQUtSZ29mTDJOdmMyMXZjeTVqY25sd2RHOHVjMlZqY0RJMU5tc3hMbEIxWWt0bGVSSWpDaUVERXUyOGs3dFlJQlBXNDFpdUxBYkxHN3J2eHlUdjdScURrOTNuejEyM0owSVNCQW9DQ0FFWUF4SVZDZzRLQkhKMWJtVVNCakV3TURBd01CQ0E0ZXNYR2tBVGc5bkYxNFFaQW53aWY1eU0rSVIzM3YyWmU1Q1VONnk1d3VpSzlXM1RDV1BIMy9SdGMxNHZuN1o1eEdLdWlkL1FXamVsclcrd0dtbnZBelJRMVl6cycsXG4gIHNlbmRlcjogJ3N0aG9yMXRsNDZkeGZoM3F1cHF4Z2FwNXZ0cGFoNHB4d24zNWo1dG5qemxzJyxcbiAgcmVjaXBpZW50OiAnc3Rob3Ixc3J1NnY4Zmdtcnc3dHJtMjVja3JyNzBrNTNneDVydGM0eGhmZ2YnLFxuICBjaGFpbklkOiAndGhvcmNoYWluLXN0YWdlbmV0LTInLFxuICBhY2NvdW50TnVtYmVyOiAxNSxcbiAgc2VxdWVuY2U6IDMsXG4gIG1lbW86ICcxJyxcbiAgc2VuZEFtb3VudDogJzEwMDAwMCcsXG4gIGZlZUFtb3VudDogJzEwMDAwMCcsXG4gIHNlbmRNZXNzYWdlOiB7XG4gICAgdHlwZVVybDogJy90eXBlcy5Nc2dTZW5kJyxcbiAgICB2YWx1ZToge1xuICAgICAgYW1vdW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkZW5vbTogJ3J1bmUnLFxuICAgICAgICAgIGFtb3VudDogJzEwMDAwMCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZnJvbUFkZHJlc3M6ICdzdGhvcjF0bDQ2ZHhmaDNxdXBxeGdhcDV2dHBhaDRweHduMzVqNXRuanpscycsXG4gICAgICB0b0FkZHJlc3M6ICdzdGhvcjFzcnU2djhmZ21ydzd0cm0yNWNrcnI3MGs1M2d4NXJ0YzR4aGZnZicsXG4gICAgfSxcbiAgfSxcbiAgZ2FzQnVkZ2V0OiB7XG4gICAgYW1vdW50OiBbeyBkZW5vbTogJ3J1bmUnLCBhbW91bnQ6ICcxMDAwMDAnIH1dLFxuICAgIGdhc0xpbWl0OiA1MDAwMDAwMCxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBURVNUX1NFTkRfVFggPSB7XG4gIGhhc2g6ICdGQTQ2MzU4NzVBMUEwRTkxNzUxMjZBQTZGRjVENTBCOTQzRjc0QzIzQjlBMUM5NTI4MDhGMTI3NEFCQzY5MEM4JyxcbiAgc2lnbmF0dXJlOiAnYUZBVVRzcEdmZG5pQzF4MlVpYTlWQnlMelNqdHp6VFNaS1ZaN3M0NU90Y3A5Y2Z4K2tNeG1qZmQwVlBJQVRLam9BT3M1NWtvYVVQTzNVU2R6VlZrYVE9PScsXG4gIHB1YktleTogJ0F4THR2Sk83V0NBVDF1TllyaXdHeXh1Njc4Y2s3KzBhZzVQZDU4OWR0eWRDJyxcbiAgcHJpdmF0ZUtleTogJ3V6MlA3Szh4aHRvSE0xUUFiWFhXQng4M3V2eUEvdWxRVHg0dE0ycUdYQUU9JyxcbiAgc2lnbmVkVHhCYXNlNjQ6XG4gICAgJ0NsQUtUZ29PTDNSNWNHVnpMazF6WjFObGJtUVNQQW9VWCt1bW1UZUlPQkFaSFEwWXNQYjFDWjA0MGxRU0ZJRDVwaDBvMk4zbGoycW1MREg1OXFSUWFnMTRHZzRLQkhKMWJtVVNCakV3TURBd01CSnBDbEFLUmdvZkwyTnZjMjF2Y3k1amNubHdkRzh1YzJWamNESTFObXN4TGxCMVlrdGxlUklqQ2lFREV1MjhrN3RZSUJQVzQxaXVMQWJMRzdydnh5VHY3UnFEazkzbnoxMjNKMElTQkFvQ0NBRVlCQklWQ2c0S0JISjFibVVTQmpFd01EQXdNQkNBNGVzWEdrQm9VQlJPeWtaOTJlSUxYSFpTSnIxVUhJdk5LTzNQTk5Ka3BWbnV6ams2MXluMXgvSDZRekdhTjkzUlU4Z0JNcU9nQTZ6bm1TaHBRODdkUkozTlZXUnAnLFxuICBzZW5kZXI6ICdzdGhvcjF0bDQ2ZHhmaDNxdXBxeGdhcDV2dHBhaDRweHduMzVqNXRuanpscycsXG4gIHJlY2lwaWVudDogJ3N0aG9yMXNydTZ2OGZnbXJ3N3RybTI1Y2tycjcwazUzZ3g1cnRjNHhoZmdmJyxcbiAgY2hhaW5JZDogJ3Rob3JjaGFpbi1zdGFnZW5ldC0yJyxcbiAgYWNjb3VudE51bWJlcjogMTUsXG4gIHNlcXVlbmNlOiA0LFxuICBzZW5kQW1vdW50OiAnMTAwMDAwJyxcbiAgZmVlQW1vdW50OiAnMTAwMDAwJyxcbiAgc2VuZE1lc3NhZ2U6IHtcbiAgICB0eXBlVXJsOiAnL3R5cGVzLk1zZ1NlbmQnLFxuICAgIHZhbHVlOiB7XG4gICAgICBhbW91bnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRlbm9tOiAncnVuZScsXG4gICAgICAgICAgYW1vdW50OiAnMTAwMDAwJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBmcm9tQWRkcmVzczogJ3N0aG9yMXRsNDZkeGZoM3F1cHF4Z2FwNXZ0cGFoNHB4d24zNWo1dG5qemxzJyxcbiAgICAgIHRvQWRkcmVzczogJ3N0aG9yMXNydTZ2OGZnbXJ3N3RybTI1Y2tycjcwazUzZ3g1cnRjNHhoZmdmJyxcbiAgICB9LFxuICB9LFxuICBnYXNCdWRnZXQ6IHtcbiAgICBhbW91bnQ6IFtcbiAgICAgIHtcbiAgICAgICAgZGVub206ICdydW5lJyxcbiAgICAgICAgYW1vdW50OiAnMTAwMDAwJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBnYXNMaW1pdDogNTAwMDAwMDAsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgdGVzdG5ldEFkZHJlc3MgPSB7XG4gIGFkZHJlc3MxOiAnc3Rob3IxOXBoZnFoM2NlM25uamhoMGNzc240MzNueWRxOXNoeDc2czhxZ2cnLFxuICBhZGRyZXNzMjogJ3N0aG9yMWNnaGdyMGRuZXl5bXh4NmZqcTNlNzJxODN6MHF6N2Mzc2podG1jJyxcbiAgYWRkcmVzczM6ICdzdGhvcjFjZ2hncjBkbmV5eW14eDZmanEzZTcycTgzejBxejdjM3NqaHRtJyxcbiAgYWRkcmVzczQ6ICdzdGhvMWNnaGdyMGRuZXl5bXh4NmZqcTNlNzJxODN6MHF6N2Mzc2podG1jJyxcbiAgdmFsaWRhdG9yQWRkcmVzczE6ICdzdGhvcjFza3VjeGRxMGZrd3B4NGhqa3puNGczMDNobHpjZjMwbnFkdWxuMCcsXG4gIHZhbGlkYXRvckFkZHJlc3MyOiAnc3Rob3IxejZ6NXY5eGd6d3hkOWd5dGRrcHZlMGc2M21jZmZmamR6a3B3dWUnLFxuICB2YWxpZGF0b3JBZGRyZXNzMzogJ3N0aG9yMTlrNDZ5M25rcmE5cTlhNDh3amd3YWM2NW1zMzg1cGNncHVldWUnLFxuICB2YWxpZGF0b3JBZGRyZXNzNDogJ3N0aG8xeDl0aHMybmV2ejBlMDAyaHE5M2pmZHBkdDdydG14d2RxMDdmcDUnLFxuICBub01lbW9JZEFkZHJlc3M6ICdzdGhvcjF0bDQ2ZHhmaDNxdXBxeGdhcDV2dHBhaDRweHduMzVqNXRuanpscycsXG4gIHZhbGlkTWVtb0lkQWRkcmVzczogJ3N0aG9yMXRsNDZkeGZoM3F1cHF4Z2FwNXZ0cGFoNHB4d24zNWo1dG5qemxzP21lbW9JZD0yJyxcbiAgaW52YWxpZE1lbW9JZEFkZHJlc3M6ICdzdGhvcjF0bDQ2ZHhmaDNxdXBxeGdhcDV2dHBhaDRweHduMzVqNXRuanpscz9tZW1vSWQ9eHl6JyxcbiAgbXVsdGlwbGVNZW1vSWRBZGRyZXNzOiAnc3Rob3IxdGw0NmR4ZmgzcXVwcXhnYXA1dnRwYWg0cHh3bjM1ajV0bmp6bHM/bWVtb0lkPTMmbWVtb0lkPTEyJyxcbn07XG5cbmV4cG9ydCBjb25zdCB0ZXN0bmV0Q29pbkFtb3VudHMgPSB7XG4gIGFtb3VudDE6IHsgYW1vdW50OiAnMTAwMDAwJywgZGVub206ICdydW5lJyB9LFxuICBhbW91bnQyOiB7IGFtb3VudDogJzEwMDAwMDAnLCBkZW5vbTogJ3J1bmUnIH0sXG4gIGFtb3VudDM6IHsgYW1vdW50OiAnMTAwMDAwMDAnLCBkZW5vbTogJ3J1bmUnIH0sXG4gIGFtb3VudDQ6IHsgYW1vdW50OiAnLTEnLCBkZW5vbTogJ3J1bmUnIH0sXG4gIGFtb3VudDU6IHsgYW1vdW50OiAnMTAwMDAwMDAwMCcsIGRlbm9tOiAnYXJ1bmUnIH0sXG59O1xuXG5leHBvcnQgY29uc3Qgd3J3VXNlciA9IHtcbiAgc2VuZGVyQWRkcmVzczogJ3N0aG9yMWdxZWs4a2w1bXI5YzM3cmw4eXAybWxqbmU2N2pnYXFtOTZqZzJmJyxcbiAgZGVzdGluYXRpb25BZGRyZXNzOiAnc3Rob3IxdGw0NmR4ZmgzcXVwcXhnYXA1dnRwYWg0cHh3bjM1ajV0bmp6bHMnLFxuICB1c2VyUHJpdmF0ZUtleTpcbiAgICAne1wiaXZcIjpcIjlyY0hNeXRtbW5IakcxbGxCb2M0OWc9PVwiLFwidlwiOjEsXCJpdGVyXCI6MTAwMDAsXCJrc1wiOjI1NixcInRzXCI6NjQsXCJtb2RlXCIgOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiOGxGQXdUcmNDelE9XCIsXCJjdFwiOlwiMWdNUkM2MG51MDFJWXIgamdpcjlHQ3VRTkxNWkMydnQvcEZqZ0wrdFYzSzcvcnZpU2d1RHN1YTEzM1BrTkVldXR5MW1aeE5IMlMxVEt1MUt4WkpNbEIrTUFzIHZvN2s5ZEl5Q2dRdmtYL25iSkZGYVJybkxMNTVtY1FlMFBoQ2RWTlJIeDlkb1hNbmdSRitVcUVNTEQ4RjBITkUxK1pQR3pzYXRoSCBETEZQeExDUk1yd0EvU3MvTFFvd0dpWG80V256VkszTVFjWDZ3ZG1admZWK1MzeHN3UmpIa0x2b2xWWTNyVkdQNVBrVTg2V3dybXkgZTFDS000aFNHQThGTW9kYTcxOFN2azdDK0xIcjB5T1R1dVBmdFh0SDBmQVBQbzlLSDdmK0ViQldNSlBRZ2pLOERXL3oxeG5EZ0xIIGR6aHZleU5QZXZxVXFiM0ZFeXV0am93K0tCa3hsK3hIcUo0Z0tjVTlNTHNnaFBNQ3kwelNxMmtCYmhscVdKN1h3ZHVoSFZHdjJuVCBybHNFZmg3WjBmYnFaVFgxUlE1QUtaaFNCRkVxbXExaEt4UmxoVmNyOUtxQnc4MTR0SWZkRkQ3bk1nVjdyeiszWDhjSmFLMnREWEggMFFhWThiSkd3eHdIMzhGc2ZOZXZzOFFmMmJ4NVZyRC9WdzN3bzBHNWhKNytUZFBDcmliOFVXeXhQR3VydUg3Yjhod0NVVFphcTk3IHprRHA3Yzc5QkRXeUg4eWNUeFFYakxQd2IxQ3dwVWlSRGM2TkhEMnAzaUdWYXp0TWRRT01YbVBlZU1oQk5HVkkwTVBBZlNkY0RpcCAyRTVFazBmd25JMW1FdUZqUE1rYytWT2xzVmhsV2ZWLzlYcG9oM05hZFBocWczaTlDcjJ1TlQvUFN5SGQvanBJcUc1RGxhYUV2VkQgZjdDT3FOdlhYNVFxbWxyOWRMM1IyY2YwelA4VFBJbUFsUmZlZjREOHphdEh0eWxLa0ltTWMwSmNkY1hUendVLzV0ZjIxby9ZNzAxIERMWWp3VVVncVE1N09iSEhObFN2bWRJdU8xckQ1TEFuOTZOQVlOUlN0ckVOcW1iaWJFNU1zWXJwOW5QQXByQ05GblpSNlVOcFh3RCBodnE5Z3Z4UkcrUGptWEdqMG51eVI3Y3NoeFVSTHkwL3A0dHE3TGtHams0R2czMU1nazQxbGNZVVcydEx1VWJUWW1wdGV1M0Nkd2UgREZ1THNmSTFxWnhLeXI2VjVOc2UzWkF2bkpMVFpuUVhpSE9uYzJ5NS9lNTMrTUFWdXBYUjdIWnp4N1NJSitmcXhwanh2Y2NtZ0pDIHNXYVBvK0xzeDZLYVNOa1FHRk1HdXlaODdJRXZtN3ZrMkd5SVArRlFVbjRubVRkRURMemc3bk5vK3pmNVdUNEE2WXozR05BYTNOaCAyUUhaU0ZHV2N1Yk9YRGF3aDZsQWpaNzhHTks5eUpEcDIyZEpUbWZaKzFUc1ZPUnBiWnc9XCJ9JyxcbiAgYmFja3VwUHJpdmF0ZUtleTpcbiAgICAne1wiaXZcIjpcIjBFRHFHVTF5QkUyUE00cnk2VHhBUkE9PVwiLFwidlwiOjEsXCJpdGVyXCI6MTAwMDAsXCJrc1wiOjI1NixcInRzXCI6NjQsXCJtb2RlXCIgOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiYThUMGZWVmhUejA9XCIsXCJjdFwiOlwic3lDckorUkQ4b0haNHogamx0TG15TlMvVlZtU0xYTE1BZG5Wbm9QTkVmRlg5bUlNQXljWUNhak1SMjk3bDA5ZlBzV1dxRGNEczBjU0kweE5ibk1qeVczMGIvIEpPdlEzM2VhQlNpeUJyM3ZibWhhRUZkdVpUVWdPQ05nL0pzMGNBa0VrZUUvS0RrZk9VQjBIemZTRVFiNm0wZVhtV2dHU255U1VPZCBUbFpaL3RoVDdqMm9QSFZwUEU1Mmg2WWkzTFMxSmt0M1M3eVNTdFh2Ry80aXVyaGNMMzJhMzJGeDNJUXhzL2JnOEpCSUdsUkc2NDQgYUx0dENKK3VQaWhhU0lTVUduMWhoMGlFejJaQWFDb0NrcTdvTlBySytweEhIT21ianhwNlhwVjY3RW1RL0pSZlN0NDdlVzNqQzdBIEQreGFMTEhzcGpRaWZwNkNsWmVIVDJwQnJrY1dyWmZyMXVMNXczQ0tyWFFlSjBwWFVvUm1Kd0d5czRobTVCenU0aW1BTm8ramQxKyB3ZzczQnlZUTVWd1JoVjFxaGI4MnZVclEwaTRrNUd0Mmw2VTJMWi9ETVFpVWJxN0ZkallXcWZabWsxOEdJWjZnM0lQSnRHam5BNnggbzhSVHZreXRNTXY4YnRzeC9hYTZqRTZFTWVGdEd6bGhoSkp1bnBjUzRRRzRJa0l1eUFqUGFmd09rbEV3WGtsWkNMRHBLZFZZZ1RSIFJFMFhIQzBWWE9HUXdHVUFSek1ad1FPNU9hUnlRa3h0WjUvQ2F3STVqcndNWlArYnBDOWRLenNHT1hmU3Z2RnNKV25rYm9YeXkwOSBiRndUdUtIeDBaSUxkQS84WHE1Njg5WUVtRmxqSFRlUTBFcy9xNXk1a1UrWHpUNHNqamd4ejFxcWhVSlZoN3dEd1FldlJEV1R3R0ogTGZpMkFlTHN2MmYwUEtpR1RZSnpRR1NYVWVyaExNd2hnM3JYTmZYR2tyV1NtRWhKSC9Sc3ZGNkNkYVJLV3hWZCtrOEs1VUxMd0srIHNkdWpBNW11cloyNEtJNXowWXI5cVcyVFNzSlJHM1BTK1pIMXEzVkdZYXo2azkxMlFWenl2emRzOCtoZmFITnRyNk9HQldhaEdabyBKY2hnblFIU2ZBWnhPVXo3SzdXTnpoOTM0SEs1K2UxMS9sRi9GeHNzdW16Mk9TdEZXSTE4b0JCNy84WUJpNlBFcDNzRmRkT1FWU0EgQlhSR3VTdG9sR25hNDNubHk0YmF2T2ljN1hJb05IczYxaHluTWVSNk5jdGhzU3JqNXhaNnEzNkVxTGRma0RJbVF2dSszQlhDbFQ3IFE0YmRFZlhtMHQ3QmdtaWQ0TmVKMUkzZ3JYWk1PbVZiUGdjeXBmeHAyanJram1lL1IwL2VKTDRCMzhXVTJ4anhEZytXbEJHeThkQSB4ZzhsbCtuMk5rQTdsdkp6NU5CRHhiR0hSQWh0eVZURjhZQStPeHBzM3J1bUl3PT1cIn0nLFxuICBiaXRnb1B1YmxpY0tleTpcbiAgICAnMDJkNzU0ZmZkNjQ1YmEzZDg3ZmJkZWIzNTc4ZGJjMjJmYzI1MmViYjI5OTQxNjQzNGE3MDU5ZDk2MzhmNTJkMTFlMGZkMTUzZDlkIGRmYjJhMTkzNTMxYWM1YjdkM2IyMjMxODhhOTU3ZGUxMzEyZDNlZGUzNTMwNWVlNzBiNzYzNzYnLFxuICB3YWxsZXRQYXNzcGhyYXNlOiAnR2hnaGprZyE0NTU1NDRsbGxsJyxcbn07XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../test/unit/keyPair.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const should_1 = __importDefault(require("should"));
|
|
9
|
+
const src_1 = require("../../src");
|
|
10
|
+
const rune_1 = require("../resources/rune");
|
|
11
|
+
describe('Rune Key Pair', () => {
|
|
12
|
+
describe('should create a valid KeyPair', () => {
|
|
13
|
+
it('from an empty value', () => {
|
|
14
|
+
const keyPairObj = new src_1.KeyPair();
|
|
15
|
+
const keys = keyPairObj.getKeys();
|
|
16
|
+
should_1.default.exists(keys.prv);
|
|
17
|
+
should_1.default.exists(keys.pub);
|
|
18
|
+
should_1.default.equal(keys.prv?.length, 64);
|
|
19
|
+
should_1.default.equal(keys.pub.length, 66);
|
|
20
|
+
const extendedKeys = keyPairObj.getExtendedKeys();
|
|
21
|
+
should_1.default.exists(extendedKeys.xprv);
|
|
22
|
+
should_1.default.exists(extendedKeys.xpub);
|
|
23
|
+
});
|
|
24
|
+
it('from a private key', () => {
|
|
25
|
+
const privateKey = rune_1.TEST_ACCOUNT.privateKey;
|
|
26
|
+
const keyPairObj = new src_1.KeyPair({ prv: privateKey });
|
|
27
|
+
const keys = keyPairObj.getKeys();
|
|
28
|
+
should_1.default.exists(keys.prv);
|
|
29
|
+
should_1.default.exists(keys.pub);
|
|
30
|
+
should_1.default.equal(keys.prv, rune_1.TEST_ACCOUNT.privateKey);
|
|
31
|
+
should_1.default.equal(keys.pub, rune_1.TEST_ACCOUNT.compressedPublicKey);
|
|
32
|
+
should_1.default.equal(keyPairObj.getAddress(), rune_1.TEST_ACCOUNT.pubAddress);
|
|
33
|
+
should_1.default.equal(keyPairObj.getAddress(sdk_core_1.AddressFormat.testnet), rune_1.TEST_ACCOUNT.testnetPubAddress);
|
|
34
|
+
assert_1.default.throws(() => keyPairObj.getExtendedKeys());
|
|
35
|
+
});
|
|
36
|
+
it('from a compressed public key', () => {
|
|
37
|
+
const publicKey = rune_1.TEST_ACCOUNT.compressedPublicKey;
|
|
38
|
+
const keyPairObj = new src_1.KeyPair({ pub: publicKey });
|
|
39
|
+
const keys = keyPairObj.getKeys();
|
|
40
|
+
should_1.default.not.exist(keys.prv);
|
|
41
|
+
should_1.default.exists(keys.pub);
|
|
42
|
+
should_1.default.equal(keys.pub, rune_1.TEST_ACCOUNT.compressedPublicKey);
|
|
43
|
+
assert_1.default.throws(() => keyPairObj.getExtendedKeys());
|
|
44
|
+
});
|
|
45
|
+
it('from an uncompressed public key', () => {
|
|
46
|
+
// Input is uncompressed, but we output the compressed key to keep
|
|
47
|
+
// parity with coreum network expectations.
|
|
48
|
+
const publicKey = rune_1.TEST_ACCOUNT.uncompressedPublicKey;
|
|
49
|
+
const keyPairObj = new src_1.KeyPair({ pub: publicKey });
|
|
50
|
+
const keys = keyPairObj.getKeys();
|
|
51
|
+
should_1.default.not.exist(keys.prv);
|
|
52
|
+
should_1.default.exists(keys.pub);
|
|
53
|
+
should_1.default.notEqual(keys.pub, publicKey);
|
|
54
|
+
should_1.default.equal(keys.pub, rune_1.TEST_ACCOUNT.compressedPublicKey);
|
|
55
|
+
assert_1.default.throws(() => keyPairObj.getExtendedKeys());
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('should fail to create a KeyPair', () => {
|
|
59
|
+
it('from an invalid privateKey', () => {
|
|
60
|
+
assert_1.default.throws(() => new src_1.KeyPair({ prv: '' }), (e) => e.message === 'Unsupported private key');
|
|
61
|
+
});
|
|
62
|
+
it('from an invalid publicKey', () => {
|
|
63
|
+
assert_1.default.throws(() => new src_1.KeyPair({ pub: '' }), (e) => e.message.startsWith('Unsupported public key'));
|
|
64
|
+
});
|
|
65
|
+
it('from an undefined seed', () => {
|
|
66
|
+
const undefinedBuffer = undefined;
|
|
67
|
+
assert_1.default.throws(() => new src_1.KeyPair({ seed: undefinedBuffer }), (e) => e.message.startsWith('Invalid key pair options'));
|
|
68
|
+
});
|
|
69
|
+
it('from an undefined private key', () => {
|
|
70
|
+
const undefinedStr = undefined;
|
|
71
|
+
assert_1.default.throws(() => new src_1.KeyPair({ prv: undefinedStr }), (e) => e.message.startsWith('Invalid key pair options'));
|
|
72
|
+
});
|
|
73
|
+
it('from an undefined public key', () => {
|
|
74
|
+
const undefinedStr = undefined;
|
|
75
|
+
assert_1.default.throws(() => new src_1.KeyPair({ pub: undefinedStr }), (e) => e.message.startsWith('Invalid key pair options'));
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
describe('should get unique address', () => {
|
|
79
|
+
it('from a private key', () => {
|
|
80
|
+
const keyPair = new src_1.KeyPair({ prv: rune_1.TEST_ACCOUNT.privateKey });
|
|
81
|
+
should_1.default.equal(keyPair.getAddress(), rune_1.TEST_ACCOUNT.pubAddress);
|
|
82
|
+
});
|
|
83
|
+
it('from a compressed public key', () => {
|
|
84
|
+
const keyPair = new src_1.KeyPair({ pub: rune_1.TEST_ACCOUNT.compressedPublicKey });
|
|
85
|
+
should_1.default.equal(keyPair.getAddress(), rune_1.TEST_ACCOUNT.pubAddress);
|
|
86
|
+
});
|
|
87
|
+
it('should be different for different public keys', () => {
|
|
88
|
+
const keyPairOne = new src_1.KeyPair({ pub: rune_1.TEST_ACCOUNT.compressedPublicKey });
|
|
89
|
+
const keyPairTwo = new src_1.KeyPair({ pub: rune_1.TEST_ACCOUNT.compressedPublicKeyTwo });
|
|
90
|
+
should_1.default.notEqual(keyPairOne.getAddress(), keyPairTwo.getAddress());
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9rZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOENBQWdEO0FBQ2hELG9EQUE0QjtBQUM1QixvREFBNEI7QUFDNUIsbUNBQW9DO0FBQ3BDLDRDQUFpRDtBQUVqRCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixRQUFRLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1FBQzdDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7WUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxhQUFPLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEMsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLGdCQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUVsQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbEQsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLGdCQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7WUFDNUIsTUFBTSxVQUFVLEdBQUcsbUJBQVksQ0FBQyxVQUFVLENBQUM7WUFDM0MsTUFBTSxVQUFVLEdB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QUMsRUFBRSxHQUFHLEVBQUUsbUJBQVksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7WUFDN0UsZ0JBQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZHJlc3NGb3JtYXQgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBURVNUX0FDQ09VTlQgfSBmcm9tICcuLi9yZXNvdXJjZXMvcnVuZSc7XG5cbmRlc2NyaWJlKCdSdW5lIEtleSBQYWlyJywgKCkgPT4ge1xuICBkZXNjcmliZSgnc2hvdWxkIGNyZWF0ZSBhIHZhbGlkIEtleVBhaXInLCAoKSA9PiB7XG4gICAgaXQoJ2Zyb20gYW4gZW1wdHkgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyT2JqID0gbmV3IEtleVBhaXIoKTtcbiAgICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyT2JqLmdldEtleXMoKTtcbiAgICAgIHNob3VsZC5leGlzdHMoa2V5cy5wcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhrZXlzLnB1Yik7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5cy5wcnY/Lmxlbmd0aCwgNjQpO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleXMucHViLmxlbmd0aCwgNjYpO1xuXG4gICAgICBjb25zdCBleHRlbmRlZEtleXMgPSBrZXlQYWlyT2JqLmdldEV4dGVuZGVkS2V5cygpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhleHRlbmRlZEtleXMueHBydik7XG4gICAgICBzaG91bGQuZXhpc3RzKGV4dGVuZGVkS2V5cy54cHViKTtcbiAgICB9KTtcblxuICAgIGl0KCdmcm9tIGEgcHJpdmF0ZSBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcml2YXRlS2V5ID0gVEVTVF9BQ0NPVU5ULnByaXZhdGVLZXk7XG4gICAgICBjb25zdCBrZXlQYWlyT2JqID0gbmV3IEtleVBhaXIoeyBwcnY6IHByaXZhdGVLZXkgfSk7XG4gICAgICBjb25zdCBrZXlzID0ga2V5UGFpck9iai5nZXRLZXlzKCk7XG4gICAgICBzaG91bGQuZXhpc3RzKGtleXMucHJ2KTtcbiAgICAgIHNob3VsZC5leGlzdHMoa2V5cy5wdWIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleXMucHJ2LCBURVNUX0FDQ09VTlQucHJpdmF0ZUtleSk7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5cy5wdWIsIFRFU1RfQUNDT1VOVC5jb21wcmVzc2VkUHVibGljS2V5KTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlQYWlyT2JqLmdldEFkZHJlc3MoKSwgVEVTVF9BQ0NPVU5ULnB1YkFkZHJlc3MpO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleVBhaXJPYmouZ2V0QWRkcmVzcyhBZGRyZXNzRm9ybWF0LnRlc3RuZXQpLCBURVNUX0FDQ09VTlQudGVzdG5ldFB1YkFkZHJlc3MpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGtleVBhaXJPYmouZ2V0RXh0ZW5kZWRLZXlzKCkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYSBjb21wcmVzc2VkIHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBwdWJsaWNLZXkgPSBURVNUX0FDQ09VTlQuY29tcHJlc3NlZFB1YmxpY0tleTtcbiAgICAgIGNvbnN0IGtleVBhaXJPYmogPSBuZXcgS2V5UGFpcih7IHB1YjogcHVibGljS2V5IH0pO1xuICAgICAgY29uc3Qga2V5cyA9IGtleVBhaXJPYmouZ2V0S2V5cygpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChrZXlzLnBydik7XG4gICAgICBzaG91bGQuZXhpc3RzKGtleXMucHViKTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlzLnB1YiwgVEVTVF9BQ0NPVU5ULmNvbXByZXNzZWRQdWJsaWNLZXkpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGtleVBhaXJPYmouZ2V0RXh0ZW5kZWRLZXlzKCkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4gdW5jb21wcmVzc2VkIHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICAvLyBJbnB1dCBpcyB1bmNvbXByZXNzZWQsIGJ1dCB3ZSBvdXRwdXQgdGhlIGNvbXByZXNzZWQga2V5IHRvIGtlZXBcbiAgICAgIC8vIHBhcml0eSB3aXRoIGNvcmV1bSBuZXR3b3JrIGV4cGVjdGF0aW9ucy5cbiAgICAgIGNvbnN0IHB1YmxpY0tleSA9IFRFU1RfQUNDT1VOVC51bmNvbXByZXNzZWRQdWJsaWNLZXk7XG4gICAgICBjb25zdCBrZXlQYWlyT2JqID0gbmV3IEtleVBhaXIoeyBwdWI6IHB1YmxpY0tleSB9KTtcbiAgICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyT2JqLmdldEtleXMoKTtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3Qoa2V5cy5wcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhrZXlzLnB1Yik7XG4gICAgICBzaG91bGQubm90RXF1YWwoa2V5cy5wdWIsIHB1YmxpY0tleSk7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5cy5wdWIsIFRFU1RfQUNDT1VOVC5jb21wcmVzc2VkUHVibGljS2V5KTtcblxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBrZXlQYWlyT2JqLmdldEV4dGVuZGVkS2V5cygpKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBmYWlsIHRvIGNyZWF0ZSBhIEtleVBhaXInLCAoKSA9PiB7XG4gICAgaXQoJ2Zyb20gYW4gaW52YWxpZCBwcml2YXRlS2V5JywgKCkgPT4ge1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4gbmV3IEtleVBhaXIoeyBwcnY6ICcnIH0pLFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICdVbnN1cHBvcnRlZCBwcml2YXRlIGtleSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhbiBpbnZhbGlkIHB1YmxpY0tleScsICgpID0+IHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IG5ldyBLZXlQYWlyKHsgcHViOiAnJyB9KSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlLnN0YXJ0c1dpdGgoJ1Vuc3VwcG9ydGVkIHB1YmxpYyBrZXknKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdmcm9tIGFuIHVuZGVmaW5lZCBzZWVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdW5kZWZpbmVkQnVmZmVyID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgQnVmZmVyO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4gbmV3IEtleVBhaXIoeyBzZWVkOiB1bmRlZmluZWRCdWZmZXIgfSksXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZS5zdGFydHNXaXRoKCdJbnZhbGlkIGtleSBwYWlyIG9wdGlvbnMnKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdmcm9tIGFuIHVuZGVmaW5lZCBwcml2YXRlIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IHVuZGVmaW5lZFN0cjogc3RyaW5nID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgc3RyaW5nO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4gbmV3IEtleVBhaXIoeyBwcnY6IHVuZGVmaW5lZFN0ciB9KSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlLnN0YXJ0c1dpdGgoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4gdW5kZWZpbmVkIHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCB1bmRlZmluZWRTdHI6IHN0cmluZyA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIHN0cmluZztcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IG5ldyBLZXlQYWlyKHsgcHViOiB1bmRlZmluZWRTdHIgfSksXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZS5zdGFydHNXaXRoKCdJbnZhbGlkIGtleSBwYWlyIG9wdGlvbnMnKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBnZXQgdW5pcXVlIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgaXQoJ2Zyb20gYSBwcml2YXRlIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydjogVEVTVF9BQ0NPVU5ULnByaXZhdGVLZXkgfSk7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5UGFpci5nZXRBZGRyZXNzKCksIFRFU1RfQUNDT1VOVC5wdWJBZGRyZXNzKTtcbiAgICB9KTtcblxuICAgIGl0KCdmcm9tIGEgY29tcHJlc3NlZCBwdWJsaWMga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHViOiBURVNUX0FDQ09VTlQuY29tcHJlc3NlZFB1YmxpY0tleSB9KTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlQYWlyLmdldEFkZHJlc3MoKSwgVEVTVF9BQ0NPVU5ULnB1YkFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBiZSBkaWZmZXJlbnQgZm9yIGRpZmZlcmVudCBwdWJsaWMga2V5cycsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXJPbmUgPSBuZXcgS2V5UGFpcih7IHB1YjogVEVTVF9BQ0NPVU5ULmNvbXByZXNzZWRQdWJsaWNLZXkgfSk7XG4gICAgICBjb25zdCBrZXlQYWlyVHdvID0gbmV3IEtleVBhaXIoeyBwdWI6IFRFU1RfQUNDT1VOVC5jb21wcmVzc2VkUHVibGljS2V5VHdvIH0pO1xuICAgICAgc2hvdWxkLm5vdEVxdWFsKGtleVBhaXJPbmUuZ2V0QWRkcmVzcygpLCBrZXlQYWlyVHdvLmdldEFkZHJlc3MoKSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rune.d.ts","sourceRoot":"","sources":["../../../test/unit/rune.ts"],"names":[],"mappings":""}
|