@bitgo-beta/sdk-coin-coreum 1.0.0-alpha.392 → 1.0.0-alpha.394
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/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +3 -3
- package/dist/test/resources/coreum.d.ts +1 -0
- package/dist/test/resources/coreum.d.ts.map +1 -1
- package/dist/test/resources/coreum.js +2 -1
- package/dist/test/unit/utils.js +24 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,UAAiF,CAAC;AAC1G,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,UAAiF,CAAC;AAC1G,eAAO,MAAM,0BAA0B,QACuD,CAAC;AAC/F,eAAO,MAAM,4BAA4B,QAA8D,CAAC;AACxG,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,0BAA0B,QAC2D,CAAC;AACnG,eAAO,MAAM,4BAA4B,QAAkE,CAAC;AAC5G,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,UAAU,SAAS,CAAC"}
|
|
@@ -4,12 +4,12 @@ exports.GAS_AMOUNT = exports.GAS_LIMIT = exports.TESTNET_ADDRESS_PREFIX = export
|
|
|
4
4
|
const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
5
5
|
const cosmosUtils = new abstract_cosmos_1.CosmosUtils();
|
|
6
6
|
exports.validDenoms = ['ucore', 'utestcore', ...cosmosUtils.getTokenDenomsUsingCoinFamily('coreum')];
|
|
7
|
-
exports.mainnetAccountAddressRegex = /^(core)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/;
|
|
7
|
+
exports.mainnetAccountAddressRegex = /^(core)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38}|['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{58})$/;
|
|
8
8
|
exports.mainnetValidatorAddressRegex = /^(corevaloper)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/;
|
|
9
9
|
exports.MAINNET_ADDRESS_PREFIX = 'core';
|
|
10
|
-
exports.testnetAccountAddressRegex = /^(testcore)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/;
|
|
10
|
+
exports.testnetAccountAddressRegex = /^(testcore)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38}|['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{58})$/;
|
|
11
11
|
exports.testnetValidatorAddressRegex = /^(testcorevaloper)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/;
|
|
12
12
|
exports.TESTNET_ADDRESS_PREFIX = 'testcore';
|
|
13
13
|
exports.GAS_LIMIT = 200000;
|
|
14
14
|
exports.GAS_AMOUNT = '6250';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUVBQTBEO0FBRTFELE1BQU0sV0FBVyxHQUFHLElBQUksNkJBQVcsRUFBRSxDQUFDO0FBQ3pCLFFBQUEsV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzdGLFFBQUEsMEJBQTBCLEdBQ3JDLDRGQUE0RixDQUFDO0FBQ2xGLFFBQUEsNEJBQTRCLEdBQUcsMkRBQTJELENBQUM7QUFDM0YsUUFBQSxzQkFBc0IsR0FBRyxNQUFNLENBQUM7QUFDaEMsUUFBQSwwQkFBMEIsR0FDckMsZ0dBQWdHLENBQUM7QUFDdEYsUUFBQSw0QkFBNEIsR0FBRywrREFBK0QsQ0FBQztBQUMvRixRQUFBLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztBQUVwQyxRQUFBLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFDbkIsUUFBQSxVQUFVLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zbW9zVXRpbHMgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1jb3Ntb3MnO1xuXG5jb25zdCBjb3Ntb3NVdGlscyA9IG5ldyBDb3Ntb3NVdGlscygpO1xuZXhwb3J0IGNvbnN0IHZhbGlkRGVub21zID0gWyd1Y29yZScsICd1dGVzdGNvcmUnLCAuLi5jb3Ntb3NVdGlscy5nZXRUb2tlbkRlbm9tc1VzaW5nQ29pbkZhbWlseSgnY29yZXVtJyldO1xuZXhwb3J0IGNvbnN0IG1haW5uZXRBY2NvdW50QWRkcmVzc1JlZ2V4ID1cbiAgL14oY29yZSkxKFsncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xdezM4fXxbJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsXXs1OH0pJC87XG5leHBvcnQgY29uc3QgbWFpbm5ldFZhbGlkYXRvckFkZHJlc3NSZWdleCA9IC9eKGNvcmV2YWxvcGVyKTEoWydxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bF17Mzh9KSQvO1xuZXhwb3J0IGNvbnN0IE1BSU5ORVRfQUREUkVTU19QUkVGSVggPSAnY29yZSc7XG5leHBvcnQgY29uc3QgdGVzdG5ldEFjY291bnRBZGRyZXNzUmVnZXggPVxuICAvXih0ZXN0Y29yZSkxKFsncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xdezM4fXxbJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsXXs1OH0pJC87XG5leHBvcnQgY29uc3QgdGVzdG5ldFZhbGlkYXRvckFkZHJlc3NSZWdleCA9IC9eKHRlc3Rjb3JldmFsb3BlcikxKFsncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xdezM4fSkkLztcbmV4cG9ydCBjb25zdCBURVNUTkVUX0FERFJFU1NfUFJFRklYID0gJ3Rlc3Rjb3JlJztcblxuZXhwb3J0IGNvbnN0IEdBU19MSU1JVCA9IDIwMDAwMDtcbmV4cG9ydCBjb25zdCBHQVNfQU1PVU5UID0gJzYyNTAnO1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreum.d.ts","sourceRoot":"","sources":["../../../test/resources/coreum.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;CAYxB,CAAC;AAEF,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"coreum.d.ts","sourceRoot":"","sources":["../../../test/resources/coreum.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;CAYxB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAc1B,CAAC;AAEF,eAAO,MAAM,SAAS;;;CAGrB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;CAIjB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAM9B,CAAC"}
|
|
@@ -17,6 +17,7 @@ exports.mainnetAddress = {
|
|
|
17
17
|
address2: 'core1ssh2d2ft6hzrgn9z6k7mmsamy2hfpxl9y8re5x',
|
|
18
18
|
address3: 'core35udp7m30va5njkdrguj27wvk9lnutfwkevk7n9',
|
|
19
19
|
address4: 'core1v7n3mrjg58udt7cyhv9gs62t8wcf9sh8w604yy',
|
|
20
|
+
address32byte1: 'core1pnxmcuxqvumfe6ktv40v2vm3z0zckluupzxu3uuq0f7t07w6xuwsc7td3m',
|
|
20
21
|
validatorAddress1: 'corevaloper1gsaxrwfu5glgw764mqhc4t8f3yxg2h07rmwt0k',
|
|
21
22
|
validatorAddress2: 'corevaloper1x9hd9r7duv2gagztvvqlw94v5gy4zd9xwhqnlm',
|
|
22
23
|
validatorAddress3: 'corevaloper2flaz3hzgg3tjszl372lu2zz5jsmxd8pvydl7gg',
|
|
@@ -42,4 +43,4 @@ exports.mainnetCoinAmounts = {
|
|
|
42
43
|
amount4: { amount: '-1', denom: 'ucore' },
|
|
43
44
|
amount5: { amount: '1000000000', denom: 'acore' },
|
|
44
45
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZXVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9yZXNvdXJjZXMvY29yZXVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwyRkFBMkY7OztBQUU5RSxRQUFBLFlBQVksR0FBRztJQUMxQixVQUFVLEVBQUUsNkNBQTZDO0lBQ3pELGlCQUFpQixFQUFFLGlEQUFpRDtJQUNwRSxtQkFBbUIsRUFBRSxvRUFBb0U7SUFDekYsc0JBQXNCLEVBQUUsb0VBQW9FO0lBQzVGLHFCQUFxQixFQUNuQixvSUFBb0k7SUFDdEksVUFBVSxFQUFFLGtFQUFrRTtJQUM5RSxXQUFXLEVBQ1QsaUhBQWlIO0lBQ25ILFdBQVcsRUFDVCxpSEFBaUg7Q0FDcEgsQ0FBQztBQUVXLFFBQUEsY0FBYyxHQUFHO0lBQzVCLFFBQVEsRUFBRSw2Q0FBNkM7SUFDdkQsUUFBUSxFQUFFLDZDQUE2QztJQUN2RCxRQUFRLEVBQUUsNkNBQTZDO0lBQ3ZELFFBQVEsRUFBRSw2Q0FBNkM7SUFDdkQsY0FBYyxFQUFFLGlFQUFpRTtJQUNqRixpQkFBaUIsRUFBRSxvREFBb0Q7SUFDdkUsaUJBQWlCLEVBQUUsb0RBQW9EO0lBQ3ZFLGlCQUFpQixFQUFFLG9EQUFvRDtJQUN2RSxpQkFBaUIsRUFBRSxvREFBb0Q7SUFDdkUsZUFBZSxFQUFFLDZDQUE2QztJQUM5RCxrQkFBa0IsRUFBRSxzREFBc0Q7SUFDMUUsb0JBQW9CLEVBQUUsd0RBQXdEO0lBQzlFLHFCQUFxQixFQUFFLGdFQUFnRTtDQUN4RixDQUFDO0FBRVcsUUFBQSxTQUFTLEdBQUc7SUFDdkIsS0FBSyxFQUFFLGtFQUFrRTtJQUN6RSxLQUFLLEVBQUUsa0VBQWtFO0NBQzFFLENBQUM7QUFFVyxRQUFBLEtBQUssR0FBRztJQUNuQixLQUFLLEVBQUUsa0VBQWtFO0lBQ3pFLEtBQUssRUFBRSxrRUFBa0U7SUFDekUsS0FBSyxFQUFFLGtFQUFrRTtDQUMxRSxDQUFDO0FBRVcsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7SUFDN0MsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO0lBQzlDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUMvQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7SUFDekMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO0NBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZXQgdGhlIHRlc3QgZGF0YSBieSBydW5uaW5nIHRoZSBzY3JpcHRzIGZvciB0aGUgcGFydGljdWxhciBjb2luIGZyb20gY29pbi1zYW5kYm94IHJlcG8uXG5cbmV4cG9ydCBjb25zdCBURVNUX0FDQ09VTlQgPSB7XG4gIHB1YkFkZHJlc3M6ICdjb3JlMXhyaDg5Y2VkMDJlYTY5MjhrY3dlY3RndGtrN2s0OTU0YzVmc3ZnJyxcbiAgdGVzdG5ldFB1YkFkZHJlc3M6ICd0ZXN0Y29yZTF4cmg4OWNlZDAyZWE2OTI4a2N3ZWN0Z3RrazdrNDk1NHdxamRyNycsXG4gIGNvbXByZXNzZWRQdWJsaWNLZXk6ICcwMzcxYjE1NWYyMWJmNDQyNmQ5YWRlZGEzMGM4NThmNTIzZGEzZDIwY2E5YzJhMWMyN2I4M2JhZWFjM2VkNmYxODQnLFxuICBjb21wcmVzc2VkUHVibGljS2V5VHdvOiAnMDJlMDRlYTMyOGQ5OGRlNjYzMjI0YTEyNmExYzY0NzQwZTM0MTk3NmYwMzYwZDQ1NTExYzk1NGU2MWZiYTMwNDY2JyxcbiAgdW5jb21wcmVzc2VkUHVibGljS2V5OlxuICAgICcwNDcxYjE1NWYyMWJmNDQyNmQ5YWRlZGEzMGM4NThmNTIzZGEzZDIwY2E5YzJhMWMyN2I4M2JhZWFjM2VkNmYxODQzYTBiNjQyMzdlNjM4YmE3MTI5ZDJkYmU4NmE1YzVjYmQxZTg1ZjZlNWJhNjYwNmI2YzFmOThlMWI1ZDIzYjg3JyxcbiAgcHJpdmF0ZUtleTogJ2M5Y2ZiZjlkODZmODZkNTVjZTM1OGIxNTQwMmJkNGY5ZTI3NGI1MjQ5ZmY5YmUxYjg1MjU1M2EzNjY4MWE3OTgnLFxuICBleHRlbmRlZFBydjpcbiAgICAneHBydjlzMjFaclFIMTQzSzRDRmNpWjlka1ZLMmd5QWo4YWc4UFVQbTd2VlpoYlVoQTltUVBLOWY0Qmh6cWtEc0tvakxoSldRbmRpUktQYndGYUV5NmRHdjZlREJaa01pbXBpRFg4WnZOTjJrQ1ZIJyxcbiAgZXh0ZW5kZWRQdWI6XG4gICAgJ3hwdWI2NjFNeU13QXFSYmNHZ0w1cGFnZTdkRm1GMTFEWTNQeWtoS012SnVCRncxZzJ4Nll2clR1YnoyVWgyWGE0cW1CdnR4VlB4eTJZQ3BSQVFRQ1FRWXo1TWN0V3NDZFd2RHd5YlJKdmFHdWJqTCcsXG59O1xuXG5leHBvcnQgY29uc3QgbWFpbm5ldEFkZHJlc3MgPSB7XG4gIGFkZHJlc3MxOiAnY29yZTF2N24zbXJqZzU4dWR0N2N5aHY5Z3M2MnQ4d2NmOXNoOHc2MDR5NScsXG4gIGFkZHJlc3MyOiAnY29yZTFzc2gyZDJmdDZoenJnbjl6Nms3bW1zYW15MmhmcHhsOXk4cmU1eCcsXG4gIGFkZHJlc3MzOiAnY29yZTM1dWRwN20zMHZhNW5qa2RyZ3VqMjd3dms5bG51dGZ3a2V2azduOScsXG4gIGFkZHJlc3M0OiAnY29yZTF2N24zbXJqZzU4dWR0N2N5aHY5Z3M2MnQ4d2NmOXNoOHc2MDR5eScsXG4gIGFkZHJlc3MzMmJ5dGUxOiAnY29yZTFwbnhtY3V4cXZ1bWZlNmt0djQwdjJ2bTN6MHpja2x1dXB6eHUzdXVxMGY3dDA3dzZ4dXdzYzd0ZDNtJyxcbiAgdmFsaWRhdG9yQWRkcmVzczE6ICdjb3JldmFsb3BlcjFnc2F4cndmdTVnbGd3NzY0bXFoYzR0OGYzeXhnMmgwN3Jtd3QwaycsXG4gIHZhbGlkYXRvckFkZHJlc3MyOiAnY29yZXZhbG9wZXIxeDloZDlyN2R1djJnYWd6dHZ2cWx3OTR2NWd5NHpkOXh3aHFubG0nLFxuICB2YWxpZGF0b3JBZGRyZXNzMzogJ2NvcmV2YWxvcGVyMmZsYXozaHpnZzN0anN6bDM3Mmx1Mnp6NWpzbXhkOHB2eWRsN2dnJyxcbiAgdmFsaWRhdG9yQWRkcmVzczQ6ICdjb3JldmFsb3BlcjFnc2F4cndmdTVnbGd3NzY0bXFoYzR0OGYzeXhnMmgwN3Jtd3QwMCcsXG4gIG5vTWVtb0lkQWRkcmVzczogJ2NvcmUxdjduM21yamc1OHVkdDdjeWh2OWdzNjJ0OHdjZjlzaDh3NjA0eTUnLFxuICB2YWxpZE1lbW9JZEFkZHJlc3M6ICdjb3JlMXY3bjNtcmpnNTh1ZHQ3Y3lodjlnczYydDh3Y2Y5c2g4dzYwNHk1P21lbW9JZD0yJyxcbiAgaW52YWxpZE1lbW9JZEFkZHJlc3M6ICdjb3JlMXY3bjNtcmpnNTh1ZHQ3Y3lodjlnczYydDh3Y2Y5c2g4dzYwNHk1P21lbW9JZD14eXonLFxuICBtdWx0aXBsZU1lbW9JZEFkZHJlc3M6ICdjb3JlMXY3bjNtcmpnNTh1ZHQ3Y3lodjlnczYydDh3Y2Y5c2g4dzYwNHk1P21lbW9JZD0zJm1lbW9JZD0xMicsXG59O1xuXG5leHBvcnQgY29uc3QgYmxvY2tIYXNoID0ge1xuICBoYXNoMTogJzhERUY0MUZCNDY0QjRFQUU5RTExRkE2Q0M0RDA4QTlGODNENzNFRDE3M0I4NjZBOUYxQkJFQTQ3NjBDQTEyNTgnLFxuICBoYXNoMjogJzY0MjBCMkZCRjBEMEIyOUJENjg4OURDQkVCMjQ1NTJBQTFEREE5OUVBNjM0QUVFRjAyMTIyMkJGOTIxOEI2RTYnLFxufTtcblxuZXhwb3J0IGNvbnN0IHR4SWRzID0ge1xuICBoYXNoMTogJzBBMTk5N0JFNzM0OUEwREUyRUIzNUY0MDY0MzJBN0ExNDY5Mzg1MDhBQjE1QTY1NUMzNzEzMjE4OTFFNjU4RTMnLFxuICBoYXNoMjogJ0Q3NUJENzE1MDgxRUQ2NDZFNDQ1M0RDQzE1NzNGMzYyQzc1NzdBQTQ5QjgxQjVGMzk5MTlFQzczREQ0OEYxMzQnLFxuICBoYXNoMzogJ0VDQzNERUMyNDYyMDMzMjU2NTAxQjI0QjM3Q0FCMzREQjRCRDUxNzlCMDZCQUQwQUYyM0JEQjBDOURFNDA2Q0MnLFxufTtcblxuZXhwb3J0IGNvbnN0IG1haW5uZXRDb2luQW1vdW50cyA9IHtcbiAgYW1vdW50MTogeyBhbW91bnQ6ICcxMDAwMDAnLCBkZW5vbTogJ3Vjb3JlJyB9LFxuICBhbW91bnQyOiB7IGFtb3VudDogJzEwMDAwMDAnLCBkZW5vbTogJ3Vjb3JlJyB9LFxuICBhbW91bnQzOiB7IGFtb3VudDogJzEwMDAwMDAwJywgZGVub206ICd1Y29yZScgfSxcbiAgYW1vdW50NDogeyBhbW91bnQ6ICctMScsIGRlbm9tOiAndWNvcmUnIH0sXG4gIGFtb3VudDU6IHsgYW1vdW50OiAnMTAwMDAwMDAwMCcsIGRlbm9tOiAnYWNvcmUnIH0sXG59O1xuIl19
|
package/dist/test/unit/utils.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const statics_1 = require("@bitgo-beta/statics");
|
|
7
7
|
const should_1 = __importDefault(require("should"));
|
|
8
8
|
const utils_1 = require("../../src/lib/utils");
|
|
9
|
+
const constants_1 = require("../../src/lib/constants");
|
|
9
10
|
const coreum_1 = require("../resources/coreum");
|
|
10
11
|
const tcoreum_1 = require("../resources/tcoreum");
|
|
11
12
|
describe('utils', () => {
|
|
@@ -35,6 +36,28 @@ describe('utils', () => {
|
|
|
35
36
|
should_1.default.equal(mainnetUtils.isValidTransactionId(coreum_1.txIds.hash3 + '00'), false);
|
|
36
37
|
should_1.default.equal(mainnetUtils.isValidTransactionId('dalij43ta0ga2dadda02'), false);
|
|
37
38
|
});
|
|
39
|
+
it('should accept 32-byte (group module / smart contract) addresses', () => {
|
|
40
|
+
should_1.default.equal(mainnetUtils.isValidAddress(coreum_1.mainnetAddress.address32byte1), true);
|
|
41
|
+
should_1.default.equal(mainnetUtils.isValidAddress(`${coreum_1.mainnetAddress.address32byte1}?memoId=1`), true);
|
|
42
|
+
});
|
|
43
|
+
it('should reject 32-byte addresses with an invalid checksum', () => {
|
|
44
|
+
const corrupted = coreum_1.mainnetAddress.address32byte1.slice(0, -1) + 'q';
|
|
45
|
+
should_1.default.equal(mainnetUtils.isValidAddress(corrupted), false);
|
|
46
|
+
});
|
|
47
|
+
it('should reject addresses with intermediate data lengths (not 38 or 58 chars)', () => {
|
|
48
|
+
const bech32Chars = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';
|
|
49
|
+
const intermediateData = bech32Chars.repeat(2).slice(0, 48);
|
|
50
|
+
should_1.default.equal(constants_1.mainnetAccountAddressRegex.test(`core1${intermediateData}`), false);
|
|
51
|
+
should_1.default.equal(constants_1.testnetAccountAddressRegex.test(`testcore1${intermediateData}`), false);
|
|
52
|
+
});
|
|
53
|
+
it('testnet regex should accept both 20-byte and 32-byte address lengths', () => {
|
|
54
|
+
const data38 = 'qpzry9x8gf2tvdw0s3jn54khce6mua7lqpzry9';
|
|
55
|
+
should_1.default.equal(constants_1.testnetAccountAddressRegex.test(`testcore1${data38}`), true);
|
|
56
|
+
const data58 = 'qpzry9x8gf2tvdw0s3jn54khce6mua7lqpzry9x8gf2tvdw0s3jn54khce';
|
|
57
|
+
should_1.default.equal(constants_1.testnetAccountAddressRegex.test(`testcore1${data58}`), true);
|
|
58
|
+
const data39 = 'qpzry9x8gf2tvdw0s3jn54khce6mua7lqpzry9x';
|
|
59
|
+
should_1.default.equal(constants_1.testnetAccountAddressRegex.test(`testcore1${data39}`), false);
|
|
60
|
+
});
|
|
38
61
|
it('validateAmount', function () {
|
|
39
62
|
should_1.default.doesNotThrow(() => mainnetUtils.validateAmountData([coreum_1.mainnetCoinAmounts.amount1]));
|
|
40
63
|
should_1.default.doesNotThrow(() => mainnetUtils.validateAmountData([coreum_1.mainnetCoinAmounts.amount2]));
|
|
@@ -48,4 +71,4 @@ describe('utils', () => {
|
|
|
48
71
|
(0, should_1.default)(() => testnetUtils.validateAmountData([tcoreum_1.testnetCoinAmounts.amount5])).throwError('transactionBuilder: validateAmount: Invalid denom: ' + tcoreum_1.testnetCoinAmounts.amount5.denom);
|
|
49
72
|
});
|
|
50
73
|
});
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBa0Q7QUFDbEQsb0RBQTRCO0FBQzVCLCtDQUFrRDtBQUNsRCxnREFBMkU7QUFDM0Usa0RBQTBEO0FBRTFELFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO0lBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQVcsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQVcsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTFELEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxrQkFBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsa0JBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSwwREFBMEQ7UUFDMUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxTQUE4QixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakYsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0UsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxrQkFBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6RSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtRQUNsRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsY0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25FLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLGNBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7UUFDMUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNELGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdCQUFnQixFQUFFO1FBQ25CLGdCQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDJCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RixnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQywyQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsZ0JBQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsMkJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQywyQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUNwRixzREFBc0QsR0FBRywyQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUMzRixDQUFDO1FBQ0YsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDJCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQ3BGLHFEQUFxRCxHQUFHLDJCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQ3pGLENBQUM7UUFFRixnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyw0QkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsZ0JBQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsNEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLGdCQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDRCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RixJQUFBLGdCQUFNLEVBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsNEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FDcEYsc0RBQXNELEdBQUcsNEJBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDM0YsQ0FBQztRQUNGLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyw0QkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUNwRixxREFBcUQsR0FBRyw0QkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUN6RixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBDb3JldW1VdGlscyB9IGZyb20gJy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuaW1wb3J0IHsgYmxvY2tIYXNoLCBtYWlubmV0Q29pbkFtb3VudHMsIHR4SWRzIH0gZnJvbSAnLi4vcmVzb3VyY2VzL2NvcmV1bSc7XG5pbXBvcnQgeyB0ZXN0bmV0Q29pbkFtb3VudHMgfSBmcm9tICcuLi9yZXNvdXJjZXMvdGNvcmV1bSc7XG5cbmRlc2NyaWJlKCd1dGlscycsICgpID0+IHtcbiAgY29uc3QgbWFpbm5ldFV0aWxzID0gbmV3IENvcmV1bVV0aWxzKE5ldHdvcmtUeXBlLk1BSU5ORVQpO1xuICBjb25zdCB0ZXN0bmV0VXRpbHMgPSBuZXcgQ29yZXVtVXRpbHMoTmV0d29ya1R5cGUuVEVTVE5FVCk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBibG9jayBoYXNoIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKGJsb2NrSGFzaC5oYXNoMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoYmxvY2tIYXNoLmhhc2gyKSwgdHJ1ZSk7XG4gICAgLy8gcGFyYW0gaXMgY29taW5nIGFzIHVuZGVmaW5lZCBzbyBpdCB3YXMgY2F1c2luZyBhbiBpc3N1ZVxuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQodW5kZWZpbmVkIGFzIHVua25vd24gYXMgc3RyaW5nKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoJycpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgaW52YWxpZCBibG9jayBoYXNoIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoJzB4YWRlMzU0NjVnZnZkY3N4c3oyNDMwMCcpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZChibG9ja0hhc2guaGFzaDIgKyAnZmYnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoJ2xhdGVzdCcpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdHJhbnNhY3Rpb24gaWQgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDEpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gyKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMyksIHRydWUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGludmFsaWQgdHJhbnNhY3Rpb24gaWQgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQoJycpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMS5zbGljZSgzKSksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gzICsgJzAwJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKCdkYWxpajQzdGEwZ2EyZGFkZGEwMicpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCd2YWxpZGF0ZUFtb3VudCcsIGZ1bmN0aW9uICgpIHtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQxXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbbWFpbm5ldENvaW5BbW91bnRzLmFtb3VudDJdKSk7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50M10pKTtcbiAgICBzaG91bGQoKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbbWFpbm5ldENvaW5BbW91bnRzLmFtb3VudDRdKSkudGhyb3dFcnJvcihcbiAgICAgICd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGFtb3VudDogJyArIG1haW5uZXRDb2luQW1vdW50cy5hbW91bnQ0LmFtb3VudFxuICAgICk7XG4gICAgc2hvdWxkKCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQ1XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBkZW5vbTogJyArIG1haW5uZXRDb2luQW1vdW50cy5hbW91bnQ1LmRlbm9tXG4gICAgKTtcblxuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDFdKSk7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiB0ZXN0bmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFt0ZXN0bmV0Q29pbkFtb3VudHMuYW1vdW50Ml0pKTtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQzXSkpO1xuICAgIHNob3VsZCgoKSA9PiB0ZXN0bmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFt0ZXN0bmV0Q29pbkFtb3VudHMuYW1vdW50NF0pKS50aHJvd0Vycm9yKFxuICAgICAgJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgYW1vdW50OiAnICsgdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDQuYW1vdW50XG4gICAgKTtcbiAgICBzaG91bGQoKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDVdKSkudGhyb3dFcnJvcihcbiAgICAgICd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGRlbm9tOiAnICsgdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDUuZGVub21cbiAgICApO1xuICB9KTtcbn0pO1xuIl19
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBa0Q7QUFDbEQsb0RBQTRCO0FBQzVCLCtDQUFrRDtBQUNsRCx1REFBaUc7QUFDakcsZ0RBQTJGO0FBQzNGLGtEQUEwRDtBQUUxRCxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtJQUNyQixNQUFNLFlBQVksR0FBRyxJQUFJLG1CQUFXLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxNQUFNLFlBQVksR0FBRyxJQUFJLG1CQUFXLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUxRCxFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsa0JBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLGtCQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsMERBQTBEO1FBQzFELGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsU0FBOEIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pGLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsR0FBRyxFQUFFO1FBQ3RELGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMs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QUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV0d29ya1R5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IENvcmV1bVV0aWxzIH0gZnJvbSAnLi4vLi4vc3JjL2xpYi91dGlscyc7XG5pbXBvcnQgeyBtYWlubmV0QWNjb3VudEFkZHJlc3NSZWdleCwgdGVzdG5ldEFjY291bnRBZGRyZXNzUmVnZXggfSBmcm9tICcuLi8uLi9zcmMvbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBibG9ja0hhc2gsIG1haW5uZXRBZGRyZXNzLCBtYWlubmV0Q29pbkFtb3VudHMsIHR4SWRzIH0gZnJvbSAnLi4vcmVzb3VyY2VzL2NvcmV1bSc7XG5pbXBvcnQgeyB0ZXN0bmV0Q29pbkFtb3VudHMgfSBmcm9tICcuLi9yZXNvdXJjZXMvdGNvcmV1bSc7XG5cbmRlc2NyaWJlKCd1dGlscycsICgpID0+IHtcbiAgY29uc3QgbWFpbm5ldFV0aWxzID0gbmV3IENvcmV1bVV0aWxzKE5ldHdvcmtUeXBlLk1BSU5ORVQpO1xuICBjb25zdCB0ZXN0bmV0VXRpbHMgPSBuZXcgQ29yZXVtVXRpbHMoTmV0d29ya1R5cGUuVEVTVE5FVCk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBibG9jayBoYXNoIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKGJsb2NrSGFzaC5oYXNoMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoYmxvY2tIYXNoLmhhc2gyKSwgdHJ1ZSk7XG4gICAgLy8gcGFyYW0gaXMgY29taW5nIGFzIHVuZGVmaW5lZCBzbyBpdCB3YXMgY2F1c2luZyBhbiBpc3N1ZVxuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQodW5kZWZpbmVkIGFzIHVua25vd24gYXMgc3RyaW5nKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoJycpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgaW52YWxpZCBibG9jayBoYXNoIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoJzB4YWRlMzU0NjVnZnZkY3N4c3oyNDMwMCcpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZChibG9ja0hhc2guaGFzaDIgKyAnZmYnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoJ2xhdGVzdCcpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdHJhbnNhY3Rpb24gaWQgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDEpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gyKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMyksIHRydWUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGludmFsaWQgdHJhbnNhY3Rpb24gaWQgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQoJycpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMS5zbGljZSgzKSksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gzICsgJzAwJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKCdkYWxpajQzdGEwZ2EyZGFkZGEwMicpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYWNjZXB0IDMyLWJ5dGUgKGdyb3VwIG1vZHVsZSAvIHNtYXJ0IGNvbnRyYWN0KSBhZGRyZXNzZXMnLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyhtYWlubmV0QWRkcmVzcy5hZGRyZXNzMzJieXRlMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MoYCR7bWFpbm5ldEFkZHJlc3MuYWRkcmVzczMyYnl0ZTF9P21lbW9JZD0xYCksIHRydWUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlamVjdCAzMi1ieXRlIGFkZHJlc3NlcyB3aXRoIGFuIGludmFsaWQgY2hlY2tzdW0nLCAoKSA9PiB7XG4gICAgY29uc3QgY29ycnVwdGVkID0gbWFpbm5ldEFkZHJlc3MuYWRkcmVzczMyYnl0ZTEuc2xpY2UoMCwgLTEpICsgJ3EnO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MoY29ycnVwdGVkKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlamVjdCBhZGRyZXNzZXMgd2l0aCBpbnRlcm1lZGlhdGUgZGF0YSBsZW5ndGhzIChub3QgMzggb3IgNTggY2hhcnMpJywgKCkgPT4ge1xuICAgIGNvbnN0IGJlY2gzMkNoYXJzID0gJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsJztcbiAgICBjb25zdCBpbnRlcm1lZGlhdGVEYXRhID0gYmVjaDMyQ2hhcnMucmVwZWF0KDIpLnNsaWNlKDAsIDQ4KTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldEFjY291bnRBZGRyZXNzUmVnZXgudGVzdChgY29yZTEke2ludGVybWVkaWF0ZURhdGF9YCksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwodGVzdG5ldEFjY291bnRBZGRyZXNzUmVnZXgudGVzdChgdGVzdGNvcmUxJHtpbnRlcm1lZGlhdGVEYXRhfWApLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCd0ZXN0bmV0IHJlZ2V4IHNob3VsZCBhY2NlcHQgYm90aCAyMC1ieXRlIGFuZCAzMi1ieXRlIGFkZHJlc3MgbGVuZ3RocycsICgpID0+IHtcbiAgICBjb25zdCBkYXRhMzggPSAncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xxcHpyeTknO1xuICAgIHNob3VsZC5lcXVhbCh0ZXN0bmV0QWNjb3VudEFkZHJlc3NSZWdleC50ZXN0KGB0ZXN0Y29yZTEke2RhdGEzOH1gKSwgdHJ1ZSk7XG4gICAgY29uc3QgZGF0YTU4ID0gJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdscXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2UnO1xuICAgIHNob3VsZC5lcXVhbCh0ZXN0bmV0QWNjb3VudEFkZHJlc3NSZWdleC50ZXN0KGB0ZXN0Y29yZTEke2RhdGE1OH1gKSwgdHJ1ZSk7XG4gICAgY29uc3QgZGF0YTM5ID0gJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdscXB6cnk5eCc7XG4gICAgc2hvdWxkLmVxdWFsKHRlc3RuZXRBY2NvdW50QWRkcmVzc1JlZ2V4LnRlc3QoYHRlc3Rjb3JlMSR7ZGF0YTM5fWApLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCd2YWxpZGF0ZUFtb3VudCcsIGZ1bmN0aW9uICgpIHtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQxXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbbWFpbm5ldENvaW5BbW91bnRzLmFtb3VudDJdKSk7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50M10pKTtcbiAgICBzaG91bGQoKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbbWFpbm5ldENvaW5BbW91bnRzLmFtb3VudDRdKSkudGhyb3dFcnJvcihcbiAgICAgICd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGFtb3VudDogJyArIG1haW5uZXRDb2luQW1vdW50cy5hbW91bnQ0LmFtb3VudFxuICAgICk7XG4gICAgc2hvdWxkKCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQ1XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBkZW5vbTogJyArIG1haW5uZXRDb2luQW1vdW50cy5hbW91bnQ1LmRlbm9tXG4gICAgKTtcblxuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDFdKSk7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiB0ZXN0bmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFt0ZXN0bmV0Q29pbkFtb3VudHMuYW1vdW50Ml0pKTtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQzXSkpO1xuICAgIHNob3VsZCgoKSA9PiB0ZXN0bmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFt0ZXN0bmV0Q29pbkFtb3VudHMuYW1vdW50NF0pKS50aHJvd0Vycm9yKFxuICAgICAgJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgYW1vdW50OiAnICsgdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDQuYW1vdW50XG4gICAgKTtcbiAgICBzaG91bGQoKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDVdKSkudGhyb3dFcnJvcihcbiAgICAgICd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGRlbm9tOiAnICsgdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDUuZGVub21cbiAgICApO1xuICB9KTtcbn0pO1xuIl19
|