@bitgo/sdk-coin-coreum 21.8.3 → 21.9.0
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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQXFEO0FBRXJELE1BQU0sV0FBVyxHQUFHLElBQUksNkJBQVcsRUFBRSxDQUFDO0FBQ3pCLFFBQUEsV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzdGLFFBQUEsMEJBQTBCLEdBQ3JDLDRGQUE0RixDQUFDO0FBQ2xGLFFBQUEsNEJBQTRCLEdBQUcsMkRBQTJELENBQUM7QUFDM0YsUUFBQSxzQkFBc0IsR0FBRyxNQUFNLENBQUM7QUFDaEMsUUFBQSwwQkFBMEIsR0FDckMsZ0dBQWdHLENBQUM7QUFDdEYsUUFBQSw0QkFBNEIsR0FBRywrREFBK0QsQ0FBQztBQUMvRixRQUFBLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztBQUVwQyxRQUFBLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFDbkIsUUFBQSxVQUFVLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zbW9zVXRpbHMgfSBmcm9tICdAYml0Z28vYWJzdHJhY3QtY29zbW9zJztcblxuY29uc3QgY29zbW9zVXRpbHMgPSBuZXcgQ29zbW9zVXRpbHMoKTtcbmV4cG9ydCBjb25zdCB2YWxpZERlbm9tcyA9IFsndWNvcmUnLCAndXRlc3Rjb3JlJywgLi4uY29zbW9zVXRpbHMuZ2V0VG9rZW5EZW5vbXNVc2luZ0NvaW5GYW1pbHkoJ2NvcmV1bScpXTtcbmV4cG9ydCBjb25zdCBtYWlubmV0QWNjb3VudEFkZHJlc3NSZWdleCA9XG4gIC9eKGNvcmUpMShbJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsXXszOH18WydxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bF17NTh9KSQvO1xuZXhwb3J0IGNvbnN0IG1haW5uZXRWYWxpZGF0b3JBZGRyZXNzUmVnZXggPSAvXihjb3JldmFsb3BlcikxKFsncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xdezM4fSkkLztcbmV4cG9ydCBjb25zdCBNQUlOTkVUX0FERFJFU1NfUFJFRklYID0gJ2NvcmUnO1xuZXhwb3J0IGNvbnN0IHRlc3RuZXRBY2NvdW50QWRkcmVzc1JlZ2V4ID1cbiAgL14odGVzdGNvcmUpMShbJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsXXszOH18WydxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bF17NTh9KSQvO1xuZXhwb3J0IGNvbnN0IHRlc3RuZXRWYWxpZGF0b3JBZGRyZXNzUmVnZXggPSAvXih0ZXN0Y29yZXZhbG9wZXIpMShbJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsXXszOH0pJC87XG5leHBvcnQgY29uc3QgVEVTVE5FVF9BRERSRVNTX1BSRUZJWCA9ICd0ZXN0Y29yZSc7XG5cbmV4cG9ydCBjb25zdCBHQVNfTElNSVQgPSAyMDAwMDA7XG5leHBvcnQgY29uc3QgR0FTX0FNT1VOVCA9ICc2MjUwJztcbiJdfQ==
|
|
@@ -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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBNkM7QUFDN0Msb0RBQTRCO0FBQzVCLCtDQUFrRDtBQUNsRCxnREFBMkU7QUFDM0Usa0RBQTBEO0FBRTFELFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO0lBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQVcsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQVcsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTFELEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxrQkFBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsa0JBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSwwREFBMEQ7UUFDMUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxTQUE4QixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakYsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0UsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxrQkFBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6RSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtRQUNsRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsY0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25FLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLGNBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7UUFDMUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNELGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdCQUFnQixFQUFFO1FBQ25CLGdCQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDJCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RixnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQywyQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsZ0JBQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsMkJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQywyQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUNwRixzREFBc0QsR0FBRywyQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUMzRixDQUFDO1FBQ0YsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDJCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQ3BGLHFEQUFxRCxHQUFHLDJCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQ3pGLENBQUM7UUFFRixnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyw0QkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsZ0JBQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsNEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLGdCQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDRCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RixJQUFBLGdCQUFNLEVBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsNEJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FDcEYsc0RBQXNELEdBQUcsNEJBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDM0YsQ0FBQztRQUNGLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyw0QkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUNwRixxREFBcUQsR0FBRyw0QkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUN6RixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgQ29yZXVtVXRpbHMgfSBmcm9tICcuLi8uLi9zcmMvbGliL3V0aWxzJztcbmltcG9ydCB7IGJsb2NrSGFzaCwgbWFpbm5ldENvaW5BbW91bnRzLCB0eElkcyB9IGZyb20gJy4uL3Jlc291cmNlcy9jb3JldW0nO1xuaW1wb3J0IHsgdGVzdG5ldENvaW5BbW91bnRzIH0gZnJvbSAnLi4vcmVzb3VyY2VzL3Rjb3JldW0nO1xuXG5kZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIGNvbnN0IG1haW5uZXRVdGlscyA9IG5ldyBDb3JldW1VdGlscyhOZXR3b3JrVHlwZS5NQUlOTkVUKTtcbiAgY29uc3QgdGVzdG5ldFV0aWxzID0gbmV3IENvcmV1bVV0aWxzKE5ldHdvcmtUeXBlLlRFU1RORVQpO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgYmxvY2sgaGFzaCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZChibG9ja0hhc2guaGFzaDEpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKGJsb2NrSGFzaC5oYXNoMiksIHRydWUpO1xuICAgIC8vIHBhcmFtIGlzIGNvbWluZyBhcyB1bmRlZmluZWQgc28gaXQgd2FzIGNhdXNpbmcgYW4gaXNzdWVcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIHN0cmluZyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGludmFsaWQgYmxvY2sgaGFzaCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZCgnJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcweGFkZTM1NDY1Z2Z2ZGNzeHN6MjQzMDAnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoYmxvY2tIYXNoLmhhc2gyICsgJ2ZmJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCdsYXRlc3QnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gxKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMiksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDMpLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBpbnZhbGlkIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKCcnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDEuc2xpY2UoMykpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMyArICcwMCcpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCgnZGFsaWo0M3RhMGdhMmRhZGRhMDInKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgndmFsaWRhdGVBbW91bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50MV0pKTtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQyXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbbWFpbm5ldENvaW5BbW91bnRzLmFtb3VudDNdKSk7XG4gICAgc2hvdWxkKCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQ0XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICcgKyBtYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NC5hbW91bnRcbiAgICApO1xuICAgIHNob3VsZCgoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NV0pKS50aHJvd0Vycm9yKFxuICAgICAgJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgZGVub206ICcgKyBtYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NS5kZW5vbVxuICAgICk7XG5cbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQxXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDJdKSk7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiB0ZXN0bmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFt0ZXN0bmV0Q29pbkFtb3VudHMuYW1vdW50M10pKTtcbiAgICBzaG91bGQoKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDRdKSkudGhyb3dFcnJvcihcbiAgICAgICd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGFtb3VudDogJyArIHRlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ0LmFtb3VudFxuICAgICk7XG4gICAgc2hvdWxkKCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ1XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBkZW5vbTogJyArIHRlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ1LmRlbm9tXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBNkM7QUFDN0Msb0RBQTRCO0FBQzVCLCtDQUFrRDtBQUNsRCx1REFBaUc7QUFDakcsZ0RBQTJGO0FBQzNGLGtEQUEwRDtBQUUxRCxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtJQUNyQixNQUFNLFlBQVksR0FBRyxJQUFJLG1CQUFXLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxNQUFNLFlBQVksR0FBRyxJQUFJLG1CQUFXLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUxRCxFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsa0JBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLGtCQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsMERBQTBEO1FBQzFELGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsU0FBOEIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pGLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsR0FBRyxFQUFFO1FBQ3RELGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMs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QUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV0d29ya1R5cGUgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBDb3JldW1VdGlscyB9IGZyb20gJy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuaW1wb3J0IHsgbWFpbm5ldEFjY291bnRBZGRyZXNzUmVnZXgsIHRlc3RuZXRBY2NvdW50QWRkcmVzc1JlZ2V4IH0gZnJvbSAnLi4vLi4vc3JjL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYmxvY2tIYXNoLCBtYWlubmV0QWRkcmVzcywgbWFpbm5ldENvaW5BbW91bnRzLCB0eElkcyB9IGZyb20gJy4uL3Jlc291cmNlcy9jb3JldW0nO1xuaW1wb3J0IHsgdGVzdG5ldENvaW5BbW91bnRzIH0gZnJvbSAnLi4vcmVzb3VyY2VzL3Rjb3JldW0nO1xuXG5kZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIGNvbnN0IG1haW5uZXRVdGlscyA9IG5ldyBDb3JldW1VdGlscyhOZXR3b3JrVHlwZS5NQUlOTkVUKTtcbiAgY29uc3QgdGVzdG5ldFV0aWxzID0gbmV3IENvcmV1bVV0aWxzKE5ldHdvcmtUeXBlLlRFU1RORVQpO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgYmxvY2sgaGFzaCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZChibG9ja0hhc2guaGFzaDEpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKGJsb2NrSGFzaC5oYXNoMiksIHRydWUpO1xuICAgIC8vIHBhcmFtIGlzIGNvbWluZyBhcyB1bmRlZmluZWQgc28gaXQgd2FzIGNhdXNpbmcgYW4gaXNzdWVcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIHN0cmluZyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGludmFsaWQgYmxvY2sgaGFzaCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZCgnJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcweGFkZTM1NDY1Z2Z2ZGNzeHN6MjQzMDAnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoYmxvY2tIYXNoLmhhc2gyICsgJ2ZmJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCdsYXRlc3QnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gxKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMiksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDMpLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBpbnZhbGlkIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKCcnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDEuc2xpY2UoMykpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMyArICcwMCcpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCgnZGFsaWo0M3RhMGdhMmRhZGRhMDInKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFjY2VwdCAzMi1ieXRlIChncm91cCBtb2R1bGUgLyBzbWFydCBjb250cmFjdCkgYWRkcmVzc2VzJywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MobWFpbm5ldEFkZHJlc3MuYWRkcmVzczMyYnl0ZTEpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRBZGRyZXNzKGAke21haW5uZXRBZGRyZXNzLmFkZHJlc3MzMmJ5dGUxfT9tZW1vSWQ9MWApLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZWplY3QgMzItYnl0ZSBhZGRyZXNzZXMgd2l0aCBhbiBpbnZhbGlkIGNoZWNrc3VtJywgKCkgPT4ge1xuICAgIGNvbnN0IGNvcnJ1cHRlZCA9IG1haW5uZXRBZGRyZXNzLmFkZHJlc3MzMmJ5dGUxLnNsaWNlKDAsIC0xKSArICdxJztcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRBZGRyZXNzKGNvcnJ1cHRlZCksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZWplY3QgYWRkcmVzc2VzIHdpdGggaW50ZXJtZWRpYXRlIGRhdGEgbGVuZ3RocyAobm90IDM4IG9yIDU4IGNoYXJzKScsICgpID0+IHtcbiAgICBjb25zdCBiZWNoMzJDaGFycyA9ICdxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bCc7XG4gICAgY29uc3QgaW50ZXJtZWRpYXRlRGF0YSA9IGJlY2gzMkNoYXJzLnJlcGVhdCgyKS5zbGljZSgwLCA0OCk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRBY2NvdW50QWRkcmVzc1JlZ2V4LnRlc3QoYGNvcmUxJHtpbnRlcm1lZGlhdGVEYXRhfWApLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKHRlc3RuZXRBY2NvdW50QWRkcmVzc1JlZ2V4LnRlc3QoYHRlc3Rjb3JlMSR7aW50ZXJtZWRpYXRlRGF0YX1gKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgndGVzdG5ldCByZWdleCBzaG91bGQgYWNjZXB0IGJvdGggMjAtYnl0ZSBhbmQgMzItYnl0ZSBhZGRyZXNzIGxlbmd0aHMnLCAoKSA9PiB7XG4gICAgY29uc3QgZGF0YTM4ID0gJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdscXB6cnk5JztcbiAgICBzaG91bGQuZXF1YWwodGVzdG5ldEFjY291bnRBZGRyZXNzUmVnZXgudGVzdChgdGVzdGNvcmUxJHtkYXRhMzh9YCksIHRydWUpO1xuICAgIGNvbnN0IGRhdGE1OCA9ICdxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bHFwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlJztcbiAgICBzaG91bGQuZXF1YWwodGVzdG5ldEFjY291bnRBZGRyZXNzUmVnZXgudGVzdChgdGVzdGNvcmUxJHtkYXRhNTh9YCksIHRydWUpO1xuICAgIGNvbnN0IGRhdGEzOSA9ICdxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bHFwenJ5OXgnO1xuICAgIHNob3VsZC5lcXVhbCh0ZXN0bmV0QWNjb3VudEFkZHJlc3NSZWdleC50ZXN0KGB0ZXN0Y29yZTEke2RhdGEzOX1gKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgndmFsaWRhdGVBbW91bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50MV0pKTtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQyXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbbWFpbm5ldENvaW5BbW91bnRzLmFtb3VudDNdKSk7XG4gICAgc2hvdWxkKCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQ0XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICcgKyBtYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NC5hbW91bnRcbiAgICApO1xuICAgIHNob3VsZCgoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NV0pKS50aHJvd0Vycm9yKFxuICAgICAgJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgZGVub206ICcgKyBtYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NS5kZW5vbVxuICAgICk7XG5cbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQxXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDJdKSk7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiB0ZXN0bmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFt0ZXN0bmV0Q29pbkFtb3VudHMuYW1vdW50M10pKTtcbiAgICBzaG91bGQoKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDRdKSkudGhyb3dFcnJvcihcbiAgICAgICd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGFtb3VudDogJyArIHRlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ0LmFtb3VudFxuICAgICk7XG4gICAgc2hvdWxkKCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ1XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBkZW5vbTogJyArIHRlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ1LmRlbm9tXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
|