@bitgo-beta/sdk-coin-trx 1.0.2-beta.2237 → 1.0.2-beta.2239
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/tokenTransferBuilder.d.ts.map +1 -1
- package/dist/src/lib/tokenTransferBuilder.js +4 -2
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +4 -3
- package/dist/src/lib/utils.d.ts +16 -4
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +43 -15
- package/dist/test/unit/transactionBuilder/accountCreateTxBuilder.js +3 -2
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +31 -1
- package/dist/test/unit/transactionBuilder/wrappedBuilder.js +10 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -49,7 +49,37 @@ const resources_1 = require("../../resources");
|
|
|
49
49
|
const rawData = txJson.raw_data;
|
|
50
50
|
node_assert_1.default.deepStrictEqual(rawData.contract, resources_1.TOKEN_TX_CONTRACT_2);
|
|
51
51
|
});
|
|
52
|
+
// Hex and base58 are alternative encodings of the same TRON address, so every accepted
|
|
53
|
+
// form must produce identical transaction data — this is the COINS-1575 regression.
|
|
54
|
+
(0, node_test_1.it)('accepts a 0x-prefixed hex recipient and encodes the same data as the base58 form', async () => {
|
|
55
|
+
const buildData = async (recipient) => {
|
|
56
|
+
const txBuilder = initTxBuilder();
|
|
57
|
+
txBuilder.tokenTransferData(recipient, '1000000000').sign({ key: resources_1.PARTICIPANTS.custodian.pk });
|
|
58
|
+
const tx = await txBuilder.build();
|
|
59
|
+
return tx.toJson().raw_data.contract[0].parameter.value.data;
|
|
60
|
+
};
|
|
61
|
+
const fromBase58 = await buildData(resources_1.TOKEN_TRANSFER_RECIPIENT);
|
|
62
|
+
// 0x-form of TOKEN_TRANSFER_RECIPIENT (TGai5uHgBcoLERrzDXMepqZB8Et7D8nV8K)
|
|
63
|
+
const fromHex = await buildData('0x4887974f42a789ef6d4dfc7ba28b1583219434b3');
|
|
64
|
+
node_assert_1.default.equal(fromHex, fromBase58);
|
|
65
|
+
});
|
|
66
|
+
(0, node_test_1.it)('accepts a 41-prefixed hex recipient and encodes the same data as the base58 form', async () => {
|
|
67
|
+
const buildData = async (recipient) => {
|
|
68
|
+
const txBuilder = initTxBuilder();
|
|
69
|
+
txBuilder.tokenTransferData(recipient, '1000000000').sign({ key: resources_1.PARTICIPANTS.custodian.pk });
|
|
70
|
+
const tx = await txBuilder.build();
|
|
71
|
+
return tx.toJson().raw_data.contract[0].parameter.value.data;
|
|
72
|
+
};
|
|
73
|
+
const fromBase58 = await buildData(resources_1.TOKEN_TRANSFER_RECIPIENT);
|
|
74
|
+
// 41-prefixed hex of TOKEN_TRANSFER_RECIPIENT
|
|
75
|
+
const fromHex = await buildData('414887974f42a789ef6d4dfc7ba28b1583219434b3');
|
|
76
|
+
node_assert_1.default.equal(fromHex, fromBase58);
|
|
77
|
+
});
|
|
78
|
+
(0, node_test_1.it)('still rejects addresses in neither base58 nor hex form with the same error', () => {
|
|
79
|
+
const txBuilder = initTxBuilder();
|
|
80
|
+
node_assert_1.default.throws(() => txBuilder.tokenTransferData('not-an-address', '1000000000'), (e) => e instanceof Error && e.message === 'not-an-address is not a valid base58 address.');
|
|
81
|
+
});
|
|
52
82
|
});
|
|
53
83
|
});
|
|
54
84
|
});
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLHlDQUF5QztBQUN6QyxzREFBc0Q7QUFFdEQsa0RBQXdFO0FBQ3hFLCtDQVV5QjtBQUV6QixJQUFBLG9CQUFRLEVBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO0lBQzFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBTSxHQUFHLFVBQVUsRUFBRSxFQUFFO1FBQzVDLE1BQU0sT0FBTyxHQUFJLElBQUEsb0JBQVUsRUFBQyxXQUFXLENBQW9CLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUN0RixPQUFPO2FBQ0osTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ25ELEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQ0FBcUIsRUFBRSxDQUFDO2FBQ3RDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSx3QkFBWSxFQUFFLElBQUksRUFBRSxzQkFBVSxFQUFFLENBQUM7YUFDakQsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUMsQ0FBQztJQUVGLElBQUEsb0JBQVEsRUFBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO1FBQzVCLElBQUEsb0JBQVEsRUFBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7WUFDM0MsSUFBQSxjQUFFLEVBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hELE1BQU0sU0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO2dCQUNsQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsb0NBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLHdCQUFZLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzdHLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0JBQ2hDLHFCQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsNkJBQWlCLENBQUMsQ0FBQztZQUM5RCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUEsY0FBRSxFQUFDLDBFQUEwRSxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUN4RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLE1BQU0sU0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO2dCQUNsQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsb0NBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLHdCQUFZLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzdHLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7Z0JBRTlDLHFCQUFNLENBQUMsS0FBSyxDQUFDLHNDQUE4QixFQUFFLFFBQVEsRUFBRSxrREFBa0QsQ0FBQyxDQUFDO2dCQUMzRyxvRkFBb0Y7Z0JBQ3BGLHFCQUFNLENBQUMsRUFBRSxDQUNQLFVBQVUsSUFBSSxNQUFNLEdBQUcsc0NBQThCLElBQUksVUFBVSxJQUFJLEtBQUssR0FBRyxzQ0FBOEIsRUFDN0csY0FBYyxVQUFVLDJDQUEyQyxDQUNwRSxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFBLGNBQUUsRUFBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDN0QsTUFBTSxLQUFLLEdBQ1QsZ3RDQUFndEMsQ0FBQztnQkFDbnRDLE1BQU0sU0FBUyxHQUFHLElBQUEsb0JBQVUsRUFBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RELE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQyxxQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLHNCQUFVLENBQUMsQ0FBQztnQkFDaEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO2dCQUNoQyxxQkFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLCtCQUFtQixDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ25vZGU6YXNzZXJ0JztcbmltcG9ydCB7IGRlc2NyaWJlLCBpdCB9IGZyb20gJ25vZGU6dGVzdCc7XG5pbXBvcnQgeyBnZXRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi9idWlsZGVyJztcbmltcG9ydCB7IFdyYXBwZWRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IFRSQU5TQUNUSU9OX0RFRkFVTFRfRVhQSVJBVElPTiB9IGZyb20gJy4uLy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuaW1wb3J0IHtcbiAgUEFSVElDSVBBTlRTLFxuICBCTE9DS19IQVNILFxuICBCTE9DS19OVU1CRVIsXG4gIFRPS0VOX1RYX0NPTlRSQUNULFxuICBGRUVfTElNSVQsXG4gIFVTRFRfQ09OVFJBQ1RfQUREUkVTUyxcbiAgVE9LRU5fVFJBTlNGRVJfUkVDSVBJRU5ULFxuICBUT0tFTl9UWElELFxuICBUT0tFTl9UWF9DT05UUkFDVF8yLFxufSBmcm9tICcuLi8uLi9yZXNvdXJjZXMnO1xuXG5kZXNjcmliZSgnVFJYIFRva2VuIFRyYW5zZmVyIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGNvbnN0IGluaXRUeEJ1aWxkZXIgPSAoYW1vdW50ID0gMTAwMDAwMDAwMCkgPT4ge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSAoZ2V0QnVpbGRlcigndHRyeDp1c2R0JykgYXMgV3JhcHBlZEJ1aWxkZXIpLmdldFRva2VuVHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgYnVpbGRlclxuICAgICAgLnNvdXJjZSh7IGFkZHJlc3M6IFBBUlRJQ0lQQU5UUy5jdXN0b2RpYW4uYWRkcmVzcyB9KVxuICAgICAgLnRvKHsgYWRkcmVzczogVVNEVF9DT05UUkFDVF9BRERSRVNTIH0pXG4gICAgICAuYmxvY2soeyBudW1iZXI6IEJMT0NLX05VTUJFUiwgaGFzaDogQkxPQ0tfSEFTSCB9KVxuICAgICAgLmZlZSh7IGZlZUxpbWl0OiBGRUVfTElNSVQgfSk7XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBidWlsZCcsICgpID0+IHtcbiAgICBkZXNjcmliZSgnbm9uIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb25zJywgKCkgPT4ge1xuICAgICAgaXQoJ2Egc2lnbmVkIHRva2VuIGNvbnRyYWN0IGNhbGwgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGluaXRUeEJ1aWxkZXIoKTtcbiAgICAgICAgdHhCdWlsZGVyLnRva2VuVHJhbnNmZXJEYXRhKFRPS0VOX1RSQU5TRkVSX1JFQ0lQSUVOVCwgJzEwMDAwMDAwMDAnKS5zaWduKHsga2V5OiBQQVJUSUNJUEFOVFMuY3VzdG9kaWFuLnBrIH0pO1xuICAgICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgICAgY29uc3QgcmF3RGF0YSA9IHR4SnNvbi5yYXdfZGF0YTtcbiAgICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyYXdEYXRhLmNvbnRyYWN0LCBUT0tFTl9UWF9DT05UUkFDVCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2EgdG9rZW4gdHJhbnNmZXIgdHJhbnNhY3Rpb24gc2hvdWxkIGhhdmUgYSBkZWZhdWx0IGV4cGlyYXRpb24gb2YgMyBob3VycycsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgYmVmb3JlID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgdHhCdWlsZGVyID0gaW5pdFR4QnVpbGRlcigpO1xuICAgICAgICB0eEJ1aWxkZXIudG9rZW5UcmFuc2ZlckRhdGEoVE9LRU5fVFJBTlNGRVJfUkVDSVBJRU5ULCAnMTAwMDAwMDAwMCcpLnNpZ24oeyBrZXk6IFBBUlRJQ0lQQU5UUy5jdXN0b2RpYW4ucGsgfSk7XG4gICAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICAgIGNvbnN0IGFmdGVyID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICAgIGNvbnN0IGV4cGlyYXRpb24gPSB0eEpzb24ucmF3X2RhdGEuZXhwaXJhdGlvbjtcblxuICAgICAgICBhc3NlcnQuZXF1YWwoVFJBTlNBQ1RJT05fREVGQVVMVF9FWFBJUkFUSU9OLCAxMDgwMDAwMCwgJ1RSQU5TQUNUSU9OX0RFRkFVTFRfRVhQSVJBVElPTiBzaG91bGQgYmUgMyBob3VycycpO1xuICAgICAgICAvLyBUaGUgZGVmYXVsdCBleHBpcmF0aW9uIHNob3VsZCBiZSB+MyBob3VycyAoMTA4MDAwMDBtcykgZnJvbSB3aGVuIHRoZSB0eCB3YXMgYnVpbHRcbiAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgIGV4cGlyYXRpb24gPj0gYmVmb3JlICsgVFJBTlNBQ1RJT05fREVGQVVMVF9FWFBJUkFUSU9OICYmIGV4cGlyYXRpb24gPD0gYWZ0ZXIgKyBUUkFOU0FDVElPTl9ERUZBVUxUX0VYUElSQVRJT04sXG4gICAgICAgICAgYEV4cGlyYXRpb24gJHtleHBpcmF0aW9ufSBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAzIGhvdXJzIGZyb20gbm93YFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdmcm9tIGEgc2lnbmVkIHRva2VuIGNvbnRyYWN0IGNhbGwgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4SGV4ID1cbiAgICAgICAgICAne1wicmF3X2RhdGFcIjp7XCJjb250cmFjdFR5cGVcIjoyLFwiY29udHJhY3RcIjpbe1wicGFyYW1ldGVyXCI6e1widmFsdWVcIjp7XCJkYXRhXCI6XCJhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0ODM2MThjYTg1YzM1YTliOTIzZDk4YmViY2E3MThmNWExZGIyNzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1ZjVlMTAwXCIsXCJvd25lcl9hZGRyZXNzXCI6XCI0MWM1MWZiZWVhNzg5MTBiMTViMWQzZThhOWI2MjkxNGNhOTRkMWE0YWNcIixcImNvbnRyYWN0X2FkZHJlc3NcIjpcIjQxNDJhMWUzOWFlZmE0OTI5MGYyYjNmOWVkNjg4ZDdjZWNmODZjZDZlMFwifSxcInR5cGVfdXJsXCI6XCJ0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0XCJ9LFwidHlwZVwiOlwiVHJpZ2dlclNtYXJ0Q29udHJhY3RcIn1dLFwiZXhwaXJhdGlvblwiOjE2NzQ1ODE3Njc0MzIsXCJ0aW1lc3RhbXBcIjoxNjc0NTc4MTY3NDMyLFwicmVmX2Jsb2NrX2J5dGVzXCI6XCI1NzhiXCIsXCJyZWZfYmxvY2tfaGFzaFwiOlwiNjExM2JiOWFjMzUxNDMyYlwiLFwiZmVlX2xpbWl0XCI6MTUwMDAwMDB9LFwicmF3X2RhdGFfaGV4XCI6XCIwYTAyNTc4YjIyMDg2MTEzYmI5YWMzNTE0MzJiNDA4OGVhZTdhNmRlMzA1YWFlMDEwODFmMTJhOTAxMGEzMTc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NDcyNjk2NzY3NjU3MjUzNmQ2MTcyNzQ0MzZmNmU3NDcyNjE2Mzc0MTI3NDBhMTU0MWM1MWZiZWVhNzg5MTBiMTViMWQzZThhOWI2MjkxNGNhOTRkMWE0YWMxMjE1NDE0MmExZTM5YWVmYTQ5MjkwZjJiM2Y5ZWQ2ODhkN2NlY2Y4NmNkNmUwMjI0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQ4MzYxOGNhODVjMzVhOWI5MjNkOThiZWJjYTcxOGY1YTFkYjI3OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVmNWUxMDA3MDg4OGQ4Y2E1ZGUzMDkwMDFjMGMzOTMwN1wiLFwidHhJRFwiOlwiZmUyMWM0OWY0ZmViZDkwODkxMjVlM2EwMDY5NDNjMTQ1NzIxZDhmY2I3YWI4NDEzNmY4YzY2NjNmZjkyZjhlZFwiLFwic2lnbmF0dXJlXCI6W1wiMDc3NWNkZTMwMjY4OWViODI5Mzg4M2M2NmE4OWIzMWU4MGQ2MDhiZmMzYWQzYzI4M2I2NGE0OTBlYTRjYzcxMmM1NWEyZmQyZTYyYzc1ODQzZGQ3ZTc3ZDhjNGNiNTJlMGYzNzFmYmIyOWIzMzJjMjU5ZjhjYjYzYzJlNjE5NTMwMVwiXX0nO1xuICAgICAgICBjb25zdCB0eEJ1aWxkZXIgPSBnZXRCdWlsZGVyKCd0dHJ4OnVzZHQnKS5mcm9tKHR4SGV4KTtcbiAgICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlkLCBUT0tFTl9UWElEKTtcbiAgICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICAgIGNvbnN0IHJhd0RhdGEgPSB0eEpzb24ucmF3X2RhdGE7XG4gICAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwocmF3RGF0YS5jb250cmFjdCwgVE9LRU5fVFhfQ09OVFJBQ1RfMik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLHlDQUF5QztBQUN6QyxzREFBc0Q7QUFFdEQsa0RBQXdFO0FBQ3hFLCtDQVV5QjtBQUV6QixJQUFBLG9CQUFRLEVBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO0lBQzFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBTSxHQUFHLFVBQVUsRUFBRSxFQUFFO1FBQzVDLE1BQU0sT0FBTyxHQUFJLElBQUEsb0JBQVUsRUFBQyxXQUFXLENBQW9CLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUN0RixPQUFPO2FBQ0osTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ25ELEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQ0FBcUIsRUFBRSxDQUFDO2FBQ3RDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSx3QkFBWSxFQUFFLElBQUksRUFBRSxzQkFBVSxFQUFFLENBQUM7YUFDakQsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUMsQ0FBQztJQUVGLElBQUEsb0JBQVEsRUFBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO1FBQzVCLElBQUEsb0JBQVEsRUFBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7WUFDM0MsSUFBQSxjQUFFLEVBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hELE1BQU0sU0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO2dCQUNsQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsb0NBQXdCLEVBQUUsWUFBWSxDQUFD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RSxFQUFDLDRFQUE0RSxFQUFFLEdBQUcsRUFBRTtnQkFDcEYsTUFBTSxTQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7Z0JBQ2xDLHFCQUFNLENBQUMsTUFBTSxDQUNYLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsRUFDakUsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSywrQ0FBK0MsQ0FDcEcsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5pbXBvcnQgeyBkZXNjcmliZSwgaXQgfSBmcm9tICdub2RlOnRlc3QnO1xuaW1wb3J0IHsgZ2V0QnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYy9saWIvYnVpbGRlcic7XG5pbXBvcnQgeyBXcmFwcGVkQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBUUkFOU0FDVElPTl9ERUZBVUxUX0VYUElSQVRJT04gfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliL3V0aWxzJztcbmltcG9ydCB7XG4gIFBBUlRJQ0lQQU5UUyxcbiAgQkxPQ0tfSEFTSCxcbiAgQkxPQ0tfTlVNQkVSLFxuICBUT0tFTl9UWF9DT05UUkFDVCxcbiAgRkVFX0xJTUlULFxuICBVU0RUX0NPTlRSQUNUX0FERFJFU1MsXG4gIFRPS0VOX1RSQU5TRkVSX1JFQ0lQSUVOVCxcbiAgVE9LRU5fVFhJRCxcbiAgVE9LRU5fVFhfQ09OVFJBQ1RfMixcbn0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzJztcblxuZGVzY3JpYmUoJ1RSWCBUb2tlbiBUcmFuc2ZlciBCdWlsZGVyJywgKCkgPT4ge1xuICBjb25zdCBpbml0VHhCdWlsZGVyID0gKGFtb3VudCA9IDEwMDAwMDAwMDApID0+IHtcbiAgICBjb25zdCBidWlsZGVyID0gKGdldEJ1aWxkZXIoJ3R0cng6dXNkdCcpIGFzIFdyYXBwZWRCdWlsZGVyKS5nZXRUb2tlblRyYW5zZmVyQnVpbGRlcigpO1xuICAgIGJ1aWxkZXJcbiAgICAgIC5zb3VyY2UoeyBhZGRyZXNzOiBQQVJUSUNJUEFOVFMuY3VzdG9kaWFuLmFkZHJlc3MgfSlcbiAgICAgIC50byh7IGFkZHJlc3M6IFVTRFRfQ09OVFJBQ1RfQUREUkVTUyB9KVxuICAgICAgLmJsb2NrKHsgbnVtYmVyOiBCTE9DS19OVU1CRVIsIGhhc2g6IEJMT0NLX0hBU0ggfSlcbiAgICAgIC5mZWUoeyBmZWVMaW1pdDogRkVFX0xJTUlUIH0pO1xuICAgIHJldHVybiBidWlsZGVyO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgYnVpbGQnLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ25vbiBzZXJpYWxpemVkIHRyYW5zYWN0aW9ucycsICgpID0+IHtcbiAgICAgIGl0KCdhIHNpZ25lZCB0b2tlbiBjb250cmFjdCBjYWxsIHRyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICAgIHR4QnVpbGRlci50b2tlblRyYW5zZmVyRGF0YShUT0tFTl9UUkFOU0ZFUl9SRUNJUElFTlQsICcxMDAwMDAwMDAwJykuc2lnbih7IGtleTogUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5wayB9KTtcbiAgICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICAgIGNvbnN0IHJhd0RhdGEgPSB0eEpzb24ucmF3X2RhdGE7XG4gICAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwocmF3RGF0YS5jb250cmFjdCwgVE9LRU5fVFhfQ09OVFJBQ1QpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdhIHRva2VuIHRyYW5zZmVyIHRyYW5zYWN0aW9uIHNob3VsZCBoYXZlIGEgZGVmYXVsdCBleHBpcmF0aW9uIG9mIDMgaG91cnMnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJlZm9yZSA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGluaXRUeEJ1aWxkZXIoKTtcbiAgICAgICAgdHhCdWlsZGVyLnRva2VuVHJhbnNmZXJEYXRhKFRPS0VOX1RSQU5TRkVSX1JFQ0lQSUVOVCwgJzEwMDAwMDAwMDAnKS5zaWduKHsga2V5OiBQQVJUSUNJUEFOVFMuY3VzdG9kaWFuLnBrIH0pO1xuICAgICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgICBjb25zdCBhZnRlciA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgICBjb25zdCBleHBpcmF0aW9uID0gdHhKc29uLnJhd19kYXRhLmV4cGlyYXRpb247XG5cbiAgICAgICAgYXNzZXJ0LmVxdWFsKFRSQU5TQUNUSU9OX0RFRkFVTFRfRVhQSVJBVElPTiwgMTA4MDAwMDAsICdUUkFOU0FDVElPTl9ERUZBVUxUX0VYUElSQVRJT04gc2hvdWxkIGJlIDMgaG91cnMnKTtcbiAgICAgICAgLy8gVGhlIGRlZmF1bHQgZXhwaXJhdGlvbiBzaG91bGQgYmUgfjMgaG91cnMgKDEwODAwMDAwbXMpIGZyb20gd2hlbiB0aGUgdHggd2FzIGJ1aWx0XG4gICAgICAgIGFzc2VydC5vayhcbiAgICAgICAgICBleHBpcmF0aW9uID49IGJlZm9yZSArIFRSQU5TQUNUSU9OX0RFRkFVTFRfRVhQSVJBVElPTiAmJiBleHBpcmF0aW9uIDw9IGFmdGVyICsgVFJBTlNBQ1RJT05fREVGQVVMVF9FWFBJUkFUSU9OLFxuICAgICAgICAgIGBFeHBpcmF0aW9uICR7ZXhwaXJhdGlvbn0gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMyBob3VycyBmcm9tIG5vd2BcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnZnJvbSBhIHNpZ25lZCB0b2tlbiBjb250cmFjdCBjYWxsIHRyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCB0eEhleCA9XG4gICAgICAgICAgJ3tcInJhd19kYXRhXCI6e1wiY29udHJhY3RUeXBlXCI6MixcImNvbnRyYWN0XCI6W3tcInBhcmFtZXRlclwiOntcInZhbHVlXCI6e1wiZGF0YVwiOlwiYTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDgzNjE4Y2E4NWMzNWE5YjkyM2Q5OGJlYmNhNzE4ZjVhMWRiMjc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNWY1ZTEwMFwiLFwib3duZXJfYWRkcmVzc1wiOlwiNDFjNTFmYmVlYTc4OTEwYjE1YjFkM2U4YTliNjI5MTRjYTk0ZDFhNGFjXCIsXCJjb250cmFjdF9hZGRyZXNzXCI6XCI0MTQyYTFlMzlhZWZhNDkyOTBmMmIzZjllZDY4OGQ3Y2VjZjg2Y2Q2ZTBcIn0sXCJ0eXBlX3VybFwiOlwidHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmlnZ2VyU21hcnRDb250cmFjdFwifSxcInR5cGVcIjpcIlRyaWdnZXJTbWFydENvbnRyYWN0XCJ9XSxcImV4cGlyYXRpb25cIjoxNjc0NTgxNzY3NDMyLFwidGltZXN0YW1wXCI6MTY3NDU3ODE2NzQzMixcInJlZl9ibG9ja19ieXRlc1wiOlwiNTc4YlwiLFwicmVmX2Jsb2NrX2hhc2hcIjpcIjYxMTNiYjlhYzM1MTQzMmJcIixcImZlZV9saW1pdFwiOjE1MDAwMDAwfSxcInJhd19kYXRhX2hleFwiOlwiMGEwMjU3OGIyMjA4NjExM2JiOWFjMzUxNDMyYjQwODhlYWU3YTZkZTMwNWFhZTAxMDgxZjEyYTkwMTBhMzE3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTQ3MjY5Njc2NzY1NzI1MzZkNjE3Mjc0NDM2ZjZlNzQ3MjYxNjM3NDEyNzQwYTE1NDFjNTFmYmVlYTc4OTEwYjE1YjFkM2U4YTliNjI5MTRjYTk0ZDFhNGFjMTIxNTQxNDJhMWUzOWFlZmE0OTI5MGYyYjNmOWVkNjg4ZDdjZWNmODZjZDZlMDIyNDRhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0ODM2MThjYTg1YzM1YTliOTIzZDk4YmViY2E3MThmNWExZGIyNzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1ZjVlMTAwNzA4ODhkOGNhNWRlMzA5MDAxYzBjMzkzMDdcIixcInR4SURcIjpcImZlMjFjNDlmNGZlYmQ5MDg5MTI1ZTNhMDA2OTQzYzE0NTcyMWQ4ZmNiN2FiODQxMzZmOGM2NjYzZmY5MmY4ZWRcIixcInNpZ25hdHVyZVwiOltcIjA3NzVjZGUzMDI2ODllYjgyOTM4ODNjNjZhODliMzFlODBkNjA4YmZjM2FkM2MyODNiNjRhNDkwZWE0Y2M3MTJjNTVhMmZkMmU2MmM3NTg0M2RkN2U3N2Q4YzRjYjUyZTBmMzcxZmJiMjliMzMyYzI1OWY4Y2I2M2MyZTYxOTUzMDFcIl19JztcbiAgICAgICAgY29uc3QgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcigndHRyeDp1c2R0JykuZnJvbSh0eEhleCk7XG4gICAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICAgIGFzc2VydC5lcXVhbCh0eC5pZCwgVE9LRU5fVFhJRCk7XG4gICAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgICBjb25zdCByYXdEYXRhID0gdHhKc29uLnJhd19kYXRhO1xuICAgICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJhd0RhdGEuY29udHJhY3QsIFRPS0VOX1RYX0NPTlRSQUNUXzIpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEhleCBhbmQgYmFzZTU4IGFyZSBhbHRlcm5hdGl2ZSBlbmNvZGluZ3Mgb2YgdGhlIHNhbWUgVFJPTiBhZGRyZXNzLCBzbyBldmVyeSBhY2NlcHRlZFxuICAgICAgLy8gZm9ybSBtdXN0IHByb2R1Y2UgaWRlbnRpY2FsIHRyYW5zYWN0aW9uIGRhdGEg4oCUIHRoaXMgaXMgdGhlIENPSU5TLTE1NzUgcmVncmVzc2lvbi5cbiAgICAgIGl0KCdhY2NlcHRzIGEgMHgtcHJlZml4ZWQgaGV4IHJlY2lwaWVudCBhbmQgZW5jb2RlcyB0aGUgc2FtZSBkYXRhIGFzIHRoZSBiYXNlNTggZm9ybScsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgYnVpbGREYXRhID0gYXN5bmMgKHJlY2lwaWVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgY29uc3QgdHhCdWlsZGVyID0gaW5pdFR4QnVpbGRlcigpO1xuICAgICAgICAgIHR4QnVpbGRlci50b2tlblRyYW5zZmVyRGF0YShyZWNpcGllbnQsICcxMDAwMDAwMDAwJykuc2lnbih7IGtleTogUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5wayB9KTtcbiAgICAgICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgICAgIHJldHVybiB0eC50b0pzb24oKS5yYXdfZGF0YS5jb250cmFjdFswXS5wYXJhbWV0ZXIudmFsdWUuZGF0YTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZnJvbUJhc2U1OCA9IGF3YWl0IGJ1aWxkRGF0YShUT0tFTl9UUkFOU0ZFUl9SRUNJUElFTlQpO1xuICAgICAgICAvLyAweC1mb3JtIG9mIFRPS0VOX1RSQU5TRkVSX1JFQ0lQSUVOVCAoVEdhaTV1SGdCY29MRVJyekRYTWVwcVpCOEV0N0Q4blY4SylcbiAgICAgICAgY29uc3QgZnJvbUhleCA9IGF3YWl0IGJ1aWxkRGF0YSgnMHg0ODg3OTc0ZjQyYTc4OWVmNmQ0ZGZjN2JhMjhiMTU4MzIxOTQzNGIzJyk7XG4gICAgICAgIGFzc2VydC5lcXVhbChmcm9tSGV4LCBmcm9tQmFzZTU4KTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnYWNjZXB0cyBhIDQxLXByZWZpeGVkIGhleCByZWNpcGllbnQgYW5kIGVuY29kZXMgdGhlIHNhbWUgZGF0YSBhcyB0aGUgYmFzZTU4IGZvcm0nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJ1aWxkRGF0YSA9IGFzeW5jIChyZWNpcGllbnQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGluaXRUeEJ1aWxkZXIoKTtcbiAgICAgICAgICB0eEJ1aWxkZXIudG9rZW5UcmFuc2ZlckRhdGEocmVjaXBpZW50LCAnMTAwMDAwMDAwMCcpLnNpZ24oeyBrZXk6IFBBUlRJQ0lQQU5UUy5jdXN0b2RpYW4ucGsgfSk7XG4gICAgICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgICAgICByZXR1cm4gdHgudG9Kc29uKCkucmF3X2RhdGEuY29udHJhY3RbMF0ucGFyYW1ldGVyLnZhbHVlLmRhdGE7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGZyb21CYXNlNTggPSBhd2FpdCBidWlsZERhdGEoVE9LRU5fVFJBTlNGRVJfUkVDSVBJRU5UKTtcbiAgICAgICAgLy8gNDEtcHJlZml4ZWQgaGV4IG9mIFRPS0VOX1RSQU5TRkVSX1JFQ0lQSUVOVFxuICAgICAgICBjb25zdCBmcm9tSGV4ID0gYXdhaXQgYnVpbGREYXRhKCc0MTQ4ODc5NzRmNDJhNzg5ZWY2ZDRkZmM3YmEyOGIxNTgzMjE5NDM0YjMnKTtcbiAgICAgICAgYXNzZXJ0LmVxdWFsKGZyb21IZXgsIGZyb21CYXNlNTgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzdGlsbCByZWplY3RzIGFkZHJlc3NlcyBpbiBuZWl0aGVyIGJhc2U1OCBub3IgaGV4IGZvcm0gd2l0aCB0aGUgc2FtZSBlcnJvcicsICgpID0+IHtcbiAgICAgICAgY29uc3QgdHhCdWlsZGVyID0gaW5pdFR4QnVpbGRlcigpO1xuICAgICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAgICgpID0+IHR4QnVpbGRlci50b2tlblRyYW5zZmVyRGF0YSgnbm90LWFuLWFkZHJlc3MnLCAnMTAwMDAwMDAwMCcpLFxuICAgICAgICAgIChlOiB1bmtub3duKSA9PiBlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5tZXNzYWdlID09PSAnbm90LWFuLWFkZHJlc3MgaXMgbm90IGEgdmFsaWQgYmFzZTU4IGFkZHJlc3MuJ1xuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -19,15 +19,17 @@ const resources_1 = require("../../resources");
|
|
|
19
19
|
builder.validateAddress({ address: '' });
|
|
20
20
|
}, (e) => e.message === ' is not a valid base58 address.');
|
|
21
21
|
});
|
|
22
|
-
(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
// hex (0x-prefixed / 41-prefixed) and base58 are encodings of the same TRON address
|
|
23
|
+
(0, node_test_1.it)('a hex address (0x-prefixed)', () => {
|
|
24
|
+
assert_1.default.doesNotThrow(() => builder.validateAddress({ address: '0x73a5993cd182ae152adad8203163f780c65a8aa5' }));
|
|
25
|
+
});
|
|
26
|
+
(0, node_test_1.it)('a hex address (41-prefixed)', () => {
|
|
27
|
+
assert_1.default.doesNotThrow(() => builder.validateAddress({ address: '4173a5993cd182ae152adad8203163f780c65a8aa5' }));
|
|
26
28
|
});
|
|
27
|
-
(0, node_test_1.it)('
|
|
29
|
+
(0, node_test_1.it)('an address that is neither base58 nor hex', () => {
|
|
28
30
|
assert_1.default.throws(() => {
|
|
29
|
-
builder.validateAddress({ address: '
|
|
30
|
-
}, (e) => e.message === '
|
|
31
|
+
builder.validateAddress({ address: 'zz73a5993cd182ae152adad8203163f780c65a8aa5' });
|
|
32
|
+
}, (e) => e.message === 'zz73a5993cd182ae152adad8203163f780c65a8aa5 is not a valid base58 address.');
|
|
31
33
|
});
|
|
32
34
|
(0, node_test_1.it)('a valid value', () => {
|
|
33
35
|
const value = new bignumber_js_1.default('13456');
|
|
@@ -47,4 +49,4 @@ const resources_1 = require("../../resources");
|
|
|
47
49
|
});
|
|
48
50
|
});
|
|
49
51
|
});
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3dyYXBwZWRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUNBQXlDO0FBQ3pDLG9EQUE0QjtBQUM1QixnRUFBcUM7QUFFckMsc0RBQXNEO0FBQ3RELCtDQUErQztBQUUvQyxJQUFBLG9CQUFRLEVBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQVUsRUFBQyxNQUFNLENBQW1CLENBQUM7SUFFckQsSUFBQSxvQkFBUSxFQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtRQUNoQyxJQUFBLGNBQUUsRUFBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7WUFDekIsZ0JBQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEcsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFBLGNBQUUsRUFBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7WUFDMUIsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFO2dCQUNILE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxDQUFDLEVBQ0QsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssaUNBQWlDLENBQzVELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILG9GQUFvRjtRQUNwRixJQUFBLGNBQUUsRUFBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7WUFDckMsZ0JBQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUEsY0FBRSxFQUFDLDZCQUE2QixFQUFFLEdBQUcsRUFBRTtZQUNyQyxnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBQSxjQUFFLEVBQUMsMkNBQTJDLEVBQUUsR0FBRyxFQUFFO1lBQ25ELGdCQUFNLENBQUMsTUFBTSxDQUNYLEdBQUcsRUFBRTtnQkFDSCxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLENBQUMsQ0FBQztZQUNyRixDQUFDLEVBQ0QsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssMkVBQTJFLENBQ3RHLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUEsY0FBRSxFQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxzQkFBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLGdCQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUEsY0FBRSxFQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtZQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLHNCQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdEMsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFO2dCQUNILE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxFQUNELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLDZCQUE2QixDQUN4RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFBLGNBQUUsRUFBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxzQkFBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbkQsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFO2dCQUNILE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxFQUNELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLDREQUE0RCxDQUN2RixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVzY3JpYmUsIGl0IH0gZnJvbSAnbm9kZTp0ZXN0JztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IFdyYXBwZWRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IGdldEJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliL2J1aWxkZXInO1xuaW1wb3J0IHsgUEFSVElDSVBBTlRTIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzJztcblxuZGVzY3JpYmUoJ1RyeCBDb250cmFjdCBjYWxsIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGNvbnN0IGJ1aWxkZXIgPSBnZXRCdWlsZGVyKCd0dHJ4JykgYXMgV3JhcHBlZEJ1aWxkZXI7XG5cbiAgZGVzY3JpYmUoJ1Nob3VsZCB2YWxpZGF0ZSAnLCAoKSA9PiB7XG4gICAgaXQoJ2EgdmFsaWQgYWRkcmVzcycsICgpID0+IHtcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT4gYnVpbGRlci52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiBQQVJUSUNJUEFOVFMuY3VzdG9kaWFuLmFkZHJlc3MgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2FuIGVtcHR5IGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgYnVpbGRlci52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiAnJyB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnIGlzIG5vdCBhIHZhbGlkIGJhc2U1OCBhZGRyZXNzLidcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBoZXggKDB4LXByZWZpeGVkIC8gNDEtcHJlZml4ZWQpIGFuZCBiYXNlNTggYXJlIGVuY29kaW5ncyBvZiB0aGUgc2FtZSBUUk9OIGFkZHJlc3NcbiAgICBpdCgnYSBoZXggYWRkcmVzcyAoMHgtcHJlZml4ZWQpJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0LmRvZXNOb3RUaHJvdygoKSA9PiBidWlsZGVyLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6ICcweDczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIGhleCBhZGRyZXNzICg0MS1wcmVmaXhlZCknLCAoKSA9PiB7XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+IGJ1aWxkZXIudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogJzQxNzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2FuIGFkZHJlc3MgdGhhdCBpcyBuZWl0aGVyIGJhc2U1OCBub3IgaGV4JywgKCkgPT4ge1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGJ1aWxkZXIudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogJ3p6NzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ3p6NzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNSBpcyBub3QgYSB2YWxpZCBiYXNlNTggYWRkcmVzcy4nXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2EgdmFsaWQgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG5ldyBCaWdOdW1iZXIoJzEzNDU2Jyk7XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+IGJ1aWxkZXIudmFsaWRhdGVWYWx1ZSh2YWx1ZSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2EgbmVnYXRpdmUgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG5ldyBCaWdOdW1iZXIoJy0xMzQ1NicpO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGJ1aWxkZXIudmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ1ZhbHVlIGNhbm5vdCBiZSBiZWxvdyB6ZXJvLidcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSB2YWx1ZSB0b28gYmlnJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBuZXcgQmlnTnVtYmVyKCc5MjIzMzcyMDM2ODU0Nzc1ODA4Jyk7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgYnVpbGRlci52YWxpZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnVmFsdWUgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiBoYW5kbGVkIGJ5IHRoZSBqYXZhdHJvbiBub2RlLidcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|