From 18c4c0b868500e4991c76c5757dc357372e8b9c4 Mon Sep 17 00:00:00 2001 From: keefertaylor Date: Sun, 26 Jul 2020 17:26:29 -0700 Subject: [PATCH 01/12] WIP: Estimate operation groups --- package-lock.json | 28 ++++++++++++++-------------- src/chain/tezos/TezosNodeWriter.ts | 29 ++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 249b7619..8f7d47fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -320,7 +320,7 @@ }, "@types/chai-as-promised": { "version": "7.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.2.tgz", "integrity": "sha512-PO2gcfR3Oxa+u0QvECLe1xKXOqYTzCmWf0FhLhjREoW3fPAVamjihL7v1MOVLJLsnAMdLcjkfrs01yvDMwVK4Q==", "dev": true, "requires": { @@ -353,13 +353,13 @@ }, "@types/mocha": { "version": "7.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", "dev": true }, "@types/nock": { "version": "11.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/@types/nock/-/nock-11.1.0.tgz", "integrity": "sha512-jI/ewavBQ7X5178262JQR0ewicPAcJhXS/iFaNJl0VHLfyosZ/kwSrsa6VNQNSO8i9d8SqdRgOtZSOKJ/+iNMw==", "dev": true, "requires": { @@ -920,7 +920,7 @@ }, "awesome-typescript-loader": { "version": "5.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz", "integrity": "sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==", "dev": true, "requires": { @@ -1369,7 +1369,7 @@ }, "chai": { "version": "4.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", "dev": true, "requires": { @@ -1383,7 +1383,7 @@ }, "chai-as-promised": { "version": "7.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", "dev": true, "requires": { @@ -4743,7 +4743,7 @@ }, "loglevel": { "version": "1.6.8", - "resolved": false, + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", "dev": true }, @@ -5403,7 +5403,7 @@ }, "node-fetch": { "version": "2.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", "dev": true }, @@ -6401,7 +6401,7 @@ }, "request-promise": { "version": "4.2.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz", "integrity": "sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==", "dev": true, "requires": { @@ -7524,7 +7524,7 @@ }, "tsconfig-paths-webpack-plugin": { "version": "3.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.2.0.tgz", "integrity": "sha512-S/gOOPOkV8rIL4LurZ1vUdYCVgo15iX9ZMJ6wx6w2OgcpT/G4wMyHB6WM+xheSqGMrWKuxFul+aXpCju3wmj/g==", "dev": true, "requires": { @@ -7680,7 +7680,7 @@ }, "typescript": { "version": "3.8.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", "dev": true }, @@ -7898,7 +7898,7 @@ }, "webpack": { "version": "4.43.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", "dev": true, "requires": { @@ -8059,7 +8059,7 @@ }, "webpack-cli": { "version": "3.3.11", - "resolved": false, + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", "dev": true, "requires": { @@ -8179,7 +8179,7 @@ }, "webpack-node-externals": { "version": "1.7.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", "dev": true }, diff --git a/src/chain/tezos/TezosNodeWriter.ts b/src/chain/tezos/TezosNodeWriter.ts index 0178bec0..1e5002b2 100644 --- a/src/chain/tezos/TezosNodeWriter.ts +++ b/src/chain/tezos/TezosNodeWriter.ts @@ -468,6 +468,9 @@ export namespace TezosNodeWriter { parameters: string | undefined, parameterFormat: TezosTypes.TezosParameterFormat = TezosTypes.TezosParameterFormat.Micheline ): TezosP2PMessageTypes.Transaction { + console.log('constructing') + // entrypoint = 'update' + let transaction: TezosP2PMessageTypes.Transaction = { destination: to, amount: amount.toString(), @@ -479,9 +482,16 @@ export namespace TezosNodeWriter { kind: 'transaction' }; + console.log('basic tx') + console.log("ENTRYPOINT: " + entrypoint) + if (parameters !== undefined) { if (parameterFormat === TezosTypes.TezosParameterFormat.Michelson) { + console.log('got michelson') + console.log('parameters: ' + parameters) const michelineParams = TezosLanguageUtil.translateParameterMichelsonToMicheline(parameters); + console.log(michelineParams) + transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(michelineParams) }; } else if (parameterFormat === TezosTypes.TezosParameterFormat.Micheline) { transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(parameters) }; @@ -490,9 +500,12 @@ export namespace TezosNodeWriter { transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(michelineLambda) }; } } else if (entrypoint !== undefined) { + transaction.parameters = { entrypoint: entrypoint, value: [] }; } + console.log('constructed') + return transaction; } @@ -581,6 +594,8 @@ export namespace TezosNodeWriter { parameterFormat: TezosTypes.TezosParameterFormat = TezosTypes.TezosParameterFormat.Micheline ): Promise<{ gas: number, storageCost: number }> { const counter = await TezosNodeReader.getCounterForAccount(server, keyStore.publicKeyHash) + 1; + console.log("got counter") + const transaction = constructContractInvocationOperation( keyStore.publicKeyHash, counter, @@ -593,6 +608,7 @@ export namespace TezosNodeWriter { parameters, parameterFormat ); + console.log("Constructed operation") return estimateOperation(server, chainid, transaction) } @@ -666,13 +682,22 @@ export namespace TezosNodeWriter { server: string, chainid: string, operation: TezosP2PMessageTypes.Operation + ): Promise<{ gas: number, storageCost: number }> { + return estimateOperations(server, chainid, [operation]) + } + + export async function estimateOperations( + server: string, + chainid: string, + operations: Array ): Promise<{ gas: number, storageCost: number }> { const fake_signature = 'edsigu6xFLH2NpJ1VcYshpjW99Yc1TAL1m2XBqJyXrxcZQgBMo8sszw2zm626yjpA3pWMhjpsahLrWdmvX9cqhd4ZEUchuBuFYy'; const fake_chainid = 'NetXdQprcVkpaWU'; const fake_branch = 'BL94i2ShahPx3BoNs6tJdXDdGeoJ9ukwujUA2P8WJwULYNdimmq'; - const response = await performPostRequest(server, `chains/${chainid}/blocks/head/helpers/scripts/run_operation`, { chain_id: fake_chainid, operation: { branch: fake_branch, contents: [operation], signature: fake_signature } }); + const response = await performPostRequest(server, `chains/${chainid}/blocks/head/helpers/scripts/run_operation`, { chain_id: fake_chainid, operation: { branch: fake_branch, contents: operations, signature: fake_signature } }); const responseText = await response.text(); + console.log("GOT BACK: " + responseText) parseRPCError(responseText); @@ -710,6 +735,8 @@ export namespace TezosNodeWriter { * @returns Error text or `undefined` */ function parseRPCError(response: string) { + log.debug(`parsing response:\n${response}`) + let errors = ''; try { From 94e2bdaf9782c3a3d452b24566603f2b6156f87e Mon Sep 17 00:00:00 2001 From: keefertaylor Date: Sun, 26 Jul 2020 17:30:12 -0700 Subject: [PATCH 02/12] cleanup --- src/chain/tezos/TezosNodeWriter.ts | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/chain/tezos/TezosNodeWriter.ts b/src/chain/tezos/TezosNodeWriter.ts index 1e5002b2..06ce2915 100644 --- a/src/chain/tezos/TezosNodeWriter.ts +++ b/src/chain/tezos/TezosNodeWriter.ts @@ -468,9 +468,6 @@ export namespace TezosNodeWriter { parameters: string | undefined, parameterFormat: TezosTypes.TezosParameterFormat = TezosTypes.TezosParameterFormat.Micheline ): TezosP2PMessageTypes.Transaction { - console.log('constructing') - // entrypoint = 'update' - let transaction: TezosP2PMessageTypes.Transaction = { destination: to, amount: amount.toString(), @@ -482,15 +479,9 @@ export namespace TezosNodeWriter { kind: 'transaction' }; - console.log('basic tx') - console.log("ENTRYPOINT: " + entrypoint) - if (parameters !== undefined) { if (parameterFormat === TezosTypes.TezosParameterFormat.Michelson) { - console.log('got michelson') - console.log('parameters: ' + parameters) const michelineParams = TezosLanguageUtil.translateParameterMichelsonToMicheline(parameters); - console.log(michelineParams) transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(michelineParams) }; } else if (parameterFormat === TezosTypes.TezosParameterFormat.Micheline) { @@ -504,8 +495,6 @@ export namespace TezosNodeWriter { transaction.parameters = { entrypoint: entrypoint, value: [] }; } - console.log('constructed') - return transaction; } @@ -594,8 +583,6 @@ export namespace TezosNodeWriter { parameterFormat: TezosTypes.TezosParameterFormat = TezosTypes.TezosParameterFormat.Micheline ): Promise<{ gas: number, storageCost: number }> { const counter = await TezosNodeReader.getCounterForAccount(server, keyStore.publicKeyHash) + 1; - console.log("got counter") - const transaction = constructContractInvocationOperation( keyStore.publicKeyHash, counter, @@ -669,9 +656,8 @@ export namespace TezosNodeWriter { /** * Dry run the given operation and return consumed resources. * - * Note: Estimating an operation on an unrevealed account is not supported and will fail. - * - * TODO: Add support for estimating multiple operations so that reveals can be processed. + * Note: Estimating an operation on an unrevealed account is not supported and will fail. Use + * `estimateOperations` instead. * * @param {string} server Tezos node to connect to * @param {string} chainid The chain ID to apply the operation on. @@ -686,6 +672,14 @@ export namespace TezosNodeWriter { return estimateOperations(server, chainid, [operation]) } + /** + * Dry run the given operation and return consumed resources. + * + * @param {string} server Tezos node to connect to + * @param {string} chainid The chain ID to apply the operation on. + * @param {TezosP2PMessageTypes.Operation} operations An array of operations to estimate. + * @returns A two-element object gas and storage costs. Throws an error if one was encountered. + */ export async function estimateOperations( server: string, chainid: string, @@ -697,7 +691,6 @@ export namespace TezosNodeWriter { const response = await performPostRequest(server, `chains/${chainid}/blocks/head/helpers/scripts/run_operation`, { chain_id: fake_chainid, operation: { branch: fake_branch, contents: operations, signature: fake_signature } }); const responseText = await response.text(); - console.log("GOT BACK: " + responseText) parseRPCError(responseText); @@ -735,8 +728,6 @@ export namespace TezosNodeWriter { * @returns Error text or `undefined` */ function parseRPCError(response: string) { - log.debug(`parsing response:\n${response}`) - let errors = ''; try { From 37b215e39b3c743f8935983d5af0d2912aa07730 Mon Sep 17 00:00:00 2001 From: keefertaylor Date: Sun, 26 Jul 2020 17:31:47 -0700 Subject: [PATCH 03/12] cleanup --- src/chain/tezos/TezosNodeWriter.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/chain/tezos/TezosNodeWriter.ts b/src/chain/tezos/TezosNodeWriter.ts index 06ce2915..2f956e45 100644 --- a/src/chain/tezos/TezosNodeWriter.ts +++ b/src/chain/tezos/TezosNodeWriter.ts @@ -482,7 +482,6 @@ export namespace TezosNodeWriter { if (parameters !== undefined) { if (parameterFormat === TezosTypes.TezosParameterFormat.Michelson) { const michelineParams = TezosLanguageUtil.translateParameterMichelsonToMicheline(parameters); - transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(michelineParams) }; } else if (parameterFormat === TezosTypes.TezosParameterFormat.Micheline) { transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(parameters) }; From 5083d399c8f20b87dee67e0d97712be852025794 Mon Sep 17 00:00:00 2001 From: keefertaylor Date: Sun, 26 Jul 2020 17:34:33 -0700 Subject: [PATCH 04/12] last polish --- src/chain/tezos/TezosNodeWriter.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/chain/tezos/TezosNodeWriter.ts b/src/chain/tezos/TezosNodeWriter.ts index 2f956e45..984b3636 100644 --- a/src/chain/tezos/TezosNodeWriter.ts +++ b/src/chain/tezos/TezosNodeWriter.ts @@ -490,7 +490,6 @@ export namespace TezosNodeWriter { transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(michelineLambda) }; } } else if (entrypoint !== undefined) { - transaction.parameters = { entrypoint: entrypoint, value: [] }; } @@ -594,7 +593,6 @@ export namespace TezosNodeWriter { parameters, parameterFormat ); - console.log("Constructed operation") return estimateOperation(server, chainid, transaction) } @@ -672,7 +670,7 @@ export namespace TezosNodeWriter { } /** - * Dry run the given operation and return consumed resources. + * Dry run the given operations and return consumed resources. * * @param {string} server Tezos node to connect to * @param {string} chainid The chain ID to apply the operation on. From e179148a6e71c3f7034bc0ec530fcef94f479359 Mon Sep 17 00:00:00 2001 From: anonymoussprocket Date: Tue, 28 Jul 2020 21:08:10 -0400 Subject: [PATCH 05/12] - updated dependencies - lcov output for sonarcloud --- .gitignore | 2 +- coverage/lcov.info | 3837 ++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 2567 ++++++++++++----------------- package.json | 39 +- 4 files changed, 4908 insertions(+), 1537 deletions(-) create mode 100644 coverage/lcov.info diff --git a/.gitignore b/.gitignore index 990cb8d0..c1c4c40a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .nyc_output .coveralls.yml dist/ -coverage/ +coverage/lcov-report node_modules/ **/TestAssets.ts diff --git a/coverage/lcov.info b/coverage/lcov.info new file mode 100644 index 00000000..fc48cb2c --- /dev/null +++ b/coverage/lcov.info @@ -0,0 +1,3837 @@ +TN: +SF:src/index.ts +FN:4,registerLogger +FN:8,registerFetch +FNF:2 +FNH:2 +FNDA:3,registerLogger +FNDA:3,registerFetch +DA:1,1 +DA:2,1 +DA:4,1 +DA:5,3 +DA:8,1 +DA:9,3 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:28,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:38,1 +DA:39,1 +DA:41,1 +LF:31 +LH:31 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/chain/tezos/TezosContractIntrospector.ts +FN:11,(anonymous_8) +FN:18,generateEntryPointsFromParams +FN:37,generateEntryPointsFromCode +FN:50,generateEntryPointsFromAddress +FNF:4 +FNH:4 +FNDA:1,(anonymous_8) +FNDA:1,generateEntryPointsFromParams +FNDA:1,generateEntryPointsFromCode +FNDA:1,generateEntryPointsFromAddress +DA:1,1 +DA:2,1 +DA:5,1 +DA:6,1 +DA:11,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:22,1 +DA:24,1 +DA:25,1 +DA:28,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,1 +LF:19 +LH:19 +BRDA:24,0,0,1 +BRDA:24,0,1,0 +BRDA:11,1,0,1 +BRDA:11,1,1,1 +BRF:4 +BRH:3 +end_of_record +TN: +SF:src/chain/tezos/TezosLanguageUtil.ts +FN:13,(anonymous_1) +FN:19,hexToMicheline +FN:155,hexToMichelson +FN:294,translateMichelsonToMicheline +FN:296,(anonymous_5) +FN:304,translateParameterMichelsonToMicheline +FN:314,translateMichelsonToHex +FN:316,(anonymous_8) +FN:317,(anonymous_9) +FN:318,(anonymous_10) +FN:321,preProcessMicheline +FN:331,getSection +FN:347,translateMichelineToHex +FN:356,michelineHexToString +FN:372,hexToMichelineKeyword +FN:376,hexToMichelsonKeyword +FN:387,michelineHexToAnnotations +FN:389,(anonymous_18) +FN:395,preProcessMichelsonScript +FN:401,(anonymous_20) +FN:402,(anonymous_21) +FN:403,(anonymous_22) +FN:404,(anonymous_23) +FN:408,(anonymous_24) +FN:408,(anonymous_25) +FN:408,(anonymous_26) +FN:414,normalizeMichelineWhiteSpace +FN:435,normalizeMichelsonWhiteSpace +FN:446,stripComments +FN:447,(anonymous_30) +FN:447,(anonymous_31) +FNF:31 +FNH:31 +FNDA:1,(anonymous_1) +FNDA:85,hexToMicheline +FNDA:150,hexToMichelson +FNDA:83,translateMichelsonToMicheline +FNDA:249,(anonymous_5) +FNDA:1,translateParameterMichelsonToMicheline +FNDA:1,translateMichelsonToHex +FNDA:2,(anonymous_8) +FNDA:2,(anonymous_9) +FNDA:2,(anonymous_10) +FNDA:1,preProcessMicheline +FNDA:2,getSection +FNDA:27,translateMichelineToHex +FNDA:22,michelineHexToString +FNDA:48,hexToMichelineKeyword +FNDA:70,hexToMichelsonKeyword +FNDA:4,michelineHexToAnnotations +FNDA:6,(anonymous_18) +FNDA:84,preProcessMichelsonScript +FNDA:169,(anonymous_20) +FNDA:85,(anonymous_21) +FNDA:167,(anonymous_22) +FNDA:252,(anonymous_23) +FNDA:252,(anonymous_24) +FNDA:6813,(anonymous_25) +FNDA:6813,(anonymous_26) +FNDA:76,normalizeMichelineWhiteSpace +FNDA:10,normalizeMichelsonWhiteSpace +FNDA:1,stripComments +FNDA:1,(anonymous_30) +FNDA:1,(anonymous_31) +DA:1,1 +DA:2,1 +DA:3,1 +DA:5,1 +DA:8,1 +DA:13,1 +DA:19,1 +DA:20,85 +DA:21,84 +DA:22,84 +DA:23,84 +DA:24,84 +DA:26,84 +DA:28,17 +DA:29,17 +DA:30,17 +DA:31,17 +DA:34,8 +DA:35,8 +DA:36,8 +DA:37,8 +DA:40,9 +DA:41,9 +DA:42,9 +DA:43,9 +DA:44,9 +DA:45,24 +DA:46,24 +DA:47,24 +DA:48,24 +DA:50,9 +DA:51,0 +DA:53,9 +DA:55,9 +DA:58,25 +DA:59,25 +DA:60,25 +DA:63,1 +DA:64,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:72,16 +DA:73,16 +DA:74,16 +DA:75,16 +DA:76,16 +DA:77,16 +DA:80,1 +DA:81,1 +DA:83,1 +DA:84,1 +DA:85,1 +DA:87,1 +DA:88,1 +DA:89,1 +DA:90,1 +DA:93,2 +DA:94,2 +DA:96,2 +DA:97,2 +DA:98,2 +DA:99,2 +DA:100,2 +DA:101,2 +DA:102,2 +DA:104,2 +DA:105,2 +DA:108,1 +DA:109,1 +DA:111,1 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +DA:117,1 +DA:118,1 +DA:119,1 +DA:120,1 +DA:123,2 +DA:124,2 +DA:126,2 +DA:127,2 +DA:128,2 +DA:130,2 +DA:131,1 +DA:132,1 +DA:133,1 +DA:135,1 +DA:137,1 +DA:138,1 +DA:140,2 +DA:143,1 +DA:144,1 +DA:145,1 +DA:146,1 +DA:147,1 +DA:149,1 +DA:152,83 +DA:155,1 +DA:156,150 +DA:157,150 +DA:158,150 +DA:159,150 +DA:160,150 +DA:162,150 +DA:164,70 +DA:165,70 +DA:166,70 +DA:167,70 +DA:170,10 +DA:171,10 +DA:172,10 +DA:173,10 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:186,0 +DA:187,0 +DA:189,0 +DA:191,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:199,0 +DA:200,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:216,0 +DA:217,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +DA:229,70 +DA:230,70 +DA:232,70 +DA:233,70 +DA:234,70 +DA:235,70 +DA:236,70 +DA:237,70 +DA:238,70 +DA:240,70 +DA:241,70 +DA:244,0 +DA:245,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:251,0 +DA:253,0 +DA:254,0 +DA:255,0 +DA:256,0 +DA:259,0 +DA:260,0 +DA:262,0 +DA:263,0 +DA:264,0 +DA:266,0 +DA:267,0 +DA:268,0 +DA:269,0 +DA:271,0 +DA:273,0 +DA:274,0 +DA:276,0 +DA:279,0 +DA:280,0 +DA:281,0 +DA:282,0 +DA:283,0 +DA:285,0 +DA:288,150 +DA:294,1 +DA:295,83 +DA:296,249 +DA:298,83 +DA:304,1 +DA:305,1 +DA:314,1 +DA:315,1 +DA:316,2 +DA:317,2 +DA:318,2 +DA:322,1 +DA:323,1 +DA:325,1 +DA:326,1 +DA:328,1 +DA:332,2 +DA:333,2 +DA:335,2 +DA:336,5 +DA:337,2 +DA:341,0 +DA:347,1 +DA:348,27 +DA:349,27 +DA:350,27 +DA:357,22 +DA:358,22 +DA:359,22 +DA:360,22 +DA:361,22 +DA:362,22 +DA:373,48 +DA:377,70 +DA:388,4 +DA:389,6 +DA:395,1 +DA:396,84 +DA:397,84 +DA:398,84 +DA:399,84 +DA:401,169 +DA:402,85 +DA:403,167 +DA:404,252 +DA:406,84 +DA:408,6813 +DA:414,1 +DA:415,76 +DA:435,1 +DA:436,10 +DA:446,1 +DA:447,1 +LF:247 +LH:178 +BRDA:20,0,0,1 +BRDA:20,0,1,84 +BRDA:27,1,0,17 +BRDA:27,1,1,8 +BRDA:27,1,2,9 +BRDA:27,1,3,25 +BRDA:27,1,4,1 +BRDA:27,1,5,16 +BRDA:27,1,6,1 +BRDA:27,1,7,2 +BRDA:27,1,8,1 +BRDA:27,1,9,2 +BRDA:27,1,10,1 +BRDA:27,1,11,1 +BRDA:50,2,0,0 +BRDA:50,2,1,9 +BRDA:130,3,0,1 +BRDA:130,3,1,1 +BRDA:132,4,0,1 +BRDA:132,4,1,0 +BRDA:156,5,0,0 +BRDA:156,5,1,150 +BRDA:163,6,0,70 +BRDA:163,6,1,10 +BRDA:163,6,2,0 +BRDA:163,6,3,0 +BRDA:163,6,4,0 +BRDA:163,6,5,0 +BRDA:163,6,6,0 +BRDA:163,6,7,70 +BRDA:163,6,8,0 +BRDA:163,6,9,0 +BRDA:163,6,10,0 +BRDA:163,6,11,0 +BRDA:186,7,0,0 +BRDA:186,7,1,0 +BRDA:266,8,0,0 +BRDA:266,8,1,0 +BRDA:268,9,0,0 +BRDA:268,9,1,0 +BRDA:333,10,0,0 +BRDA:333,10,1,2 +BRDA:336,11,0,2 +BRDA:336,11,1,3 +BRDA:13,12,0,1 +BRDA:13,12,1,1 +BRF:46 +BRH:27 +end_of_record +TN: +SF:src/chain/tezos/TezosMessageCodec.ts +FN:23,(anonymous_0) +FN:25,(anonymous_1) +FN:30,getOperationType +FN:38,idFirstOperation +FN:49,parseOperation +FN:85,encodeOperation +FN:110,encodeActivation +FN:124,parseBallot +FN:179,encodeBallot +FN:195,parseReveal +FN:264,encodeReveal +FN:284,parseTransaction +FN:407,encodeTransaction +FN:442,(anonymous_13) +FN:464,parseOrigination +FN:589,encodeOrigination +FN:613,(anonymous_16) +FN:614,(anonymous_17) +FN:615,(anonymous_18) +FN:627,parseDelegation +FN:702,encodeDelegation +FN:727,parseOperationGroup +FNF:22 +FNH:21 +FNDA:15,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:42,getOperationType +FNDA:10,idFirstOperation +FNDA:24,parseOperation +FNDA:4,encodeOperation +FNDA:1,encodeActivation +FNDA:3,parseBallot +FNDA:1,encodeBallot +FNDA:6,parseReveal +FNDA:2,encodeReveal +FNDA:9,parseTransaction +FNDA:3,encodeTransaction +FNDA:0,(anonymous_13) +FNDA:4,parseOrigination +FNDA:3,encodeOrigination +FNDA:4,(anonymous_16) +FNDA:4,(anonymous_17) +FNDA:4,(anonymous_18) +FNDA:4,parseDelegation +FNDA:3,encodeDelegation +FNDA:10,parseOperationGroup +DA:1,1 +DA:2,1 +DA:5,1 +DA:23,15 +DA:25,1 +DA:30,1 +DA:31,42 +DA:38,1 +DA:39,10 +DA:49,1 +DA:50,24 +DA:52,1 +DA:54,1 +DA:56,1 +DA:58,1 +DA:60,1 +DA:62,1 +DA:64,3 +DA:66,3 +DA:68,8 +DA:70,1 +DA:72,2 +DA:74,1 +DA:85,1 +DA:86,4 +DA:87,0 +DA:90,4 +DA:91,3 +DA:92,3 +DA:93,3 +DA:94,3 +DA:95,1 +DA:98,2 +DA:99,1 +DA:102,1 +DA:110,1 +DA:111,1 +DA:112,1 +DA:113,1 +DA:115,1 +DA:124,1 +DA:125,3 +DA:126,3 +DA:127,1 +DA:130,2 +DA:131,2 +DA:132,2 +DA:133,1 +DA:134,1 +DA:136,1 +DA:139,2 +DA:140,2 +DA:142,2 +DA:143,2 +DA:145,2 +DA:146,2 +DA:148,2 +DA:149,2 +DA:152,2 +DA:153,1 +DA:156,2 +DA:164,2 +DA:171,2 +DA:179,1 +DA:180,1 +DA:181,1 +DA:182,1 +DA:183,1 +DA:184,1 +DA:186,1 +DA:195,1 +DA:196,6 +DA:197,6 +DA:198,1 +DA:201,5 +DA:202,5 +DA:203,5 +DA:204,5 +DA:205,5 +DA:207,0 +DA:210,5 +DA:211,5 +DA:212,4 +DA:213,4 +DA:215,1 +DA:216,1 +DA:219,5 +DA:221,5 +DA:222,5 +DA:224,5 +DA:225,5 +DA:227,5 +DA:228,5 +DA:229,5 +DA:231,5 +DA:232,5 +DA:235,5 +DA:236,3 +DA:239,5 +DA:249,5 +DA:256,5 +DA:264,1 +DA:265,2 +DA:267,1 +DA:268,1 +DA:269,1 +DA:270,1 +DA:271,1 +DA:272,1 +DA:273,1 +DA:275,1 +DA:284,1 +DA:285,9 +DA:286,9 +DA:287,1 +DA:290,8 +DA:291,8 +DA:292,8 +DA:293,6 +DA:294,6 +DA:296,2 +DA:299,8 +DA:300,8 +DA:301,5 +DA:302,5 +DA:304,3 +DA:305,3 +DA:308,8 +DA:310,8 +DA:311,8 +DA:313,8 +DA:314,8 +DA:316,8 +DA:317,8 +DA:319,8 +DA:320,8 +DA:322,8 +DA:323,8 +DA:324,8 +DA:326,8 +DA:327,8 +DA:328,8 +DA:330,8 +DA:331,1 +DA:332,1 +DA:333,1 +DA:334,1 +DA:335,1 +DA:336,1 +DA:337,7 +DA:338,2 +DA:339,2 +DA:341,2 +DA:342,2 +DA:343,1 +DA:344,1 +DA:346,1 +DA:347,1 +DA:348,1 +DA:349,1 +DA:350,0 +DA:351,0 +DA:352,0 +DA:353,0 +DA:354,0 +DA:355,0 +DA:356,0 +DA:357,0 +DA:360,2 +DA:361,2 +DA:362,2 +DA:363,2 +DA:364,2 +DA:365,2 +DA:367,2 +DA:371,8 +DA:372,0 +DA:375,8 +DA:387,8 +DA:394,8 +DA:407,1 +DA:408,3 +DA:410,2 +DA:411,2 +DA:412,2 +DA:413,2 +DA:414,2 +DA:415,2 +DA:416,2 +DA:417,2 +DA:419,2 +DA:420,1 +DA:421,1 +DA:422,1 +DA:424,1 +DA:425,1 +DA:427,0 +DA:429,0 +DA:430,0 +DA:431,0 +DA:432,0 +DA:433,0 +DA:434,0 +DA:435,0 +DA:436,0 +DA:437,0 +DA:438,0 +DA:440,0 +DA:442,0 +DA:445,0 +DA:446,0 +DA:448,0 +DA:452,1 +DA:455,2 +DA:464,1 +DA:465,4 +DA:466,4 +DA:467,1 +DA:470,3 +DA:471,3 +DA:472,3 +DA:473,3 +DA:474,3 +DA:476,0 +DA:479,3 +DA:480,3 +DA:481,2 +DA:482,2 +DA:484,1 +DA:485,1 +DA:488,3 +DA:490,3 +DA:491,3 +DA:493,3 +DA:494,3 +DA:496,3 +DA:497,3 +DA:498,3 +DA:500,3 +DA:501,3 +DA:502,2 +DA:503,2 +DA:506,3 +DA:507,3 +DA:509,3 +DA:510,3 +DA:511,3 +DA:512,2 +DA:513,2 +DA:515,2 +DA:516,2 +DA:519,3 +DA:521,3 +DA:522,3 +DA:523,3 +DA:524,3 +DA:525,3 +DA:528,3 +DA:529,3 +DA:530,2 +DA:531,2 +DA:534,3 +DA:535,3 +DA:536,2 +DA:537,2 +DA:539,2 +DA:540,2 +DA:542,2 +DA:543,2 +DA:545,2 +DA:546,2 +DA:548,2 +DA:552,3 +DA:553,1 +DA:556,3 +DA:568,3 +DA:569,2 +DA:570,2 +DA:571,2 +DA:574,3 +DA:581,3 +DA:589,1 +DA:590,3 +DA:592,2 +DA:593,2 +DA:594,2 +DA:595,2 +DA:596,2 +DA:597,2 +DA:598,2 +DA:600,2 +DA:601,1 +DA:602,1 +DA:604,1 +DA:607,2 +DA:608,2 +DA:609,2 +DA:610,2 +DA:612,2 +DA:613,4 +DA:614,4 +DA:615,4 +DA:618,2 +DA:627,1 +DA:628,4 +DA:629,4 +DA:630,1 +DA:633,3 +DA:634,3 +DA:635,3 +DA:636,1 +DA:637,1 +DA:639,2 +DA:642,3 +DA:643,3 +DA:644,3 +DA:645,3 +DA:647,0 +DA:648,0 +DA:651,3 +DA:653,3 +DA:654,3 +DA:656,3 +DA:657,3 +DA:659,3 +DA:660,3 +DA:662,3 +DA:663,3 +DA:665,3 +DA:666,3 +DA:667,3 +DA:668,3 +DA:669,3 +DA:673,3 +DA:674,1 +DA:677,3 +DA:687,3 +DA:694,3 +DA:702,1 +DA:703,3 +DA:705,2 +DA:706,2 +DA:707,2 +DA:708,2 +DA:709,2 +DA:710,2 +DA:712,2 +DA:713,1 +DA:714,1 +DA:716,1 +DA:719,2 +DA:727,1 +DA:728,10 +DA:729,10 +DA:731,10 +DA:732,10 +DA:733,10 +DA:734,5 +DA:735,5 +DA:737,5 +DA:740,10 +LF:361 +LH:331 +BRDA:23,0,0,15 +BRDA:23,0,1,0 +BRDA:23,1,0,0 +BRDA:23,1,1,15 +BRDA:31,2,0,42 +BRDA:31,2,1,1 +BRDA:49,3,0,12 +BRDA:51,4,0,1 +BRDA:51,4,1,1 +BRDA:51,4,2,1 +BRDA:51,4,3,1 +BRDA:51,4,4,1 +BRDA:51,4,5,1 +BRDA:51,4,6,3 +BRDA:51,4,7,3 +BRDA:51,4,8,8 +BRDA:51,4,9,1 +BRDA:51,4,10,2 +BRDA:51,4,11,1 +BRDA:86,5,0,0 +BRDA:86,5,1,4 +BRDA:86,6,0,4 +BRDA:86,6,1,0 +BRDA:90,7,0,3 +BRDA:90,7,1,1 +BRDA:92,8,0,0 +BRDA:92,8,1,3 +BRDA:93,9,0,0 +BRDA:93,9,1,3 +BRDA:94,10,0,2 +BRDA:94,10,1,1 +BRDA:95,11,0,0 +BRDA:95,11,1,1 +BRDA:98,12,0,1 +BRDA:98,12,1,1 +BRDA:124,13,0,0 +BRDA:125,14,0,2 +BRDA:125,14,1,1 +BRDA:126,15,0,1 +BRDA:126,15,1,2 +BRDA:132,16,0,1 +BRDA:132,16,1,1 +BRDA:152,17,0,1 +BRDA:152,17,1,1 +BRDA:168,18,0,1 +BRDA:168,18,1,1 +BRDA:195,19,0,2 +BRDA:196,20,0,5 +BRDA:196,20,1,1 +BRDA:197,21,0,1 +BRDA:197,21,1,5 +BRDA:203,22,0,5 +BRDA:203,22,1,0 +BRDA:211,23,0,4 +BRDA:211,23,1,1 +BRDA:235,24,0,3 +BRDA:235,24,1,2 +BRDA:253,25,0,3 +BRDA:253,25,1,2 +BRDA:265,26,0,1 +BRDA:265,26,1,1 +BRDA:284,27,0,1 +BRDA:285,28,0,7 +BRDA:285,28,1,2 +BRDA:286,29,0,1 +BRDA:286,29,1,8 +BRDA:292,30,0,6 +BRDA:292,30,1,2 +BRDA:300,31,0,5 +BRDA:300,31,1,3 +BRDA:330,32,0,1 +BRDA:330,32,1,7 +BRDA:330,33,0,8 +BRDA:330,33,1,3 +BRDA:335,34,0,0 +BRDA:335,34,1,1 +BRDA:337,35,0,2 +BRDA:337,35,1,5 +BRDA:337,36,0,7 +BRDA:337,36,1,2 +BRDA:342,37,0,1 +BRDA:342,37,1,1 +BRDA:348,38,0,1 +BRDA:348,38,1,0 +BRDA:350,39,0,0 +BRDA:350,39,1,0 +BRDA:352,40,0,0 +BRDA:352,40,1,0 +BRDA:354,41,0,0 +BRDA:354,41,1,0 +BRDA:356,42,0,0 +BRDA:356,42,1,0 +BRDA:364,43,0,0 +BRDA:364,43,1,2 +BRDA:371,44,0,0 +BRDA:371,44,1,8 +BRDA:391,45,0,0 +BRDA:391,45,1,8 +BRDA:408,46,0,1 +BRDA:408,46,1,2 +BRDA:419,47,0,1 +BRDA:419,47,1,1 +BRDA:424,48,0,1 +BRDA:424,48,1,0 +BRDA:424,49,0,1 +BRDA:424,49,1,0 +BRDA:424,49,2,1 +BRDA:429,50,0,0 +BRDA:429,50,1,0 +BRDA:429,51,0,0 +BRDA:429,51,1,0 +BRDA:431,52,0,0 +BRDA:431,52,1,0 +BRDA:433,53,0,0 +BRDA:433,53,1,0 +BRDA:435,54,0,0 +BRDA:435,54,1,0 +BRDA:437,55,0,0 +BRDA:437,55,1,0 +BRDA:445,56,0,0 +BRDA:445,56,1,0 +BRDA:464,57,0,3 +BRDA:465,58,0,4 +BRDA:465,58,1,0 +BRDA:466,59,0,1 +BRDA:466,59,1,3 +BRDA:472,60,0,3 +BRDA:472,60,1,0 +BRDA:480,61,0,2 +BRDA:480,61,1,1 +BRDA:501,62,0,2 +BRDA:501,62,1,1 +BRDA:511,63,0,2 +BRDA:511,63,1,1 +BRDA:523,64,0,3 +BRDA:523,64,1,0 +BRDA:529,65,0,2 +BRDA:529,65,1,1 +BRDA:535,66,0,2 +BRDA:535,66,1,1 +BRDA:552,67,0,1 +BRDA:552,67,1,2 +BRDA:560,68,0,3 +BRDA:560,68,1,0 +BRDA:565,69,0,2 +BRDA:565,69,1,1 +BRDA:568,70,0,2 +BRDA:568,70,1,1 +BRDA:578,71,0,0 +BRDA:578,71,1,3 +BRDA:590,72,0,1 +BRDA:590,72,1,2 +BRDA:600,73,0,1 +BRDA:600,73,1,1 +BRDA:607,74,0,2 +BRDA:607,74,1,0 +BRDA:627,75,0,2 +BRDA:628,76,0,2 +BRDA:628,76,1,2 +BRDA:629,77,0,1 +BRDA:629,77,1,3 +BRDA:635,78,0,1 +BRDA:635,78,1,2 +BRDA:643,79,0,3 +BRDA:643,79,1,0 +BRDA:667,80,0,3 +BRDA:667,80,1,0 +BRDA:673,81,0,1 +BRDA:673,81,1,2 +BRDA:680,82,0,3 +BRDA:680,82,1,0 +BRDA:691,83,0,1 +BRDA:691,83,1,2 +BRDA:703,84,0,1 +BRDA:703,84,1,2 +BRDA:712,85,0,1 +BRDA:712,85,1,1 +BRDA:712,86,0,2 +BRDA:712,86,1,1 +BRDA:25,87,0,1 +BRDA:25,87,1,1 +BRF:181 +BRH:134 +end_of_record +TN: +SF:src/chain/tezos/TezosMessageUtil.ts +FN:14,(anonymous_2) +FN:19,writeBoolean +FN:27,readBoolean +FN:35,writeInt +FN:38,(anonymous_6) +FN:45,writeSignedInt +FN:74,(anonymous_8) +FN:81,readInt +FN:83,(anonymous_10) +FN:87,readSignedInt +FN:90,(anonymous_12) +FN:108,findInt +FN:124,writeString +FN:126,(anonymous_15) +FN:131,readString +FN:151,readAddress +FN:178,readAddressWithHint +FN:202,writeAddress +FN:221,readBranch +FN:232,writeBranch +FN:242,readPublicKey +FN:260,writePublicKey +FN:278,readKeyWithHint +FN:296,writeKeyWithHint +FN:312,readSignatureWithHint +FN:332,writeSignatureWithHint +FN:350,readBufferWithHint +FN:371,writeBufferWithHint +FN:381,computeOperationHash +FN:393,computeKeyHash +FN:398,dataLength +FN:409,writePackedData +FN:455,readPackedData +FN:487,encodeBigMapKey +FN:497,simpleHash +FN:505,twoByteHex +FN:530,fromByteHex +FNF:37 +FNH:35 +FNDA:1,(anonymous_2) +FNDA:6,writeBoolean +FNDA:22,readBoolean +FNDA:50,writeInt +FNDA:90,(anonymous_6) +FNDA:10,writeSignedInt +FNDA:31,(anonymous_8) +FNDA:139,readInt +FNDA:238,(anonymous_10) +FNDA:92,readSignedInt +FNDA:361,(anonymous_12) +FNDA:175,findInt +FNDA:1,writeString +FNDA:18,(anonymous_15) +FNDA:1,readString +FNDA:49,readAddress +FNDA:6,readAddressWithHint +FNDA:19,writeAddress +FNDA:18,readBranch +FNDA:1,writeBranch +FNDA:7,readPublicKey +FNDA:2,writePublicKey +FNDA:2,readKeyWithHint +FNDA:4,writeKeyWithHint +FNDA:1,readSignatureWithHint +FNDA:0,writeSignatureWithHint +FNDA:5,readBufferWithHint +FNDA:1,writeBufferWithHint +FNDA:0,computeOperationHash +FNDA:1,computeKeyHash +FNDA:3,dataLength +FNDA:12,writePackedData +FNDA:21,readPackedData +FNDA:2,encodeBigMapKey +FNDA:3,simpleHash +FNDA:49,twoByteHex +FNDA:139,fromByteHex +DA:2,1 +DA:3,1 +DA:4,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:14,1 +DA:19,1 +DA:20,6 +DA:27,1 +DA:28,22 +DA:35,1 +DA:36,50 +DA:38,90 +DA:45,1 +DA:46,10 +DA:48,9 +DA:49,9 +DA:50,9 +DA:51,9 +DA:52,9 +DA:53,29 +DA:55,29 +DA:56,9 +DA:57,9 +DA:59,20 +DA:60,20 +DA:63,29 +DA:65,29 +DA:66,29 +DA:69,9 +DA:70,2 +DA:71,2 +DA:74,31 +DA:81,1 +DA:83,238 +DA:84,139 +DA:87,1 +DA:88,92 +DA:90,361 +DA:91,92 +DA:92,92 +DA:93,361 +DA:94,92 +DA:96,269 +DA:100,92 +DA:108,1 +DA:109,175 +DA:110,175 +DA:111,175 +DA:112,521 +DA:113,521 +DA:114,521 +DA:115,521 +DA:116,521 +DA:118,521 +DA:121,175 +DA:124,1 +DA:125,1 +DA:126,18 +DA:128,1 +DA:131,1 +DA:132,1 +DA:133,1 +DA:135,1 +DA:137,1 +DA:138,1 +DA:139,18 +DA:142,1 +DA:151,1 +DA:152,49 +DA:154,48 +DA:155,48 +DA:157,48 +DA:158,27 +DA:159,21 +DA:160,2 +DA:161,19 +DA:162,5 +DA:163,14 +DA:164,13 +DA:166,1 +DA:178,1 +DA:179,6 +DA:181,6 +DA:182,2 +DA:183,4 +DA:184,1 +DA:185,3 +DA:186,1 +DA:187,2 +DA:188,1 +DA:190,1 +DA:202,1 +DA:203,19 +DA:204,19 +DA:205,12 +DA:206,7 +DA:207,2 +DA:208,5 +DA:209,2 +DA:210,3 +DA:211,2 +DA:213,1 +DA:221,1 +DA:222,18 +DA:223,17 +DA:232,1 +DA:233,1 +DA:242,1 +DA:243,7 +DA:245,6 +DA:246,6 +DA:247,5 +DA:248,1 +DA:249,0 +DA:250,1 +DA:251,0 +DA:253,1 +DA:260,1 +DA:261,2 +DA:262,1 +DA:263,1 +DA:264,0 +DA:265,1 +DA:266,0 +DA:268,1 +DA:278,1 +DA:279,2 +DA:281,2 +DA:282,0 +DA:283,2 +DA:284,0 +DA:286,2 +DA:296,1 +DA:297,4 +DA:298,3 +DA:302,1 +DA:312,1 +DA:313,1 +DA:315,1 +DA:316,0 +DA:317,1 +DA:318,0 +DA:319,1 +DA:320,0 +DA:322,1 +DA:332,1 +DA:333,0 +DA:334,0 +DA:335,0 +DA:336,0 +DA:337,0 +DA:338,0 +DA:340,0 +DA:350,1 +DA:351,5 +DA:353,5 +DA:354,0 +DA:355,5 +DA:356,2 +DA:357,3 +DA:358,2 +DA:359,1 +DA:360,0 +DA:362,1 +DA:371,1 +DA:372,1 +DA:381,1 +DA:382,0 +DA:383,0 +DA:393,1 +DA:394,1 +DA:395,1 +DA:399,3 +DA:409,1 +DA:410,12 +DA:412,5 +DA:415,1 +DA:418,1 +DA:421,0 +DA:422,0 +DA:425,1 +DA:426,1 +DA:429,1 +DA:430,1 +DA:433,3 +DA:434,3 +DA:435,2 +DA:436,1 +DA:437,1 +DA:438,1 +DA:440,0 +DA:443,0 +DA:455,1 +DA:456,21 +DA:458,5 +DA:461,1 +DA:464,1 +DA:467,1 +DA:470,1 +DA:473,1 +DA:476,10 +DA:479,1 +DA:487,1 +DA:488,2 +DA:497,1 +DA:498,3 +DA:506,49 +DA:508,28 +DA:509,28 +DA:510,2 +DA:511,2 +DA:512,11 +DA:513,11 +DA:516,26 +DA:517,26 +DA:518,58 +DA:519,58 +DA:523,28 +DA:531,139 +DA:533,63 +DA:534,61 +DA:536,61 +DA:537,90 +DA:540,61 +DA:543,2 +DA:545,2 +DA:546,9 +DA:549,2 +LF:230 +LH:206 +BRDA:20,0,0,3 +BRDA:20,0,1,3 +BRDA:28,1,0,15 +BRDA:28,1,1,7 +BRDA:36,2,0,1 +BRDA:36,2,1,49 +BRDA:38,3,0,49 +BRDA:38,3,1,41 +BRDA:46,4,0,1 +BRDA:46,4,1,9 +BRDA:55,5,0,9 +BRDA:55,5,1,20 +BRDA:63,6,0,5 +BRDA:63,6,1,24 +BRDA:63,7,0,29 +BRDA:63,7,1,13 +BRDA:65,8,0,20 +BRDA:65,8,1,9 +BRDA:69,9,0,2 +BRDA:69,9,1,7 +BRDA:83,10,0,139 +BRDA:83,10,1,99 +BRDA:88,11,0,11 +BRDA:88,11,1,81 +BRDA:90,12,0,92 +BRDA:90,12,1,269 +BRDA:93,13,0,92 +BRDA:93,13,1,269 +BRDA:100,14,0,81 +BRDA:100,14,1,11 +BRDA:108,15,0,88 +BRDA:118,16,0,174 +BRDA:118,16,1,347 +BRDA:121,17,0,87 +BRDA:121,17,1,88 +BRDA:133,18,0,0 +BRDA:133,18,1,1 +BRDA:152,19,0,1 +BRDA:152,19,1,48 +BRDA:152,20,0,49 +BRDA:152,20,1,17 +BRDA:154,21,0,32 +BRDA:154,21,1,16 +BRDA:155,22,0,32 +BRDA:155,22,1,16 +BRDA:157,23,0,27 +BRDA:157,23,1,21 +BRDA:159,24,0,2 +BRDA:159,24,1,19 +BRDA:161,25,0,5 +BRDA:161,25,1,14 +BRDA:163,26,0,13 +BRDA:163,26,1,1 +BRDA:163,27,0,14 +BRDA:163,27,1,13 +BRDA:179,28,0,0 +BRDA:179,28,1,6 +BRDA:181,29,0,2 +BRDA:181,29,1,4 +BRDA:183,30,0,1 +BRDA:183,30,1,3 +BRDA:185,31,0,1 +BRDA:185,31,1,2 +BRDA:187,32,0,1 +BRDA:187,32,1,1 +BRDA:204,33,0,12 +BRDA:204,33,1,7 +BRDA:206,34,0,2 +BRDA:206,34,1,5 +BRDA:208,35,0,2 +BRDA:208,35,1,3 +BRDA:210,36,0,2 +BRDA:210,36,1,1 +BRDA:222,37,0,1 +BRDA:222,37,1,17 +BRDA:243,38,0,1 +BRDA:243,38,1,6 +BRDA:243,39,0,7 +BRDA:243,39,1,1 +BRDA:246,40,0,5 +BRDA:246,40,1,1 +BRDA:248,41,0,0 +BRDA:248,41,1,1 +BRDA:248,42,0,1 +BRDA:248,42,1,0 +BRDA:250,43,0,0 +BRDA:250,43,1,1 +BRDA:250,44,0,1 +BRDA:250,44,1,0 +BRDA:261,45,0,1 +BRDA:261,45,1,1 +BRDA:263,46,0,0 +BRDA:263,46,1,1 +BRDA:265,47,0,0 +BRDA:265,47,1,1 +BRDA:279,48,0,0 +BRDA:279,48,1,2 +BRDA:281,49,0,0 +BRDA:281,49,1,2 +BRDA:283,50,0,0 +BRDA:283,50,1,2 +BRDA:297,51,0,3 +BRDA:297,51,1,1 +BRDA:297,52,0,4 +BRDA:297,52,1,2 +BRDA:313,53,0,0 +BRDA:313,53,1,1 +BRDA:315,54,0,0 +BRDA:315,54,1,1 +BRDA:315,55,0,1 +BRDA:315,55,1,1 +BRDA:317,56,0,0 +BRDA:317,56,1,1 +BRDA:317,57,0,1 +BRDA:317,57,1,1 +BRDA:319,58,0,0 +BRDA:319,58,1,1 +BRDA:319,59,0,1 +BRDA:319,59,1,1 +BRDA:333,60,0,0 +BRDA:333,60,1,0 +BRDA:333,61,0,0 +BRDA:333,61,1,0 +BRDA:335,62,0,0 +BRDA:335,62,1,0 +BRDA:335,63,0,0 +BRDA:335,63,1,0 +BRDA:337,64,0,0 +BRDA:337,64,1,0 +BRDA:337,65,0,0 +BRDA:337,65,1,0 +BRDA:351,66,0,0 +BRDA:351,66,1,5 +BRDA:353,67,0,0 +BRDA:353,67,1,5 +BRDA:355,68,0,2 +BRDA:355,68,1,3 +BRDA:357,69,0,2 +BRDA:357,69,1,1 +BRDA:359,70,0,0 +BRDA:359,70,1,1 +BRDA:393,71,0,1 +BRDA:409,72,0,11 +BRDA:411,73,0,5 +BRDA:411,73,1,1 +BRDA:411,73,2,1 +BRDA:411,73,3,0 +BRDA:411,73,4,1 +BRDA:411,73,5,1 +BRDA:411,73,6,3 +BRDA:434,74,0,2 +BRDA:434,74,1,1 +BRDA:436,75,0,1 +BRDA:436,75,1,0 +BRDA:457,76,0,5 +BRDA:457,76,1,1 +BRDA:457,76,2,1 +BRDA:457,76,3,1 +BRDA:457,76,4,1 +BRDA:457,76,5,1 +BRDA:457,76,6,10 +BRDA:457,76,7,1 +BRDA:506,77,0,21 +BRDA:506,77,1,28 +BRDA:509,78,0,2 +BRDA:509,78,1,26 +BRDA:531,79,0,76 +BRDA:531,79,1,63 +BRDA:533,80,0,61 +BRDA:533,80,1,2 +BRDA:14,81,0,1 +BRDA:14,81,1,1 +BRF:172 +BRH:140 +end_of_record +TN: +SF:src/chain/tezos/TezosNodeReader.ts +FN:14,(anonymous_8) +FN:22,performGetRequest +FN:26,(anonymous_10) +FN:33,(anonymous_11) +FN:48,getBlock +FN:49,(anonymous_13) +FN:58,getBlockHead +FN:69,getBlockAtOffset +FN:73,(anonymous_17) +FN:85,getAccountForBlock +FN:87,(anonymous_19) +FN:98,getCounterForAccount +FN:100,(anonymous_22) +FN:112,getSpendableBalanceForAccount +FN:114,(anonymous_25) +FN:127,getAccountManagerForBlock +FN:139,isImplicitAndEmpty +FN:155,isManagerKeyRevealedForAccount +FN:160,getContractStorage +FN:173,getValueForBigMapKey +FN:174,(anonymous_34) +FN:184,getMempoolOperation +FN:185,(anonymous_37) +FN:199,estimateBranchTimeout +FN:203,(anonymous_40) +FN:215,getMempoolOperationsForAccount +FN:216,(anonymous_43) +FN:218,(anonymous_44) +FN:218,(anonymous_45) +FN:219,(anonymous_46) +FN:219,(anonymous_47) +FNF:31 +FNH:22 +FNDA:1,(anonymous_8) +FNDA:17,performGetRequest +FNDA:14,(anonymous_10) +FNDA:14,(anonymous_11) +FNDA:3,getBlock +FNDA:3,(anonymous_13) +FNDA:0,getBlockHead +FNDA:3,getBlockAtOffset +FNDA:0,(anonymous_17) +FNDA:2,getAccountForBlock +FNDA:2,(anonymous_19) +FNDA:3,getCounterForAccount +FNDA:3,(anonymous_22) +FNDA:1,getSpendableBalanceForAccount +FNDA:1,(anonymous_25) +FNDA:2,getAccountManagerForBlock +FNDA:1,isImplicitAndEmpty +FNDA:2,isManagerKeyRevealedForAccount +FNDA:0,getContractStorage +FNDA:0,getValueForBigMapKey +FNDA:0,(anonymous_34) +FNDA:2,getMempoolOperation +FNDA:0,(anonymous_37) +FNDA:0,estimateBranchTimeout +FNDA:0,(anonymous_40) +FNDA:1,getMempoolOperationsForAccount +FNDA:0,(anonymous_43) +FNDA:13,(anonymous_44) +FNDA:13,(anonymous_45) +FNDA:2,(anonymous_46) +FNDA:2,(anonymous_47) +DA:1,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:8,1 +DA:9,1 +DA:14,1 +DA:23,17 +DA:25,17 +DA:27,14 +DA:28,0 +DA:29,0 +DA:31,14 +DA:34,14 +DA:35,14 +DA:36,14 +DA:48,1 +DA:49,3 +DA:58,1 +DA:59,0 +DA:69,1 +DA:70,3 +DA:72,3 +DA:73,3 +DA:85,1 +DA:86,2 +DA:87,2 +DA:98,1 +DA:99,3 +DA:100,3 +DA:101,3 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +DA:127,1 +DA:128,2 +DA:129,2 +DA:139,1 +DA:140,1 +DA:142,1 +DA:143,1 +DA:145,1 +DA:155,1 +DA:156,2 +DA:157,2 +DA:160,1 +DA:161,0 +DA:173,1 +DA:174,0 +DA:184,1 +DA:185,2 +DA:186,2 +DA:188,2 +DA:199,1 +DA:200,0 +DA:201,0 +DA:203,0 +DA:205,0 +DA:215,1 +DA:216,1 +DA:218,13 +DA:219,2 +DA:221,1 +LF:64 +LH:55 +BRDA:27,0,0,0 +BRDA:27,0,1,14 +BRDA:48,1,0,3 +BRDA:48,2,0,3 +BRDA:69,3,0,3 +BRDA:70,4,0,0 +BRDA:70,4,1,3 +BRDA:85,5,0,2 +BRDA:98,6,0,3 +BRDA:112,7,0,1 +BRDA:127,8,0,2 +BRDA:129,9,0,1 +BRDA:129,9,1,1 +BRDA:145,10,0,1 +BRDA:145,10,1,1 +BRDA:160,11,0,0 +BRDA:160,12,0,0 +BRDA:173,13,0,0 +BRDA:173,14,0,0 +BRDA:184,15,0,2 +BRDA:199,16,0,0 +BRDA:215,17,0,1 +BRDA:218,18,0,13 +BRDA:218,18,1,12 +BRDA:219,19,0,2 +BRDA:219,19,1,1 +BRDA:14,20,0,1 +BRDA:14,20,1,1 +BRF:28 +BRH:21 +end_of_record +TN: +SF:src/chain/tezos/TezosNodeWriter.ts +FN:25,(anonymous_9) +FN:34,performPostRequest +FN:52,forgeOperations +FN:56,(anonymous_12) +FN:71,forgeOperationsRemotely +FN:79,(anonymous_15) +FN:121,preapplyOperation +FN:154,injectOperation +FN:172,sendOperation +FN:194,queueOperation +FN:204,getQueueStatus +FN:223,appendRevealOperation +FN:238,(anonymous_26) +FN:260,sendTransactionOperation +FN:289,sendDelegationOperation +FN:316,sendUndelegationOperation +FN:335,sendContractOriginationOperation +FN:380,constructContractOriginationOperation +FN:434,sendContractInvocationOperation +FN:459,constructContractInvocationOperation +FN:510,sendContractPing +FN:523,sendKeyRevealOperation +FN:548,sendIdentityActivationOperation +FN:570,testContractInvocationOperation +FN:616,testContractDeployOperation +FN:665,estimateOperation +FN:712,parseRPCError +FN:721,(anonymous_51) +FN:725,(anonymous_52) +FN:726,(anonymous_53) +FN:726,(anonymous_54) +FN:727,(anonymous_55) +FN:728,(anonymous_56) +FN:728,(anonymous_57) +FNF:34 +FNH:9 +FNDA:1,(anonymous_9) +FNDA:1,performPostRequest +FNDA:0,forgeOperations +FNDA:0,(anonymous_12) +FNDA:1,forgeOperationsRemotely +FNDA:1,(anonymous_15) +FNDA:0,preapplyOperation +FNDA:0,injectOperation +FNDA:3,sendOperation +FNDA:0,queueOperation +FNDA:0,getQueueStatus +FNDA:2,appendRevealOperation +FNDA:1,(anonymous_26) +FNDA:2,sendTransactionOperation +FNDA:0,sendDelegationOperation +FNDA:0,sendUndelegationOperation +FNDA:0,sendContractOriginationOperation +FNDA:0,constructContractOriginationOperation +FNDA:0,sendContractInvocationOperation +FNDA:0,constructContractInvocationOperation +FNDA:0,sendContractPing +FNDA:0,sendKeyRevealOperation +FNDA:1,sendIdentityActivationOperation +FNDA:0,testContractInvocationOperation +FNDA:0,testContractDeployOperation +FNDA:0,estimateOperation +FNDA:0,parseRPCError +FNDA:0,(anonymous_51) +FNDA:0,(anonymous_52) +FNDA:0,(anonymous_53) +FNDA:0,(anonymous_54) +FNDA:0,(anonymous_55) +FNDA:0,(anonymous_56) +FNDA:0,(anonymous_57) +DA:1,1 +DA:4,1 +DA:5,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:14,1 +DA:15,1 +DA:17,1 +DA:18,1 +DA:20,1 +DA:25,1 +DA:35,1 +DA:36,1 +DA:38,1 +DA:40,1 +DA:52,1 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:79,1 +DA:80,1 +DA:81,1 +DA:82,1 +DA:83,1 +DA:86,1 +DA:87,1 +DA:89,1 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:108,1 +DA:121,1 +DA:122,0 +DA:129,0 +DA:130,0 +DA:133,0 +DA:134,0 +DA:136,0 +DA:138,0 +DA:139,0 +DA:142,0 +DA:144,0 +DA:154,1 +DA:155,0 +DA:156,0 +DA:158,0 +DA:160,0 +DA:172,1 +DA:173,3 +DA:174,0 +DA:176,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:184,0 +DA:194,1 +DA:195,0 +DA:197,0 +DA:198,0 +DA:201,0 +DA:204,1 +DA:205,0 +DA:207,0 +DA:208,0 +DA:211,0 +DA:223,1 +DA:224,2 +DA:225,2 +DA:227,2 +DA:228,1 +DA:238,1 +DA:239,1 +DA:240,1 +DA:243,1 +DA:246,1 +DA:260,1 +DA:261,2 +DA:263,2 +DA:274,2 +DA:276,2 +DA:289,1 +DA:290,0 +DA:292,0 +DA:301,0 +DA:303,0 +DA:316,1 +DA:317,0 +DA:335,1 +DA:349,0 +DA:350,0 +DA:363,0 +DA:364,0 +DA:380,1 +DA:392,0 +DA:393,0 +DA:395,0 +DA:396,0 +DA:397,0 +DA:399,0 +DA:400,0 +DA:401,0 +DA:402,0 +DA:403,0 +DA:406,0 +DA:434,1 +DA:448,0 +DA:450,0 +DA:451,0 +DA:452,0 +DA:459,1 +DA:471,0 +DA:482,0 +DA:483,0 +DA:484,0 +DA:485,0 +DA:486,0 +DA:487,0 +DA:488,0 +DA:489,0 +DA:490,0 +DA:492,0 +DA:493,0 +DA:496,0 +DA:510,1 +DA:511,0 +DA:523,1 +DA:524,0 +DA:526,0 +DA:535,0 +DA:537,0 +DA:548,1 +DA:549,1 +DA:551,1 +DA:570,1 +DA:583,0 +DA:584,0 +DA:597,0 +DA:616,1 +DA:629,0 +DA:630,0 +DA:643,0 +DA:646,0 +DA:647,0 +DA:665,1 +DA:670,0 +DA:671,0 +DA:672,0 +DA:674,0 +DA:675,0 +DA:677,0 +DA:679,0 +DA:681,0 +DA:682,0 +DA:683,0 +DA:685,0 +DA:686,0 +DA:687,0 +DA:691,0 +DA:692,0 +DA:693,0 +DA:695,0 +DA:696,0 +DA:697,0 +DA:698,0 +DA:702,0 +DA:713,0 +DA:715,0 +DA:716,0 +DA:717,0 +DA:719,0 +DA:721,0 +DA:722,0 +DA:725,0 +DA:726,0 +DA:727,0 +DA:728,0 +DA:732,0 +DA:733,0 +DA:735,0 +DA:736,0 +DA:739,0 +DA:744,0 +DA:745,0 +DA:746,0 +LF:206 +LH:74 +BRDA:34,0,0,0 +BRDA:71,1,0,1 +BRDA:83,2,0,1 +BRDA:83,2,1,0 +BRDA:86,3,0,1 +BRDA:86,3,1,0 +BRDA:92,4,0,1 +BRDA:92,4,1,0 +BRDA:93,5,0,0 +BRDA:93,5,1,1 +BRDA:93,6,0,1 +BRDA:93,6,1,1 +BRDA:93,6,2,1 +BRDA:93,6,3,1 +BRDA:96,7,0,0 +BRDA:96,7,1,0 +BRDA:97,8,0,0 +BRDA:97,8,1,0 +BRDA:97,9,0,0 +BRDA:97,9,1,0 +BRDA:97,9,2,0 +BRDA:100,10,0,0 +BRDA:100,10,1,0 +BRDA:101,11,0,0 +BRDA:101,11,1,0 +BRDA:101,12,0,0 +BRDA:101,12,1,0 +BRDA:101,12,2,0 +BRDA:101,12,3,0 +BRDA:101,12,4,0 +BRDA:101,12,5,0 +BRDA:101,12,6,0 +BRDA:121,13,0,0 +BRDA:154,14,0,0 +BRDA:172,15,0,1 +BRDA:194,16,0,0 +BRDA:197,17,0,0 +BRDA:197,17,1,0 +BRDA:207,18,0,0 +BRDA:207,18,1,0 +BRDA:227,19,0,1 +BRDA:227,19,1,1 +BRDA:260,20,0,2 +BRDA:289,21,0,0 +BRDA:289,22,0,0 +BRDA:316,23,0,0 +BRDA:316,24,0,0 +BRDA:346,25,0,0 +BRDA:347,26,0,0 +BRDA:395,27,0,0 +BRDA:395,27,1,0 +BRDA:401,28,0,0 +BRDA:401,28,1,0 +BRDA:445,29,0,0 +BRDA:446,30,0,0 +BRDA:469,31,0,0 +BRDA:482,32,0,0 +BRDA:482,32,1,0 +BRDA:483,33,0,0 +BRDA:483,33,1,0 +BRDA:485,34,0,0 +BRDA:485,34,1,0 +BRDA:486,35,0,0 +BRDA:486,35,1,0 +BRDA:487,36,0,0 +BRDA:487,36,1,0 +BRDA:488,37,0,0 +BRDA:488,37,1,0 +BRDA:490,38,0,0 +BRDA:490,38,1,0 +BRDA:492,39,0,0 +BRDA:492,39,1,0 +BRDA:523,40,0,0 +BRDA:523,41,0,0 +BRDA:581,42,0,0 +BRDA:627,43,0,0 +BRDA:686,44,0,0 +BRDA:686,44,1,0 +BRDA:687,45,0,0 +BRDA:687,45,1,0 +BRDA:692,46,0,0 +BRDA:692,46,1,0 +BRDA:697,47,0,0 +BRDA:697,47,1,0 +BRDA:698,48,0,0 +BRDA:698,48,1,0 +BRDA:717,49,0,0 +BRDA:717,49,1,0 +BRDA:719,50,0,0 +BRDA:719,50,1,0 +BRDA:722,51,0,0 +BRDA:722,51,1,0 +BRDA:722,52,0,0 +BRDA:722,52,1,0 +BRDA:722,52,2,0 +BRDA:732,53,0,0 +BRDA:732,53,1,0 +BRDA:736,54,0,0 +BRDA:736,54,1,0 +BRDA:736,55,0,0 +BRDA:736,55,1,0 +BRDA:744,56,0,0 +BRDA:744,56,1,0 +BRDA:25,57,0,1 +BRDA:25,57,1,1 +BRF:105 +BRH:15 +end_of_record +TN: +SF:src/chain/tezos/TezosOperationQueue.ts +FN:22,(anonymous_8) +FN:38,(anonymous_9) +FN:45,(anonymous_10) +FN:48,(anonymous_11) +FN:51,(anonymous_12) +FN:57,(anonymous_13) +FN:61,(anonymous_14) +FN:74,(anonymous_16) +FNF:8 +FNH:0 +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_16) +DA:2,1 +DA:4,1 +DA:5,1 +DA:7,1 +DA:8,1 +DA:13,1 +DA:20,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:39,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:51,0 +DA:58,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:77,0 +DA:78,0 +DA:80,0 +LF:31 +LH:6 +BRDA:38,0,0,0 +BRDA:46,1,0,0 +BRDA:46,1,1,0 +BRDA:68,2,0,0 +BRDA:68,2,1,0 +BRDA:72,3,0,0 +BRDA:72,3,1,0 +BRF:7 +BRH:0 +end_of_record +TN: +SF:src/chain/tezos/contracts/BabylonDelegationHelper.ts +FN:10,(anonymous_8) +FN:17,verifyDestination +FN:26,verifyScript +FN:30,getSimpleStorage +FN:45,setDelegate +FN:64,unSetDelegate +FN:85,withdrawDelegatedFunds +FN:100,sendDelegatedFunds +FN:124,depositDelegatedFunds +FN:128,deployManagerContract +FNF:10 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,verifyScript +FNDA:0,getSimpleStorage +FNDA:0,setDelegate +FNDA:0,unSetDelegate +FNDA:0,withdrawDelegatedFunds +FNDA:0,sendDelegatedFunds +FNDA:0,depositDelegatedFunds +FNDA:0,deployManagerContract +DA:1,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:10,1 +DA:17,1 +DA:18,0 +DA:26,1 +DA:27,0 +DA:30,1 +DA:31,0 +DA:33,0 +DA:45,1 +DA:46,0 +DA:48,0 +DA:50,0 +DA:52,0 +DA:64,1 +DA:65,0 +DA:67,0 +DA:69,0 +DA:71,0 +DA:85,1 +DA:86,0 +DA:100,1 +DA:102,0 +DA:111,0 +DA:124,1 +DA:125,0 +DA:128,1 +DA:129,0 +DA:160,0 +DA:162,0 +LF:35 +LH:16 +BRDA:46,0,0,0 +BRDA:46,0,1,0 +BRDA:65,1,0,0 +BRDA:65,1,1,0 +BRDA:10,2,0,1 +BRDA:10,2,1,1 +BRF:6 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/CryptonomicNameServiceHelper.ts +FN:14,(anonymous_8) +FN:21,verifyDestination +FN:25,commitName +FN:56,registerName +FN:86,updateRegistrationPeriod +FN:99,setPrimaryName +FN:112,deleteName +FN:125,getNameForAddress +FN:143,getNameInfo +FN:163,getSimpleStorage +FNF:10 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,commitName +FNDA:0,registerName +FNDA:0,updateRegistrationPeriod +FNDA:0,setPrimaryName +FNDA:0,deleteName +FNDA:0,getNameForAddress +FNDA:0,getNameInfo +FNDA:0,getSimpleStorage +DA:1,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:14,1 +DA:21,1 +DA:22,0 +DA:25,1 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:37,0 +DA:38,0 +DA:56,1 +DA:57,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:65,0 +DA:66,0 +DA:86,1 +DA:87,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:95,0 +DA:96,0 +DA:99,1 +DA:100,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:108,0 +DA:109,0 +DA:112,1 +DA:113,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:121,0 +DA:122,0 +DA:125,1 +DA:126,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:133,0 +DA:143,1 +DA:144,0 +DA:145,0 +DA:147,0 +DA:163,1 +DA:164,0 +DA:166,0 +LF:66 +LH:17 +BRDA:31,0,0,0 +BRDA:31,0,1,0 +BRDA:31,1,0,0 +BRDA:31,1,1,0 +BRDA:33,2,0,0 +BRDA:33,2,1,0 +BRDA:33,3,0,0 +BRDA:33,3,1,0 +BRDA:34,4,0,0 +BRDA:34,4,1,0 +BRDA:59,5,0,0 +BRDA:59,5,1,0 +BRDA:59,6,0,0 +BRDA:59,6,1,0 +BRDA:61,7,0,0 +BRDA:61,7,1,0 +BRDA:61,8,0,0 +BRDA:61,8,1,0 +BRDA:62,9,0,0 +BRDA:62,9,1,0 +BRDA:89,10,0,0 +BRDA:89,10,1,0 +BRDA:89,11,0,0 +BRDA:89,11,1,0 +BRDA:91,12,0,0 +BRDA:91,12,1,0 +BRDA:91,13,0,0 +BRDA:91,13,1,0 +BRDA:92,14,0,0 +BRDA:92,14,1,0 +BRDA:102,15,0,0 +BRDA:102,15,1,0 +BRDA:102,16,0,0 +BRDA:102,16,1,0 +BRDA:104,17,0,0 +BRDA:104,17,1,0 +BRDA:104,18,0,0 +BRDA:104,18,1,0 +BRDA:105,19,0,0 +BRDA:105,19,1,0 +BRDA:115,20,0,0 +BRDA:115,20,1,0 +BRDA:115,21,0,0 +BRDA:115,21,1,0 +BRDA:117,22,0,0 +BRDA:117,22,1,0 +BRDA:117,23,0,0 +BRDA:117,23,1,0 +BRDA:118,24,0,0 +BRDA:118,24,1,0 +BRDA:14,25,0,1 +BRDA:14,25,1,1 +BRF:52 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/DexterTokenHelper.ts +FN:10,(anonymous_8) +FN:17,verifyDestination +FN:35,getBasicStorage +FN:54,getAddressRecord +FN:72,deployContract +FNF:5 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,getBasicStorage +FNDA:0,getAddressRecord +FNDA:0,deployContract +DA:1,1 +DA:2,1 +DA:4,1 +DA:5,1 +DA:10,1 +DA:17,1 +DA:18,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:35,1 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:54,1 +DA:55,0 +DA:56,0 +DA:58,0 +DA:60,0 +DA:72,1 +LF:23 +LH:9 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRDA:24,1,0,0 +BRDA:24,1,1,0 +BRDA:58,2,0,0 +BRDA:58,2,1,0 +BRDA:10,3,0,1 +BRDA:10,3,1,1 +BRF:8 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/MurbardMultisigHelper.ts +FN:10,(anonymous_8) +FN:17,verifyDestination +FN:34,verifyScript +FN:42,getSimpleStorage +FN:56,deployContract +FN:115,clearRPCOperationGroupHash +FNF:6 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,verifyScript +FNDA:0,getSimpleStorage +FNDA:0,deployContract +FNDA:0,clearRPCOperationGroupHash +DA:1,1 +DA:2,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:8,1 +DA:10,1 +DA:17,1 +DA:18,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:34,1 +DA:35,0 +DA:37,0 +DA:39,0 +DA:42,1 +DA:43,0 +DA:45,0 +DA:56,1 +DA:57,0 +DA:59,0 +DA:109,0 +DA:111,0 +DA:112,0 +DA:116,0 +LF:27 +LH:11 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRDA:24,1,0,0 +BRDA:24,1,1,0 +BRDA:37,2,0,0 +BRDA:37,2,1,0 +BRDA:57,3,0,0 +BRDA:57,3,1,0 +BRDA:10,4,0,1 +BRDA:10,4,1,1 +BRF:10 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/StakerDAOTokenHelper.ts +FN:12,(anonymous_8) +FN:20,verifyDestination +FN:29,verifyScript +FN:33,getAccountBalance +FN:48,getSimpleStorage +FN:64,transferBalance +FNF:6 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,verifyScript +FNDA:0,getAccountBalance +FNDA:0,getSimpleStorage +FNDA:0,transferBalance +DA:1,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:12,1 +DA:20,1 +DA:21,0 +DA:29,1 +DA:30,0 +DA:33,1 +DA:34,0 +DA:35,0 +DA:37,0 +DA:39,0 +DA:48,1 +DA:49,0 +DA:51,0 +DA:64,1 +DA:65,0 +DA:67,0 +DA:69,0 +LF:23 +LH:12 +BRDA:37,0,0,0 +BRDA:37,0,1,0 +BRDA:12,1,0,1 +BRDA:12,1,1,1 +BRF:4 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/TCFBakerRegistryHelper.ts +FN:12,(anonymous_8) +FN:19,verifyDestination +FN:37,getSimpleStorage +FN:59,updateRegistration +FN:70,queryRegistration +FNF:5 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,getSimpleStorage +FNDA:0,updateRegistration +FNDA:0,queryRegistration +DA:1,1 +DA:2,1 +DA:4,1 +DA:5,1 +DA:12,1 +DA:19,1 +DA:20,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:37,1 +DA:38,0 +DA:40,0 +DA:59,1 +DA:70,1 +DA:71,0 +DA:72,0 +DA:74,0 +DA:76,0 +DA:78,0 +DA:80,0 +LF:22 +LH:9 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:26,1,0,0 +BRDA:26,1,1,0 +BRDA:74,2,0,0 +BRDA:74,2,1,0 +BRDA:12,3,0,1 +BRDA:12,3,1,1 +BRF:8 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/TezosContractUtils.ts +FN:9,(anonymous_8) +FN:17,verifyDestination +FN:34,verifyScript +FN:42,clearRPCOperationGroupHash +FNF:4 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,verifyScript +FNDA:0,clearRPCOperationGroupHash +DA:1,1 +DA:3,1 +DA:4,1 +DA:9,1 +DA:17,1 +DA:18,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:34,1 +DA:35,0 +DA:37,0 +DA:39,0 +DA:42,1 +DA:43,0 +LF:16 +LH:7 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRDA:24,1,0,0 +BRDA:24,1,1,0 +BRDA:37,2,0,0 +BRDA:37,2,1,0 +BRDA:9,3,0,1 +BRDA:9,3,1,1 +BRF:8 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/TzbtcTokenHelper.ts +FN:14,(anonymous_8) +FN:21,verifyDestination +FN:30,verifyScript +FN:41,getAccountBalance +FN:53,getOperatorList +FN:70,getTokenMetadata +FN:77,getSimpleStorage +FN:86,transferBalance +FN:95,approveBalance +FN:103,mintBalance +FN:111,addOperator +FN:119,queryMap +FNF:12 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,verifyScript +FNDA:0,getAccountBalance +FNDA:0,getOperatorList +FNDA:0,getTokenMetadata +FNDA:0,getSimpleStorage +FNDA:0,transferBalance +FNDA:0,approveBalance +FNDA:0,mintBalance +FNDA:0,addOperator +FNDA:0,queryMap +DA:1,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:14,1 +DA:21,1 +DA:22,0 +DA:30,1 +DA:31,0 +DA:41,1 +DA:42,0 +DA:44,0 +DA:53,1 +DA:54,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:61,0 +DA:70,1 +DA:71,0 +DA:77,1 +DA:78,0 +DA:80,0 +DA:86,1 +DA:88,0 +DA:90,0 +DA:92,0 +DA:95,1 +DA:96,0 +DA:98,0 +DA:100,0 +DA:103,1 +DA:104,0 +DA:106,0 +DA:108,0 +DA:111,1 +DA:112,0 +DA:114,0 +DA:116,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:125,0 +DA:126,0 +DA:127,0 +LF:49 +LH:18 +BRDA:86,0,0,0 +BRDA:86,1,0,0 +BRDA:95,2,0,0 +BRDA:95,3,0,0 +BRDA:103,4,0,0 +BRDA:103,5,0,0 +BRDA:111,6,0,0 +BRDA:111,7,0,0 +BRDA:125,8,0,0 +BRDA:125,8,1,0 +BRDA:14,9,0,1 +BRDA:14,9,1,1 +BRF:12 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/Tzip7ReferenceTokenHelper.ts +FN:17,(anonymous_8) +FN:25,verifyDestination +FN:34,verifyScript +FN:38,deployContract +FN:48,getAccountBalance +FN:58,getAccountAllowance +FN:65,(anonymous_18) +FN:70,getSimpleStorage +FN:81,getTokenSupply +FN:87,getAdministrator +FN:93,getPaused +FN:99,transferBalance +FN:107,approveBalance +FN:115,activateLedger +FN:123,deactivateLedger +FN:131,setAdministrator +FN:139,mint +FN:147,burn +FNF:18 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,verifyScript +FNDA:0,deployContract +FNDA:0,getAccountBalance +FNDA:0,getAccountAllowance +FNDA:0,(anonymous_18) +FNDA:0,getSimpleStorage +FNDA:0,getTokenSupply +FNDA:0,getAdministrator +FNDA:0,getPaused +FNDA:0,transferBalance +FNDA:0,approveBalance +FNDA:0,activateLedger +FNDA:0,deactivateLedger +FNDA:0,setAdministrator +FNDA:0,mint +FNDA:0,burn +DA:1,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:17,1 +DA:25,1 +DA:26,0 +DA:34,1 +DA:35,0 +DA:38,1 +DA:39,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:48,1 +DA:49,0 +DA:50,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:58,1 +DA:59,0 +DA:60,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:70,1 +DA:71,0 +DA:73,0 +DA:81,1 +DA:82,0 +DA:84,0 +DA:87,1 +DA:88,0 +DA:90,0 +DA:93,1 +DA:94,0 +DA:96,0 +DA:99,1 +DA:100,0 +DA:102,0 +DA:104,0 +DA:107,1 +DA:108,0 +DA:110,0 +DA:112,0 +DA:115,1 +DA:116,0 +DA:118,0 +DA:120,0 +DA:123,1 +DA:124,0 +DA:126,0 +DA:128,0 +DA:131,1 +DA:132,0 +DA:134,0 +DA:136,0 +DA:139,1 +DA:140,0 +DA:142,0 +DA:144,0 +DA:147,1 +DA:148,0 +DA:150,0 +DA:152,0 +LF:69 +LH:23 +BRDA:38,0,0,0 +BRDA:38,1,0,0 +BRDA:38,2,0,0 +BRDA:38,3,0,0 +BRDA:42,4,0,0 +BRDA:42,4,1,0 +BRDA:52,5,0,0 +BRDA:52,5,1,0 +BRDA:62,6,0,0 +BRDA:62,6,1,0 +BRDA:139,7,0,0 +BRDA:139,8,0,0 +BRDA:17,9,0,1 +BRDA:17,9,1,1 +BRF:14 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/tzip12/MultiAssetTokenHelper.ts +FN:37,(anonymous_8) +FN:45,verifyDestination +FN:54,verifyScript +FN:74,deployContract +FN:89,getSimpleStorage +FN:108,getTokenDefinition +FN:134,activate +FN:153,deactivate +FN:162,changeAdministrator +FN:182,mint +FN:191,transfer +FN:193,(anonymous_28) +FN:200,getAccountBalance +FNF:13 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,verifyScript +FNDA:0,deployContract +FNDA:0,getSimpleStorage +FNDA:0,getTokenDefinition +FNDA:0,activate +FNDA:0,deactivate +FNDA:0,changeAdministrator +FNDA:0,mint +FNDA:0,transfer +FNDA:0,(anonymous_28) +FNDA:0,getAccountBalance +DA:1,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:37,1 +DA:45,1 +DA:46,0 +DA:54,1 +DA:55,0 +DA:74,1 +DA:75,0 +DA:78,0 +DA:80,0 +DA:81,0 +DA:89,1 +DA:90,0 +DA:92,0 +DA:108,1 +DA:109,0 +DA:110,0 +DA:112,0 +DA:114,0 +DA:134,1 +DA:135,0 +DA:136,0 +DA:138,0 +DA:140,0 +DA:153,1 +DA:154,0 +DA:155,0 +DA:157,0 +DA:159,0 +DA:162,1 +DA:163,0 +DA:164,0 +DA:166,0 +DA:168,0 +DA:182,1 +DA:183,0 +DA:184,0 +DA:186,0 +DA:188,0 +DA:191,1 +DA:192,0 +DA:193,0 +DA:195,0 +DA:197,0 +DA:200,1 +DA:201,0 +DA:202,0 +DA:204,0 +DA:206,0 +DA:208,0 +DA:209,0 +LF:56 +LH:18 +BRDA:74,0,0,0 +BRDA:74,1,0,0 +BRDA:74,2,0,0 +BRDA:74,3,0,0 +BRDA:78,4,0,0 +BRDA:78,4,1,0 +BRDA:108,5,0,0 +BRDA:112,6,0,0 +BRDA:112,6,1,0 +BRDA:134,7,0,0 +BRDA:134,8,0,0 +BRDA:153,9,0,0 +BRDA:153,10,0,0 +BRDA:162,11,0,0 +BRDA:162,12,0,0 +BRDA:182,13,0,0 +BRDA:182,14,0,0 +BRDA:191,15,0,0 +BRDA:191,16,0,0 +BRDA:206,17,0,0 +BRDA:206,17,1,0 +BRDA:37,18,0,1 +BRDA:37,18,1,1 +BRF:23 +BRH:2 +end_of_record +TN: +SF:src/chain/tezos/contracts/tzip12/SingleAssetTokenHelper.ts +FN:43,(anonymous_8) +FN:51,verifyDestination +FN:60,verifyScript +FN:80,deployContract +FN:95,getSimpleStorage +FN:115,getTokenDefinition +FN:139,activate +FN:158,deactivate +FN:178,mint +FN:180,(anonymous_24) +FN:204,transfer +FN:206,(anonymous_27) +FN:223,getAccountBalance +FNF:13 +FNH:1 +FNDA:1,(anonymous_8) +FNDA:0,verifyDestination +FNDA:0,verifyScript +FNDA:0,deployContract +FNDA:0,getSimpleStorage +FNDA:0,getTokenDefinition +FNDA:0,activate +FNDA:0,deactivate +FNDA:0,mint +FNDA:0,(anonymous_24) +FNDA:0,transfer +FNDA:0,(anonymous_27) +FNDA:0,getAccountBalance +DA:1,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:7,1 +DA:8,1 +DA:43,1 +DA:51,1 +DA:52,0 +DA:60,1 +DA:61,0 +DA:80,1 +DA:81,0 +DA:84,0 +DA:86,0 +DA:87,0 +DA:95,1 +DA:96,0 +DA:98,0 +DA:115,1 +DA:116,0 +DA:117,0 +DA:119,0 +DA:121,0 +DA:139,1 +DA:140,0 +DA:141,0 +DA:143,0 +DA:145,0 +DA:158,1 +DA:159,0 +DA:160,0 +DA:162,0 +DA:164,0 +DA:178,1 +DA:179,0 +DA:180,0 +DA:182,0 +DA:184,0 +DA:204,1 +DA:205,0 +DA:206,0 +DA:208,0 +DA:210,0 +DA:223,1 +DA:224,0 +DA:225,0 +DA:227,0 +DA:229,0 +DA:230,0 +LF:50 +LH:17 +BRDA:80,0,0,0 +BRDA:80,1,0,0 +BRDA:80,2,0,0 +BRDA:80,3,0,0 +BRDA:84,4,0,0 +BRDA:84,4,1,0 +BRDA:115,5,0,0 +BRDA:119,6,0,0 +BRDA:119,6,1,0 +BRDA:139,7,0,0 +BRDA:139,8,0,0 +BRDA:158,9,0,0 +BRDA:158,10,0,0 +BRDA:178,11,0,0 +BRDA:178,12,0,0 +BRDA:204,13,0,0 +BRDA:204,14,0,0 +BRDA:227,15,0,0 +BRDA:227,15,1,0 +BRDA:43,16,0,1 +BRDA:43,16,1,1 +BRF:21 +BRH:2 +end_of_record +TN: +SF:src/reporting/ConseilDataClient.ts +FN:12,(anonymous_8) +FN:22,executeEntityQuery +FN:31,(anonymous_11) +FN:38,(anonymous_12) +FNF:4 +FNH:4 +FNDA:1,(anonymous_8) +FNDA:16,executeEntityQuery +FNDA:16,(anonymous_11) +FNDA:15,(anonymous_12) +DA:2,1 +DA:3,1 +DA:4,1 +DA:6,1 +DA:7,1 +DA:12,1 +DA:22,1 +DA:23,16 +DA:24,16 +DA:26,16 +DA:32,16 +DA:33,1 +DA:34,1 +DA:36,15 +DA:39,15 +DA:40,15 +DA:42,15 +DA:44,15 +LF:18 +LH:18 +BRDA:32,0,0,1 +BRDA:32,0,1,15 +BRDA:40,1,0,14 +BRDA:40,1,1,1 +BRDA:42,2,0,14 +BRDA:42,2,1,1 +BRDA:12,3,0,1 +BRDA:12,3,1,1 +BRF:8 +BRH:8 +end_of_record +TN: +SF:src/reporting/ConseilMetadataClient.ts +FN:13,(anonymous_8) +FN:14,executeMetadataQuery +FN:19,(anonymous_11) +FN:24,(anonymous_12) +FN:25,(anonymous_13) +FN:36,getPlatforms +FN:48,getNetworks +FN:61,getEntities +FN:75,getAttributes +FN:90,getAttributeValues +FN:106,getAttributeValuesForPrefix +FNF:11 +FNH:11 +FNDA:1,(anonymous_8) +FNDA:7,executeMetadataQuery +FNDA:7,(anonymous_11) +FNDA:7,(anonymous_12) +FNDA:1,(anonymous_13) +FNDA:1,getPlatforms +FNDA:1,getNetworks +FNDA:1,getEntities +FNDA:1,getAttributes +FNDA:1,getAttributeValues +FNDA:2,getAttributeValuesForPrefix +DA:2,1 +DA:4,1 +DA:5,1 +DA:7,1 +DA:8,1 +DA:13,1 +DA:14,1 +DA:15,7 +DA:20,7 +DA:21,7 +DA:24,7 +DA:26,1 +DA:36,1 +DA:37,1 +DA:48,1 +DA:49,1 +DA:61,1 +DA:62,1 +DA:75,1 +DA:76,1 +DA:90,1 +DA:91,1 +DA:106,1 +DA:107,2 +LF:24 +LH:24 +BRDA:20,0,0,0 +BRDA:20,0,1,7 +BRDA:13,1,0,1 +BRDA:13,1,1,1 +BRF:4 +BRH:3 +end_of_record +TN: +SF:src/reporting/ConseilQueryBuilder.ts +FN:3,(anonymous_0) +FN:7,blankQuery +FN:23,addFields +FN:26,(anonymous_3) +FN:42,addPredicate +FN:64,addOrdering +FN:78,setLimit +FN:93,setOutputType +FN:107,addAggregationFunction +FNF:9 +FNH:9 +FNDA:1,(anonymous_0) +FNDA:34,blankQuery +FNDA:3,addFields +FNDA:6,(anonymous_3) +FNDA:17,addPredicate +FNDA:6,addOrdering +FNDA:25,setLimit +FNDA:2,setOutputType +FNDA:2,addAggregationFunction +DA:1,1 +DA:3,1 +DA:7,1 +DA:8,34 +DA:23,1 +DA:24,3 +DA:25,3 +DA:26,6 +DA:27,3 +DA:29,3 +DA:42,1 +DA:43,17 +DA:44,1 +DA:45,16 +DA:46,1 +DA:47,15 +DA:48,1 +DA:51,14 +DA:52,14 +DA:54,14 +DA:64,1 +DA:66,6 +DA:67,6 +DA:69,6 +DA:78,1 +DA:79,25 +DA:81,24 +DA:82,24 +DA:84,24 +DA:93,1 +DA:94,2 +DA:95,2 +DA:97,2 +DA:107,1 +DA:108,2 +DA:110,1 +DA:111,1 +DA:113,1 +LF:38 +LH:38 +BRDA:42,0,0,5 +BRDA:42,1,0,17 +BRDA:43,2,0,1 +BRDA:43,2,1,16 +BRDA:43,3,0,17 +BRDA:43,3,1,1 +BRDA:45,4,0,1 +BRDA:45,4,1,15 +BRDA:45,5,0,16 +BRDA:45,5,1,2 +BRDA:47,6,0,1 +BRDA:47,6,1,14 +BRDA:47,7,0,15 +BRDA:47,7,1,2 +BRDA:47,7,2,1 +BRDA:47,7,3,1 +BRDA:64,8,0,1 +BRDA:79,9,0,1 +BRDA:79,9,1,24 +BRDA:108,10,0,1 +BRDA:108,10,1,1 +BRDA:3,11,0,1 +BRDA:3,11,1,1 +BRF:23 +BRH:23 +end_of_record +TN: +SF:src/reporting/tezos/TezosConseilClient.ts +FN:10,(anonymous_7) +FN:28,getTezosEntityData +FN:38,getBlockHead +FN:52,getBlock +FN:68,getBlockByLevel +FN:82,getAccount +FN:96,getOperationGroup +FN:110,getOperation +FN:126,getBlocks +FN:139,getAccounts +FN:152,getOperationGroups +FN:165,getOperations +FN:176,getFeeStatistics +FN:185,getProposals +FN:189,getBakers +FN:193,getBallots +FN:208,awaitOperationConfirmation +FN:222,(anonymous_40) +FN:239,awaitOperationForkConfirmation +FN:245,(anonymous_43) +FN:251,(anonymous_44) +FN:273,getBigMapData +FN:281,(anonymous_47) +FN:284,(anonymous_48) +FN:292,(anonymous_49) +FN:312,getBigMapValueForKey +FN:348,fastBlockContinuity +FN:350,(anonymous_53) +FN:350,(anonymous_54) +FN:378,slowBlockContinuity +FN:388,getEntityQueryForId +FNF:31 +FNH:16 +FNDA:1,(anonymous_7) +FNDA:16,getTezosEntityData +FNDA:1,getBlockHead +FNDA:2,getBlock +FNDA:1,getBlockByLevel +FNDA:2,getAccount +FNDA:1,getOperationGroup +FNDA:0,getOperation +FNDA:1,getBlocks +FNDA:1,getAccounts +FNDA:1,getOperationGroups +FNDA:2,getOperations +FNDA:1,getFeeStatistics +FNDA:1,getProposals +FNDA:1,getBakers +FNDA:1,getBallots +FNDA:0,awaitOperationConfirmation +FNDA:0,(anonymous_40) +FNDA:0,awaitOperationForkConfirmation +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,getBigMapData +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:0,getBigMapValueForKey +FNDA:0,fastBlockContinuity +FNDA:0,(anonymous_53) +FNDA:0,(anonymous_54) +FNDA:0,slowBlockContinuity +FNDA:6,getEntityQueryForId +DA:1,1 +DA:2,1 +DA:3,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:28,1 +DA:29,16 +DA:38,1 +DA:39,1 +DA:41,1 +DA:42,1 +DA:52,1 +DA:53,2 +DA:55,2 +DA:57,2 +DA:58,1 +DA:68,1 +DA:69,1 +DA:71,1 +DA:72,1 +DA:82,1 +DA:83,2 +DA:85,2 +DA:86,2 +DA:96,1 +DA:97,1 +DA:99,1 +DA:100,1 +DA:110,1 +DA:111,0 +DA:113,0 +DA:114,0 +DA:126,1 +DA:127,1 +DA:139,1 +DA:140,1 +DA:152,1 +DA:153,1 +DA:165,1 +DA:166,2 +DA:176,1 +DA:177,1 +DA:178,1 +DA:179,1 +DA:180,1 +DA:182,1 +DA:185,1 +DA:186,1 +DA:189,1 +DA:190,1 +DA:193,1 +DA:194,1 +DA:208,1 +DA:209,0 +DA:210,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:225,0 +DA:239,1 +DA:240,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:245,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:251,0 +DA:254,0 +DA:255,0 +DA:256,0 +DA:257,0 +DA:258,0 +DA:260,0 +DA:261,0 +DA:263,0 +DA:273,1 +DA:274,0 +DA:276,0 +DA:277,0 +DA:279,0 +DA:281,0 +DA:282,0 +DA:284,0 +DA:285,0 +DA:287,0 +DA:288,0 +DA:289,0 +DA:291,0 +DA:292,0 +DA:293,0 +DA:296,0 +DA:299,0 +DA:312,1 +DA:313,0 +DA:314,0 +DA:315,0 +DA:317,0 +DA:318,0 +DA:319,0 +DA:320,0 +DA:321,0 +DA:323,0 +DA:325,0 +DA:326,0 +DA:329,0 +DA:330,0 +DA:331,0 +DA:332,0 +DA:333,0 +DA:335,0 +DA:337,0 +DA:349,0 +DA:350,0 +DA:351,0 +DA:353,0 +DA:354,0 +DA:357,0 +DA:358,0 +DA:363,0 +DA:364,0 +DA:368,0 +DA:379,0 +DA:388,1 +DA:389,6 +DA:391,6 +DA:392,2 +DA:393,2 +DA:395,1 +DA:396,4 +DA:397,4 +DA:399,4 +DA:400,1 +DA:401,3 +DA:402,1 +DA:403,2 +DA:404,1 +DA:405,1 +DA:409,1 +LF:156 +LH:76 +BRDA:53,0,0,0 +BRDA:53,0,1,2 +BRDA:208,1,0,0 +BRDA:209,2,0,0 +BRDA:209,2,1,0 +BRDA:219,3,0,0 +BRDA:219,3,1,0 +BRDA:221,4,0,0 +BRDA:221,4,1,0 +BRDA:225,5,0,0 +BRDA:225,5,1,0 +BRDA:250,6,0,0 +BRDA:250,6,1,0 +BRDA:260,7,0,0 +BRDA:260,7,1,0 +BRDA:274,8,0,0 +BRDA:274,8,1,0 +BRDA:279,9,0,0 +BRDA:279,9,1,0 +BRDA:281,10,0,0 +BRDA:281,10,1,0 +BRDA:284,11,0,0 +BRDA:284,11,1,0 +BRDA:312,12,0,0 +BRDA:312,13,0,0 +BRDA:313,14,0,0 +BRDA:313,14,1,0 +BRDA:314,15,0,0 +BRDA:314,15,1,0 +BRDA:315,16,0,0 +BRDA:315,16,1,0 +BRDA:315,17,0,0 +BRDA:315,17,1,0 +BRDA:317,18,0,0 +BRDA:317,18,1,0 +BRDA:317,19,0,0 +BRDA:317,19,1,0 +BRDA:325,20,0,0 +BRDA:325,20,1,0 +BRDA:335,21,0,0 +BRDA:335,21,1,0 +BRDA:351,22,0,0 +BRDA:351,22,1,0 +BRDA:353,23,0,0 +BRDA:353,23,1,0 +BRDA:357,24,0,0 +BRDA:357,24,1,0 +BRDA:358,25,0,0 +BRDA:358,25,1,0 +BRDA:358,25,2,0 +BRDA:358,25,3,0 +BRDA:363,26,0,0 +BRDA:363,26,1,0 +BRDA:391,27,0,2 +BRDA:391,27,1,4 +BRDA:393,28,0,1 +BRDA:393,28,1,1 +BRDA:396,29,0,4 +BRDA:396,29,1,0 +BRDA:399,30,0,1 +BRDA:399,30,1,3 +BRDA:399,31,0,4 +BRDA:399,31,1,4 +BRDA:399,31,2,4 +BRDA:399,31,3,3 +BRDA:401,32,0,1 +BRDA:401,32,1,2 +BRDA:403,33,0,1 +BRDA:403,33,1,1 +BRDA:10,34,0,1 +BRDA:10,34,1,1 +BRF:71 +BRH:18 +end_of_record +TN: +SF:src/types/ErrorTypes.ts +FN:11,(anonymous_0) +FN:31,(anonymous_1) +FNF:2 +FNH:2 +FNDA:2,(anonymous_0) +FNDA:1,(anonymous_1) +DA:5,1 +DA:12,2 +DA:14,2 +DA:15,2 +DA:16,2 +DA:17,2 +DA:24,1 +DA:32,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +LF:13 +LH:13 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/ExternalInterfaces.ts +FN:1,(anonymous_0) +FN:24,(anonymous_1) +FN:30,(anonymous_2) +FNF:3 +FNH:3 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +LF:12 +LH:12 +BRDA:1,0,0,1 +BRDA:1,0,1,1 +BRDA:24,1,0,1 +BRDA:24,1,1,1 +BRDA:30,2,0,1 +BRDA:30,2,1,1 +BRF:6 +BRH:6 +end_of_record +TN: +SF:src/types/conseil/ConseilErrorTypes.ts +FN:10,(anonymous_0) +FN:16,(anonymous_1) +FN:27,(anonymous_2) +FNF:3 +FNH:3 +FNDA:2,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +DA:1,1 +DA:7,1 +DA:11,2 +DA:13,2 +DA:17,1 +DA:24,1 +DA:28,1 +DA:30,1 +LF:8 +LH:8 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/types/conseil/MetadataTypes.ts +FN:59,(anonymous_0) +FN:70,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +LF:13 +LH:13 +BRDA:59,0,0,1 +BRDA:59,0,1,1 +BRDA:70,1,0,1 +BRDA:70,1,1,1 +BRF:4 +BRH:4 +end_of_record +TN: +SF:src/types/conseil/QueryTypes.ts +FN:7,(anonymous_0) +FN:12,(anonymous_1) +FN:26,(anonymous_2) +FN:34,(anonymous_3) +FNF:4 +FNH:4 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:1,(anonymous_3) +DA:7,1 +DA:8,1 +DA:9,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:34,1 +DA:35,1 +DA:36,1 +LF:24 +LH:24 +BRDA:7,0,0,1 +BRDA:7,0,1,1 +BRDA:12,1,0,1 +BRDA:12,1,1,1 +BRDA:26,2,0,1 +BRDA:26,2,1,1 +BRDA:34,3,0,1 +BRDA:34,3,1,1 +BRF:8 +BRH:8 +end_of_record +TN: +SF:src/types/tezos/TezosChainTypes.ts +FN:44,(anonymous_0) +FN:58,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,1 +DA:54,1 +DA:55,1 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +LF:16 +LH:16 +BRDA:44,0,0,1 +BRDA:44,0,1,1 +BRDA:58,1,0,1 +BRDA:58,1,1,1 +BRF:4 +BRH:4 +end_of_record +TN: +SF:src/types/tezos/TezosConstants.ts +FN:1,(anonymous_0) +FNF:1 +FNH:1 +FNDA:1,(anonymous_0) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:19,1 +DA:24,1 +LF:16 +LH:16 +BRDA:1,0,0,1 +BRDA:1,0,1,1 +BRF:2 +BRH:2 +end_of_record +TN: +SF:src/types/tezos/TezosErrorTypes.ts +FN:9,(anonymous_0) +FN:15,(anonymous_1) +FN:27,(anonymous_2) +FN:38,(anonymous_3) +FNF:4 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:1,(anonymous_3) +DA:1,1 +DA:6,1 +DA:10,0 +DA:12,0 +DA:16,0 +DA:23,1 +DA:28,0 +DA:30,0 +DA:31,0 +DA:38,1 +DA:42,1 +DA:46,1 +DA:52,1 +LF:13 +LH:7 +BRDA:38,0,0,1 +BRDA:38,0,1,1 +BRF:2 +BRH:2 +end_of_record +TN: +SF:src/types/tezos/TezosP2PMessageTypes.ts +FN:19,(anonymous_0) +FNF:1 +FNH:1 +FNDA:1,(anonymous_0) +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +LF:4 +LH:4 +BRDA:19,0,0,1 +BRDA:19,0,1,1 +BRF:2 +BRH:2 +end_of_record +TN: +SF:src/utils/FetchSelector.ts +FN:10,(anonymous_0) +FN:14,(anonymous_1) +FNF:2 +FNH:2 +FNDA:5,(anonymous_0) +FNDA:41,(anonymous_1) +DA:7,1 +DA:11,5 +DA:14,41 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/LoggerSelector.ts +FN:7,(anonymous_0) +FNF:1 +FNH:1 +FNDA:4,(anonymous_0) +DA:4,1 +DA:5,1 +DA:8,4 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record diff --git a/package-lock.json b/package-lock.json index 249b7619..6e127938 100644 --- a/package-lock.json +++ b/package-lock.json @@ -313,15 +313,15 @@ } }, "@types/chai": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.11.tgz", - "integrity": "sha512-t7uW6eFafjO+qJ3BIV2gGUyZs27egcNRkUdalkud+Qa3+kg//f129iuOFivHDXQ+vnU3fDXuwgv0cqMCbcE8sw==", + "version": "4.2.12", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.12.tgz", + "integrity": "sha512-aN5IAC8QNtSUdQzxu7lGBgYAOuU1tmRU4c9dIq5OKGf/SBVjXo+ffM2wEjudAWbgpOhy60nLoAGH1xm8fpCKFQ==", "dev": true }, "@types/chai-as-promised": { - "version": "7.1.2", - "resolved": false, - "integrity": "sha512-PO2gcfR3Oxa+u0QvECLe1xKXOqYTzCmWf0FhLhjREoW3fPAVamjihL7v1MOVLJLsnAMdLcjkfrs01yvDMwVK4Q==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz", + "integrity": "sha512-FQnh1ohPXJELpKhzjuDkPLR2BZCAqed+a6xV4MI/T3XzHfd2FlarfUGUdZYgqYe8oxkYn0fchHEeHfHqdZ96sg==", "dev": true, "requires": { "@types/chai": "*" @@ -352,9 +352,9 @@ "dev": true }, "@types/mocha": { - "version": "7.0.2", - "resolved": false, - "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.0.tgz", + "integrity": "sha512-jWeYcTo3sCH/rMgsdYXDTO85GNRyTCII5dayMIu/ZO4zbEot1E3iNGaOwpLReLUHjeNQFkgeNNVYlY4dX6azQQ==", "dev": true }, "@types/nock": { @@ -383,12 +383,13 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.2.0.tgz", - "integrity": "sha512-t9RTk/GyYilIXt6BmZurhBzuMT9kLKw3fQoJtK9ayv0tXTlznXEAnx07sCLXdkN3/tZDep1s1CEV95CWuARYWA==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.7.1.tgz", + "integrity": "sha512-3DB9JDYkMrc8Au00rGFiJLK2Ja9CoMP6Ut0sHsXp3ZtSugjNxvSSHTnKLfo4o+QmjYBJqEznDqsG1zj4F2xnsg==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "3.2.0", + "@typescript-eslint/experimental-utils": "3.7.1", + "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", "semver": "^7.3.2", @@ -404,37 +405,46 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.2.0.tgz", - "integrity": "sha512-UbJBsk+xO9dIFKtj16+m42EvUvsjZbbgQ2O5xSTSfVT1Z3yGkL90DVu0Hd3029FZ5/uBgl+F3Vo8FAcEcqc6aQ==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.7.1.tgz", + "integrity": "sha512-TqE97pv7HrqWcGJbLbZt1v59tcqsSVpWTOf1AqrWK7n8nok2sGgVtYRuGXeNeLw3wXlLEbY1MKP3saB2HsO/Ng==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "3.2.0", + "@typescript-eslint/types": "3.7.1", + "@typescript-eslint/typescript-estree": "3.7.1", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.2.0.tgz", - "integrity": "sha512-Vhu+wwdevDLVDjK1lIcoD6ZbuOa93fzqszkaO3iCnmrScmKwyW/AGkzc2UvfE5TCoCXqq7Jyt6SOXjsIlpqF4A==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.7.1.tgz", + "integrity": "sha512-W4QV/gXvfIsccN8225784LNOorcm7ch68Fi3V4Wg7gmkWSQRKevO4RrRqWo6N/Z/myK1QAiGgeaXN57m+R/8iQ==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "3.2.0", - "@typescript-eslint/typescript-estree": "3.2.0", + "@typescript-eslint/experimental-utils": "3.7.1", + "@typescript-eslint/types": "3.7.1", + "@typescript-eslint/typescript-estree": "3.7.1", "eslint-visitor-keys": "^1.1.0" } }, + "@typescript-eslint/types": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.7.1.tgz", + "integrity": "sha512-PZe8twm5Z4b61jt7GAQDor6KiMhgPgf4XmUb9zdrwTbgtC/Sj29gXP1dws9yEn4+aJeyXrjsD9XN7AWFhmnUfg==", + "dev": true + }, "@typescript-eslint/typescript-estree": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.2.0.tgz", - "integrity": "sha512-uh+Y2QO7dxNrdLw7mVnjUqkwO/InxEqwN0wF+Za6eo3coxls9aH9kQ/5rSvW2GcNanebRTmsT5w1/92lAOb1bA==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.7.1.tgz", + "integrity": "sha512-m97vNZkI08dunYOr2lVZOHoyfpqRs0KDpd6qkGaIcLGhQ2WPtgHOd/eVbsJZ0VYCQvupKrObAGTOvk3tfpybYA==", "dev": true, "requires": { + "@typescript-eslint/types": "3.7.1", + "@typescript-eslint/visitor-keys": "3.7.1", "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", "glob": "^7.1.6", "is-glob": "^4.0.1", "lodash": "^4.17.15", @@ -450,6 +460,15 @@ } } }, + "@typescript-eslint/visitor-keys": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.7.1.tgz", + "integrity": "sha512-xn22sQbEya+Utj2IqJHGLA3i1jDzR43RzWupxojbSWnj3nnPLavaQmWe5utw03CwYao3r00qzXfgJMGNkrzrAA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -678,34 +697,17 @@ "dev": true }, "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true }, "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -722,24 +724,13 @@ } }, "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "append-transform": { @@ -823,6 +814,18 @@ "es-abstract": "^1.17.0-next.1" } }, + "array.prototype.map": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz", + "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.4" + } + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -841,6 +844,14 @@ "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "assert": { @@ -898,7 +909,8 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "dev": true, + "optional": true }, "asynckit": { "version": "0.4.0", @@ -1042,9 +1054,9 @@ "dev": true }, "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, "bindings": { @@ -1089,9 +1101,9 @@ "dev": true }, "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", "dev": true }, "brace-expansion": { @@ -1190,21 +1202,50 @@ "requires": { "bn.js": "^4.1.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "browserify-zlib": { @@ -1264,9 +1305,9 @@ "dev": true }, "cacache": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz", - "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", + "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", "dev": true, "requires": { "@npmcli/move-file": "^1.0.1", @@ -1274,7 +1315,7 @@ "fs-minipass": "^2.0.0", "glob": "^7.1.4", "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", + "lru-cache": "^6.0.0", "minipass": "^3.1.1", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", @@ -1288,12 +1329,6 @@ "unique-filename": "^1.1.1" }, "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -1401,12 +1436,6 @@ "supports-color": "^5.3.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -1414,52 +1443,60 @@ "dev": true }, "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.3.0" }, "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" } } } }, "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true }, "chrome-trace-event": { @@ -1509,21 +1546,6 @@ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -1645,9 +1667,9 @@ "dev": true }, "conseiljs": { - "version": "5.0.3-beta.2", - "resolved": "https://registry.npmjs.org/conseiljs/-/conseiljs-5.0.3-beta.2.tgz", - "integrity": "sha512-ABEf88zgbzyMq0OnM4WwNeJyJvKdKDDkjd20FlIZI8a+WN+IitsmZ2WM7c0SomScca9OuD2kui5LvR9/b1z6Hw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/conseiljs/-/conseiljs-5.0.3.tgz", + "integrity": "sha512-TY6EBDDaGXBDNFOBqZe1HY+yNVNjJI/KLxqesrHzE7GTfxhneUttmXxcCer0KTg3WQSTw3T6ZnDpVXT7grMrkQ==", "dev": true, "requires": { "big-integer": "1.6.48", @@ -1659,13 +1681,13 @@ } }, "conseiljs-softsigner": { - "version": "5.0.3-beta.0", - "resolved": "https://registry.npmjs.org/conseiljs-softsigner/-/conseiljs-softsigner-5.0.3-beta.0.tgz", - "integrity": "sha512-X8NSBG1Up2bzdxV4/24d094owUYP5nXetgNAgChU6zBx4b5bCVXXDcEHuGQcN/FJJE+z95s4nvMi1PQj8UqEmg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/conseiljs-softsigner/-/conseiljs-softsigner-5.0.3.tgz", + "integrity": "sha512-+GOxiAv1wvkGvVuYuGzMdE3pdZ87L/3fpEndHwhK1CwPpPoshAUSTVyh81ch8sIu40uAv8n8g1RYWyB2Npg0Lw==", "dev": true, "requires": { "bip39": "3.0.2", - "conseiljs": "5.0.3-beta.2", + "conseiljs": "5.0.3", "generate-password": "1.5.1", "libsodium-wrappers-sumo": "0.7.6" } @@ -1766,6 +1788,14 @@ "requires": { "bn.js": "^4.1.0", "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "create-hash": { @@ -1795,16 +1825,14 @@ } }, "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "crypto-browserify": { @@ -1991,6 +2019,14 @@ "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "discontinuous-range": { @@ -2036,9 +2072,9 @@ } }, "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -2048,6 +2084,14 @@ "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "emoji-regex": { @@ -2082,6 +2126,15 @@ "tapable": "^1.0.0" } }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -2119,6 +2172,35 @@ "string.prototype.trimright": "^2.1.1" } }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-get-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", + "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", + "dev": true, + "requires": { + "es-abstract": "^1.17.4", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -2175,9 +2257,9 @@ "dev": true }, "eslint": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.2.0.tgz", - "integrity": "sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.5.0.tgz", + "integrity": "sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -2186,10 +2268,11 @@ "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", + "enquirer": "^2.3.5", "eslint-scope": "^5.1.0", - "eslint-utils": "^2.0.0", - "eslint-visitor-keys": "^1.2.0", - "espree": "^7.1.0", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^1.3.0", + "espree": "^7.2.0", "esquery": "^1.2.0", "esutils": "^2.0.2", "file-entry-cache": "^5.0.1", @@ -2199,12 +2282,11 @@ "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.14", + "lodash": "^4.17.19", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -2253,50 +2335,18 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, "semver": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, "supports-color": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", @@ -2305,15 +2355,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, @@ -2329,9 +2370,9 @@ } }, "eslint-import-resolver-node": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", - "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -2383,9 +2424,9 @@ } }, "eslint-plugin-import": { - "version": "2.21.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz", - "integrity": "sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", + "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", "dev": true, "requires": { "array-includes": "^3.1.1", @@ -2441,29 +2482,29 @@ } }, "eslint-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", - "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" } }, "eslint-visitor-keys": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz", - "integrity": "sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true }, "espree": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz", - "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.2.0.tgz", + "integrity": "sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==", "dev": true, "requires": { - "acorn": "^7.2.0", + "acorn": "^7.3.1", "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.2.0" + "eslint-visitor-keys": "^1.3.0" } }, "esprima": { @@ -2511,9 +2552,9 @@ "dev": true }, "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true }, "evp_bytestokey": { @@ -2526,21 +2567,6 @@ "safe-buffer": "^5.1.1" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -2644,17 +2670,6 @@ } } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", @@ -2745,20 +2760,11 @@ "dev": true }, "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, "file-entry-cache": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", @@ -2855,12 +2861,12 @@ } }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^2.0.0" } }, "findup-sync": { @@ -3059,555 +3065,11 @@ "dev": true }, "fsevents": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", - "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "function-bind": { "version": "1.1.1", @@ -3651,15 +3113,6 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -3717,6 +3170,15 @@ "kind-of": "^6.0.2", "which": "^1.3.1" } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -3731,6 +3193,17 @@ "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "globals": { @@ -3888,9 +3361,9 @@ "dev": true }, "highlight.js": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.1.0.tgz", - "integrity": "sha512-e8aO/LUHDoxW4ntyKQf0/T3OtIZPhsfTr8XRuOq+FW5VdWEg/UDAeArzKF/22BaNZp6hPi/Zu/XQlTLOGLix3Q==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.1.2.tgz", + "integrity": "sha512-Q39v/Mn5mfBlMff9r+zzA+gWxRsCRKwEMvYTiisLr/XUiFI/4puWt0Ojdko3R3JCNWGdOWaA5g/Yxqa23kC5AA==", "dev": true }, "hmac-drbg": { @@ -3942,15 +3415,6 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", @@ -3989,6 +3453,34 @@ "resolve-cwd": "^2.0.0" }, "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -4039,89 +3531,10 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, "is-accessor-descriptor": { @@ -4144,6 +3557,12 @@ } } }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -4151,12 +3570,12 @@ "dev": true }, "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" } }, "is-buffer": { @@ -4243,6 +3662,12 @@ "is-extglob": "^2.1.1" } }, + "is-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", + "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -4281,10 +3706,10 @@ "has-symbols": "^1.0.1" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "is-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", + "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", "dev": true }, "is-string": { @@ -4509,10 +3934,26 @@ "istanbul-lib-report": "^3.0.0" } }, + "iterate-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", + "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==", + "dev": true + }, + "iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "dev": true, + "requires": { + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" + } + }, "jest-worker": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.0.0.tgz", - "integrity": "sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw==", + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz", + "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==", "dev": true, "requires": { "merge-stream": "^2.0.0", @@ -4635,15 +4076,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "lcov-parse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", @@ -4705,12 +4137,12 @@ } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^3.0.0", + "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, @@ -4726,6 +4158,12 @@ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "dev": true + }, "log-driver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", @@ -4758,20 +4196,12 @@ } }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "yallist": "^3.0.2" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "yallist": "^4.0.0" } }, "lunr": { @@ -4803,15 +4233,6 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -4843,17 +4264,6 @@ "safe-buffer": "^5.1.2" } }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, "memory-fs": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", @@ -4899,6 +4309,14 @@ "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "mime-db": { @@ -4916,12 +4334,6 @@ "mime-db": "1.44.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -4977,9 +4389,9 @@ } }, "minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, "requires": { "minipass": "^3.0.0" @@ -5044,32 +4456,33 @@ } }, "mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.0.1.tgz", + "integrity": "sha512-vefaXfdYI8+Yo8nPZQQi0QO2o+5q9UIMX1jZ1XMmK3+4+CQjc7+B0hPdUeglXiTlr8IHMVRo63IhO9Mzt6fxOg==", "dev": true, "requires": { - "ansi-colors": "3.2.3", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.3.0", + "chokidar": "3.3.1", "debug": "3.2.6", - "diff": "3.5.0", + "diff": "4.0.2", "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "find-up": "4.1.0", + "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", "js-yaml": "3.13.1", "log-symbols": "3.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", + "ms": "2.1.2", "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", + "promise.allsettled": "1.0.2", + "serialize-javascript": "3.0.0", + "strip-json-comments": "3.0.1", + "supports-color": "7.1.0", + "which": "2.0.2", "wide-align": "1.1.3", + "workerpool": "6.0.0", "yargs": "13.3.2", "yargs-parser": "13.1.2", "yargs-unparser": "1.6.0" @@ -5081,47 +4494,6 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - } - }, "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", @@ -5131,50 +4503,21 @@ "ms": "^2.1.1" } }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -5182,12 +4525,6 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", @@ -5198,6 +4535,15 @@ "esprima": "^4.0.0" } }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, "log-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", @@ -5207,21 +4553,21 @@ "chalk": "^2.4.2" } }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "picomatch": "^2.0.4" + "p-limit": "^2.2.0" } }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -5243,27 +4589,18 @@ } }, "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", "dev": true }, "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "is-number": "^7.0.0" + "has-flag": "^4.0.0" } }, "yargs": { @@ -5282,6 +4619,42 @@ "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^13.1.2" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } } } } @@ -5311,16 +4684,10 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", "dev": true, "optional": true }, @@ -5380,27 +4747,17 @@ "dev": true }, "nock": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-12.0.3.tgz", - "integrity": "sha512-QNb/j8kbFnKCiyqi9C5DD0jH/FubFGj5rt9NQFONXwQm3IPB0CULECg/eS3AU1KgZb/6SwUa4/DTRKhVxkGABw==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.3.tgz", + "integrity": "sha512-hDscKS5chEfyEiF8J1syz8mkkH6Wetp04ECAAPNdL5k6e6WmRgx9FZZNnCrjePNdykgiiPXORBcXbNmMzFOP5w==", "dev": true, "requires": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.13", + "lodash.set": "^4.3.2", "propagate": "^2.0.0" } }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, "node-fetch": { "version": "2.6.0", "resolved": false, @@ -5509,15 +4866,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, "nyc": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", @@ -5691,16 +5039,6 @@ "has": "^1.0.3" } }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -5731,15 +5069,6 @@ "wrappy": "1" } }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -5760,41 +5089,6 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, "p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", @@ -5805,12 +5099,29 @@ } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^1.1.0" + }, + "dependencies": { + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } } }, "p-map": { @@ -5911,7 +5222,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "dev": true, + "optional": true }, "path-exists": { "version": "3.0.0", @@ -5926,9 +5238,9 @@ "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { @@ -5953,9 +5265,9 @@ "dev": true }, "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -5990,51 +5302,6 @@ "dev": true, "requires": { "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } } }, "posix-character-classes": { @@ -6082,6 +5349,19 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "promise.allsettled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", + "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==", + "dev": true, + "requires": { + "array.prototype.map": "^1.0.1", + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "iterate-value": "^1.0.0" + } + }, "propagate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", @@ -6112,6 +5392,14 @@ "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "pump": { @@ -6223,51 +5511,6 @@ "requires": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } } }, "readable-stream": { @@ -6286,14 +5529,12 @@ } }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "picomatch": "^2.0.7" } }, "rechoir": { @@ -6334,7 +5575,8 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "dev": true, + "optional": true }, "repeat-element": { "version": "1.1.3", @@ -6400,24 +5642,24 @@ } }, "request-promise": { - "version": "4.2.5", - "resolved": false, - "integrity": "sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", + "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", "dev": true, "requires": { "bluebird": "^3.5.0", - "request-promise-core": "1.1.3", + "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" } }, "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.19" } }, "require-directory": { @@ -6493,16 +5735,6 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -6526,12 +5758,6 @@ "inherits": "^2.0.1" } }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -6541,15 +5767,6 @@ "aproba": "^1.1.1" } }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -6582,9 +5799,9 @@ }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -6607,9 +5824,9 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz", + "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==", "dev": true }, "set-blocking": { @@ -6657,18 +5874,18 @@ } }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shelljs": { @@ -7136,16 +6353,10 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, "strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { @@ -7223,12 +6434,6 @@ "yallist": "^4.0.0" }, "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -7238,9 +6443,9 @@ } }, "terser": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz", - "integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -7257,35 +6462,35 @@ } }, "terser-webpack-plugin": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz", - "integrity": "sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.8.tgz", + "integrity": "sha512-ygwK8TYMRTYtSyLB2Mhnt90guQh989CIq/mL/2apwi6rA15Xys4ydNUiH4ah6EZCfQxSk26ZFQilZ4IQ6IZw6A==", "dev": true, "requires": { - "cacache": "^15.0.4", + "cacache": "^15.0.5", "find-cache-dir": "^3.3.1", - "jest-worker": "^26.0.0", - "p-limit": "^2.3.0", + "jest-worker": "^26.1.0", + "p-limit": "^3.0.2", "schema-utils": "^2.6.6", - "serialize-javascript": "^3.1.0", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", - "terser": "^4.6.13", + "terser": "^4.8.0", "webpack-sources": "^1.4.3" }, "dependencies": { "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -7296,17 +6501,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "terser": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", - "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } } } }, @@ -7327,12 +6521,6 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -7352,15 +6540,6 @@ "setimmediate": "^1.0.4" } }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -7416,27 +6595,19 @@ } }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "ts-loader": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-7.0.5.tgz", - "integrity": "sha512-zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.0.1.tgz", + "integrity": "sha512-I9Nmly0ufJoZRMuAT9d5ijsC2B7oSPvUnOJt/GhgoATlPGYfa17VicDKPcqwUCrHpOkCxr/ybLYwbnS4cOxmvQ==", "dev": true, "requires": { "chalk": "^2.3.0", @@ -7534,9 +6705,9 @@ } }, "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", "dev": true }, "tsutils": { @@ -7612,9 +6783,9 @@ } }, "typedoc": { - "version": "0.17.7", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.17.7.tgz", - "integrity": "sha512-PEnzjwQAGjb0O8a6VDE0lxyLAadqNujN5LltsTUhZETolRMiIJv6Ox+Toa8h0XhKHqAOh8MOmB0eBVcWz6nuAw==", + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.17.8.tgz", + "integrity": "sha512-/OyrHCJ8jtzu+QZ+771YaxQ9s4g5Z3XsQE3Ma7q+BL392xxBn4UMvvCdVnqKC2T/dz03/VXSLVKOP3lHmDdc/w==", "dev": true, "requires": { "fs-extra": "^8.1.0", @@ -7626,13 +6797,13 @@ "minimatch": "^3.0.0", "progress": "^2.0.3", "shelljs": "^0.8.4", - "typedoc-default-themes": "^0.10.1" + "typedoc-default-themes": "^0.10.2" } }, "typedoc-default-themes": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.10.1.tgz", - "integrity": "sha512-SuqAQI0CkwhqSJ2kaVTgl37cWs733uy9UGUqwtcds8pkFK8oRF4rZmCq+FXTGIb9hIUOu40rf5Kojg0Ha6akeg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.10.2.tgz", + "integrity": "sha512-zo09yRj+xwLFE3hyhJeVHWRSPuKEIAsFK5r2u47KL/HBKqpwdUSanoaz5L34IKiSATFrjG5ywmIu98hPVMfxZg==", "dev": true, "requires": { "lunr": "^2.3.8" @@ -7774,7 +6945,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "dev": true, + "optional": true }, "uri-js": { "version": "4.2.2", @@ -7879,27 +7051,213 @@ "extsprintf": "^1.2.0" } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "watchpack": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz", - "integrity": "sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==", + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "watchpack": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", + "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", "dev": true, + "optional": true, "requires": { - "chokidar": "^2.1.8", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } } }, "webpack": { - "version": "4.43.0", - "resolved": false, - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.0.tgz", + "integrity": "sha512-wAuJxK123sqAw31SpkPiPW3iKHgFUiKvO7E7UZjtdExcsRe3fgav4mvoMM7vvpjLHVoJ6a0Mtp2fzkoA13e0Zw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -7910,7 +7268,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", + "enhanced-resolve": "^4.3.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -7923,7 +7281,7 @@ "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.1", + "watchpack": "^1.7.4", "webpack-sources": "^1.4.1" }, "dependencies": { @@ -7956,6 +7314,35 @@ "y18n": "^4.0.0" } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -7977,6 +7364,34 @@ "pkg-dir": "^3.0.0" } }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -7997,6 +7412,15 @@ "readable-stream": "^2.0.1" } }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -8023,6 +7447,15 @@ "ajv-keywords": "^3.1.0" } }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -8039,41 +7472,47 @@ } }, "terser-webpack-plugin": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", - "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", + "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", + "serialize-javascript": "^3.1.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, "webpack-cli": { - "version": "3.3.11", - "resolved": false, - "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", - "dev": true, - "requires": { - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "enhanced-resolve": "4.1.0", - "findup-sync": "3.0.0", - "global-modules": "2.0.0", - "import-local": "2.0.0", - "interpret": "1.2.0", - "loader-utils": "1.2.3", - "supports-color": "6.1.0", - "v8-compile-cache": "2.0.3", - "yargs": "13.2.4" + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", + "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" }, "dependencies": { "ansi-regex": { @@ -8082,15 +7521,32 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" } }, "is-fullwidth-code-point": { @@ -8099,16 +7555,57 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" } }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -8138,29 +7635,31 @@ "has-flag": "^3.0.0" } }, - "v8-compile-cache": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", - "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", - "dev": true + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } }, "yargs": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" + "yargs-parser": "^13.1.2" } } } @@ -8178,9 +7677,9 @@ } }, "webpack-node-externals": { - "version": "1.7.2", - "resolved": false, - "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-2.5.0.tgz", + "integrity": "sha512-g7/Z7Q/gsP8GkJkKZuJggn6RSb5PvxW1YD5vvmRZIxaSxAzkqjfL5n9CslVmNYlSqBVCyiqFgOqVS2IOObCSRg==", "dev": true }, "webpack-sources": { @@ -8202,9 +7701,9 @@ } }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -8279,6 +7778,12 @@ "errno": "~0.1.7" } }, + "workerpool": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz", + "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==", + "dev": true + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -8508,12 +8013,40 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", diff --git a/package.json b/package.json index 86dac576..28139930 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "ts-node/register" ], "reporter": [ + "lcov", "text", "text-lcov" ], @@ -74,44 +75,44 @@ "nearley": "2.19.1" }, "devDependencies": { - "@types/chai": "4.2.11", - "@types/chai-as-promised": "7.1.2", - "@types/mocha": "7.0.2", + "@types/chai": "4.2.12", + "@types/chai-as-promised": "7.1.3", + "@types/mocha": "8.0.0", "@types/nock": "11.1.0", "@types/node": "14.0.13", "@types/node-fetch": "2.5.7", - "@typescript-eslint/eslint-plugin": "3.2.0", - "@typescript-eslint/parser": "3.2.0", + "@typescript-eslint/eslint-plugin": "3.7.1", + "@typescript-eslint/parser": "3.7.1", "awesome-typescript-loader": "5.2.1", "chai": "4.2.0", "chai-as-promised": "7.1.1", - "conseiljs-softsigner": "5.0.3-beta.0", + "conseiljs-softsigner": "5.0.3", "copyfiles": "2.3.0", "coveralls": "3.1.0", - "eslint": "7.2.0", + "eslint": "7.5.0", "eslint-config-airbnb-base": "14.2.0", - "eslint-plugin-import": "2.21.2", + "eslint-plugin-import": "2.22.0", "glob": "7.1.6", "loglevel": "1.6.8", - "mocha": "7.2.0", - "nock": "12.0.3", + "mocha": "8.0.1", + "nock": "13.0.3", "node-fetch": "2.6.0", "nyc": "15.1.0", - "request-promise": "4.2.5", - "terser-webpack-plugin": "3.0.3", - "ts-loader": "7.0.5", + "request-promise": "4.2.6", + "terser-webpack-plugin": "3.0.8", + "ts-loader": "8.0.1", "ts-node": "8.10.2", "tsconfig-paths-webpack-plugin": "3.2.0", - "typedoc": "0.17.7", + "typedoc": "0.17.8", "typedoc-plugin-markdown": "2.3.1", "typescript": "3.8.3", - "webpack": "4.43.0", - "webpack-cli": "3.3.11", - "webpack-node-externals": "1.7.2" + "webpack": "4.44.0", + "webpack-cli": "3.3.12", + "webpack-node-externals": "2.5.0" }, "engines": { - "node": ">=12.16.3", - "npm": ">=6.14.4" + "node": ">=12.18.3", + "npm": ">=6.14.6" }, "eslintConfig": { "parser": "@typescript-eslint/parser", From 75a06c18bcc7a8c306e1d8318e1a64a1f242da3e Mon Sep 17 00:00:00 2001 From: keefertaylor Date: Tue, 28 Jul 2020 19:19:25 -0700 Subject: [PATCH 06/12] use variadic param --- src/chain/tezos/TezosNodeWriter.ts | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/chain/tezos/TezosNodeWriter.ts b/src/chain/tezos/TezosNodeWriter.ts index 984b3636..0edc14f0 100644 --- a/src/chain/tezos/TezosNodeWriter.ts +++ b/src/chain/tezos/TezosNodeWriter.ts @@ -664,23 +664,7 @@ export namespace TezosNodeWriter { export async function estimateOperation( server: string, chainid: string, - operation: TezosP2PMessageTypes.Operation - ): Promise<{ gas: number, storageCost: number }> { - return estimateOperations(server, chainid, [operation]) - } - - /** - * Dry run the given operations and return consumed resources. - * - * @param {string} server Tezos node to connect to - * @param {string} chainid The chain ID to apply the operation on. - * @param {TezosP2PMessageTypes.Operation} operations An array of operations to estimate. - * @returns A two-element object gas and storage costs. Throws an error if one was encountered. - */ - export async function estimateOperations( - server: string, - chainid: string, - operations: Array + ...operations: TezosP2PMessageTypes.Operation[] ): Promise<{ gas: number, storageCost: number }> { const fake_signature = 'edsigu6xFLH2NpJ1VcYshpjW99Yc1TAL1m2XBqJyXrxcZQgBMo8sszw2zm626yjpA3pWMhjpsahLrWdmvX9cqhd4ZEUchuBuFYy'; const fake_chainid = 'NetXdQprcVkpaWU'; From 020a6582da4d8dbdf9245911884983a48a2af0c4 Mon Sep 17 00:00:00 2001 From: keefertaylor Date: Tue, 28 Jul 2020 19:20:20 -0700 Subject: [PATCH 07/12] update docs --- src/chain/tezos/TezosNodeWriter.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/chain/tezos/TezosNodeWriter.ts b/src/chain/tezos/TezosNodeWriter.ts index 0edc14f0..6274b338 100644 --- a/src/chain/tezos/TezosNodeWriter.ts +++ b/src/chain/tezos/TezosNodeWriter.ts @@ -653,12 +653,12 @@ export namespace TezosNodeWriter { /** * Dry run the given operation and return consumed resources. * - * Note: Estimating an operation on an unrevealed account is not supported and will fail. Use - * `estimateOperations` instead. + * Note: Estimating an operation on an unrevealed account is not supported and will fail. Remember to prepend + * the Reveal operation if required. * * @param {string} server Tezos node to connect to * @param {string} chainid The chain ID to apply the operation on. - * @param {TezosP2PMessageTypes.Operation} operation The operation to estimate. + * @param {TezosP2PMessageTypes.Operation} operations A set of operations to update. * @returns A two-element object gas and storage costs. Throws an error if one was encountered. */ export async function estimateOperation( From 428618a10b2eb4e65d8abb21a282d0ebcbd016b2 Mon Sep 17 00:00:00 2001 From: anonymoussprocket Date: Tue, 28 Jul 2020 22:56:50 -0400 Subject: [PATCH 08/12] - sonar items --- src/chain/tezos/TezosLanguageUtil.ts | 2 +- src/chain/tezos/TezosMessageCodec.ts | 2 +- src/chain/tezos/TezosMessageUtil.ts | 2 +- src/chain/tezos/TezosNodeWriter.ts | 1 - src/chain/tezos/contracts/CryptonomicNameServiceHelper.ts | 4 ++-- src/reporting/ConseilQueryBuilder.ts | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/chain/tezos/TezosLanguageUtil.ts b/src/chain/tezos/TezosLanguageUtil.ts index 2b88a88d..44176447 100644 --- a/src/chain/tezos/TezosLanguageUtil.ts +++ b/src/chain/tezos/TezosLanguageUtil.ts @@ -315,7 +315,7 @@ export namespace TezosLanguageUtil { return preProcessMicheline(translateMichelsonToMicheline(code)) .map(p => { var c = normalizeMichelineWhiteSpace(p); return c; } ) .map(p => translateMichelineToHex(p)) - .reduce((m, p) => { return m += ('0000000' + (p.length / 2).toString(16)).slice(-8) + p; }, ''); + .reduce((m, p) => { return m + ('0000000' + (p.length / 2).toString(16)).slice(-8) + p; }, ''); } function preProcessMicheline(code: string): string[] { diff --git a/src/chain/tezos/TezosMessageCodec.ts b/src/chain/tezos/TezosMessageCodec.ts index 30f92fb8..f4c3da80 100644 --- a/src/chain/tezos/TezosMessageCodec.ts +++ b/src/chain/tezos/TezosMessageCodec.ts @@ -612,7 +612,7 @@ export namespace TezosMessageCodec { hex += parts .map(p => TezosLanguageUtil.normalizeMichelineWhiteSpace(JSON.stringify(p))) .map(p => TezosLanguageUtil.translateMichelineToHex(p)) - .reduce((m, p) => { return m += ('0000000' + (p.length / 2).toString(16)).slice(-8) + p; }, ''); + .reduce((m, p) => { return m + ('0000000' + (p.length / 2).toString(16)).slice(-8) + p; }, ''); } return hex; diff --git a/src/chain/tezos/TezosMessageUtil.ts b/src/chain/tezos/TezosMessageUtil.ts index 1d7d5c68..42a837bd 100644 --- a/src/chain/tezos/TezosMessageUtil.ts +++ b/src/chain/tezos/TezosMessageUtil.ts @@ -71,7 +71,7 @@ export namespace TezosMessageUtils { arr.push(1); } - return arr.map(v => ('0' + v.toString(16)).slice(-2)).join(''); + return arr.map(w => ('0' + w.toString(16)).slice(-2)).join(''); } /** diff --git a/src/chain/tezos/TezosNodeWriter.ts b/src/chain/tezos/TezosNodeWriter.ts index 0178bec0..fc13c4a6 100644 --- a/src/chain/tezos/TezosNodeWriter.ts +++ b/src/chain/tezos/TezosNodeWriter.ts @@ -4,7 +4,6 @@ import { KeyStore, Signer } from '../../types/ExternalInterfaces'; import * as TezosTypes from '../../types/tezos/TezosChainTypes'; import { TezosConstants } from '../../types/tezos/TezosConstants'; import * as TezosP2PMessageTypes from '../../types/tezos/TezosP2PMessageTypes'; -import * as TezosRPCTypes from '../../types/tezos/TezosRPCResponseTypes'; import { TezosNodeReader } from './TezosNodeReader'; import { TezosMessageCodec } from './TezosMessageCodec'; import { TezosMessageUtils } from './TezosMessageUtil'; diff --git a/src/chain/tezos/contracts/CryptonomicNameServiceHelper.ts b/src/chain/tezos/contracts/CryptonomicNameServiceHelper.ts index 4db3d0cf..ab886384 100644 --- a/src/chain/tezos/contracts/CryptonomicNameServiceHelper.ts +++ b/src/chain/tezos/contracts/CryptonomicNameServiceHelper.ts @@ -34,7 +34,7 @@ export namespace CryptonomicNameServiceHelper { if (!gas) { gas = Number(cost['gas']) + 300; } } - const nodeResult = await TezosNodeWriter.sendContractInvocationOperation(server, signer, keystore, contract, 0, operationFee, 6000, 300_000, 'commit', parameters, TezosTypes.TezosParameterFormat.Michelson); + const nodeResult = await TezosNodeWriter.sendContractInvocationOperation(server, signer, keystore, contract, 0, operationFee, freight, gas, 'commit', parameters, TezosTypes.TezosParameterFormat.Michelson); return TezosContractUtils.clearRPCOperationGroupHash(nodeResult.operationGroupID); } @@ -62,7 +62,7 @@ export namespace CryptonomicNameServiceHelper { if (!gas) { gas = Number(cost['gas']) + 300; } } - const nodeResult = await TezosNodeWriter.sendContractInvocationOperation(server, signer, keystore, contract, registrationFee, operationFee, 6000, 300_000, 'registerName', parameters, TezosTypes.TezosParameterFormat.Michelson); + const nodeResult = await TezosNodeWriter.sendContractInvocationOperation(server, signer, keystore, contract, registrationFee, operationFee, freight, gas, 'registerName', parameters, TezosTypes.TezosParameterFormat.Michelson); return TezosContractUtils.clearRPCOperationGroupHash(nodeResult.operationGroupID); } diff --git a/src/reporting/ConseilQueryBuilder.ts b/src/reporting/ConseilQueryBuilder.ts index 96a8f93b..2295568a 100644 --- a/src/reporting/ConseilQueryBuilder.ts +++ b/src/reporting/ConseilQueryBuilder.ts @@ -1,4 +1,4 @@ -import {ConseilQuery, ConseilOperator, ConseilSortDirection, ConseilFunction, ConseilAggregation, ConseilOutput} from "../types/conseil/QueryTypes" +import {ConseilQuery, ConseilOperator, ConseilSortDirection, ConseilFunction, ConseilOutput} from "../types/conseil/QueryTypes" export namespace ConseilQueryBuilder { /** From 6f224ee8c1b48af199786755765da3b7e9ea3397 Mon Sep 17 00:00:00 2001 From: anonymoussprocket Date: Tue, 28 Jul 2020 22:59:31 -0400 Subject: [PATCH 09/12] - version --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5e593cb1..308eb347 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "conseiljs", - "version": "5.0.3-beta.3", + "version": "5.0.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 28139930..d23c722f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "conseiljs", - "version": "5.0.3-beta.3", + "version": "5.0.4", "description": "Client-side library for dApp development.", "browser": "dist/index-web.js", "main": "dist/index.js", From 6a9be3b831d2acfd598f73bda80c71a496a84ced Mon Sep 17 00:00:00 2001 From: anonymoussprocket Date: Wed, 29 Jul 2020 00:27:25 -0400 Subject: [PATCH 10/12] - improved web example --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ee3caba4..ae03df4e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![npm](https://img.shields.io/npm/dm/conseiljs.svg)](https://www.npmjs.com/package/conseiljs) [![Build Status](https://travis-ci.org/Cryptonomic/ConseilJS.svg?branch=master)](https://travis-ci.org/Cryptonomic/ConseilJS) [![Coverage Status](https://coveralls.io/repos/github/Cryptonomic/ConseilJS/badge.svg?branch=master)](https://coveralls.io/github/Cryptonomic/ConseilJS?branch=master) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Cryptonomic_ConseilJS&metric=alert_status)](https://sonarcloud.io/dashboard?id=Cryptonomic_ConseilJS) [![dependencies](https://david-dm.org/Cryptonomic/ConseilJS/status.svg)](https://david-dm.org/Cryptonomic/ConseilJS) A library for building decentralized applications in Typescript and Javascript, currently focused on the [Tezos](http://tezos.com/) platform. @@ -55,9 +56,22 @@ TBD ## Use with Web ```html - + + + + + ... + + ``` The web version sets fetch and logger internally to `window.fetch` and `console` respectively. From cf4b5e3299523ef4158b734e59550132efc42633 Mon Sep 17 00:00:00 2001 From: anonymoussprocket Date: Wed, 29 Jul 2020 00:27:36 -0400 Subject: [PATCH 11/12] - updated documentation --- docs/README.md | 248 ++++++++++++++++++++++++++++++------------------- 1 file changed, 154 insertions(+), 94 deletions(-) diff --git a/docs/README.md b/docs/README.md index 28fdce08..a4ad65f8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -5,6 +5,7 @@ [![npm](https://img.shields.io/npm/dm/conseiljs.svg)](https://www.npmjs.com/package/conseiljs) [![Build Status](https://travis-ci.org/Cryptonomic/ConseilJS.svg?branch=master)](https://travis-ci.org/Cryptonomic/ConseilJS) [![Coverage Status](https://coveralls.io/repos/github/Cryptonomic/ConseilJS/badge.svg?branch=master)](https://coveralls.io/github/Cryptonomic/ConseilJS?branch=master) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Cryptonomic_ConseilJS&metric=alert_status)](https://sonarcloud.io/dashboard?id=Cryptonomic_ConseilJS) [![dependencies](https://david-dm.org/Cryptonomic/ConseilJS/status.svg)](https://david-dm.org/Cryptonomic/ConseilJS) A library for building decentralized applications in Typescript and Javascript, currently focused on the [Tezos](http://tezos.com/) platform. @@ -15,60 +16,61 @@ Cryptonomic offers an infrastructure service - [Nautilus Cloud](https://nautilus ## Other Resources -In addition to these materials, there is an [automated walk-through for common Tezos workflows](https://gist.github.com/anonymoussprocket/148d82fc9bf6c413be04155a90d57be6) available. The [mininax](https://mininax.io) block explorer is handy for viewing operations submitted during that run. Cryptonomic holds regular dApp development workshops internationally, if you are interested in one, reach out to organize it. The materials for these events are continuously updated and [are available](https://medium.com/the-cryptonomic-aperiodical/blockchain-development-with-tezos-698aa930e50f) on [Medium](https://medium.com/the-cryptonomic-aperiodical). +In addition to these materials, there is an [automated walk-through for common Tezos workflows](https://gist.github.com/anonymoussprocket/148d82fc9bf6c413be04155a90d57be6) available. The [Mininax](https://mininax.io) block explorer is handy for viewing operations submitted during that run. Cryptonomic holds regular dApp development workshops internationally, if you are interested in one, reach out to organize it. The materials for these events are continuously updated and [are available](https://medium.com/the-cryptonomic-aperiodical/blockchain-development-with-tezos-698aa930e50f) on [Medium](https://medium.com/the-cryptonomic-aperiodical). ## Use with Nodejs -Add our [NPM package](https://www.npmjs.com/package/conseiljs) to your project. +Add our [NPM package](https://www.npmjs.com/package/conseiljs) to your project and a signing library. As of ConseilJS 5.0.0 cryptographic signing functionality is external to the core library. Further more, it is necessary to provide a logger and fetch references as specified below. This is done separately to allow use of [proxy-aware fetch](https://www.npmjs.com/package/socks5-node-fetch) for example. ```bash -npm i conseiljs +npm i conseiljs +npm i conseiljs-softsigner ``` -If you are using webpack in your project, add below lines to your `webpack.config.js` file: - ```javascript -node: { fs: 'empty' } -``` +import fetch from 'node-fetch'; +import * as log from 'loglevel'; + +import { registerFetch, registerLogger, Signer, TezosMessageUtils } from 'conseiljs'; +import { KeyStoreUtils, SoftSigner } from 'conseiljs-softsigner'; + +const logger = log.getLogger('conseiljs'); +logger.setLevel('debug', false); // to see only errors, set to 'error' +registerLogger(logger); +registerFetch(fetch); -We have a complete [React application example](https://github.com/Cryptonomic/ConseilJS-Tutorials) for you to check out. +let signer: Signer; +const keyStore = await KeyStoreUtils.restoreIdentityFromSecretKey('edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH'); +signer = await SoftSigner.createSigner(TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk'), -1); +``` ## Use with Web +Unlike the nodejs sample, it's not possible to configure fetch or logger references for the web-based version of ConseilJS. + ```html - + + + + + ... + + ``` -A fully functional sample [webpage example](https://github.com/Cryptonomic/ConseilJS-HTML-Example) is available too. +If you're using the integrity check mechanism, make sure to keep the hash up to date. There reference above points at [ConseilJS trunk on GitHub](https://github.com/Cryptonomic/ConseilJS/blob/master/dist-web/conseiljs.min.js) and it is updated when new releases are made, which will make previous hashes invalid and render your webpage non-functional. For this reason, subsequent code samples do not include the `integrity` attribute. ## API Overview and Examples -### Logs - -When using ConseilJS in the context of Nodejs, it's possible to control how verbose the logs are. - - -#### **Typescript** - -```typescript -import { setLogLevel } from 'conseiljs'; - -setLogLevel('debug'); -``` - -#### **JavaScript** - -```javascript -const conseiljs = require('conseiljs'); - -conseiljs.setLogLevel('debug'); -``` - - -Default log level is 'error', the library used internally for logging is [loglevel](https://www.npmjs.com/package/loglevel). For more verbose logs, set it to 'info'. - ### Contract Development Lightning Route If you want to skip straight to working on Michelson smart contracts simply follow these instructions in the following order: @@ -92,23 +94,23 @@ If your interests lay in statistics and business intelligence, ConseilJS has too ### API Key -Some ConseilJS functions require an API key for a Conseil service instance. While direct chain interactions happen via a Tezos node, Conseil read operations like those in `TezosConseilClient` namespace do require an API key however. +Some ConseilJS functions require an API key for a Conseil service instance. While direct chain interactions happen via a Tezos node, Conseil read operations like those in `TezosConseilClient` namespace do require an API key. Obtaining a development key is easy. Cryptonomic offers an infrastructure service - [Nautilus Cloud](https://nautilus.cloud) which enables quick access to the Tezos platform along with products that make it easier build on it. ### Tezos Chain Operations -To execute operations on the Tezos chain a link to a Tezos node is required. One can be found after logging into [Nautilus Cloud](https://nautilus.cloud) for both testnet and mainnet. Be sure to initialize the `tezosNode` variable accordingly. Interface to this functionality is in the `TezosNodeWriter` namespace. +To execute operations on the Tezos chain a link to a Tezos node is required. One can be found after logging into [Nautilus Cloud](https://nautilus.cloud) for both the current testnet and mainnet. Be sure to initialize the `tezosNode` variable accordingly. Interface to this functionality is in the `TezosNodeReader` and `TezosNodeWriter` namespaces. These operations do not need an API Key. ConseilJS can be used with any compatible Tezos node. "Compatible" in this case means running a specific protocol version. At the time of writing the mainnet protocol was P006, Carthage which is supported by ConseilJS 5.0.3 and later. #### Create a Tezos testnet account -Visit the [Faucet](https://faucet.tzalpha.net) to get a test account with a healthy balance of fake XTZ to play with. With this information we can create the public and private keys necessary to participate in one of the test networks. Cryptnomic provides access to the Tezos **mainnet** and **carthagenet** networks via [Nautilus Cloud](https://nautilus.cloud). In the below examples, `faucetAccount` is assigned the contents of the file the faucet produces. +Visit the [Faucet](https://faucet.tzalpha.net) to get a test account with a healthy balance of fake XTZ to play with. With this information we can create the public and private keys necessary to participate in one of the test networks. Cryptonomic provides access to the Tezos **mainnet** and **carthagenet** (as of Q1 2020) networks via [Nautilus Cloud](https://nautilus.cloud). In the below examples, `faucetAccount` is assigned the contents of the file the faucet produces. Note that the `faucetAccount` used in these examples most-certainly will not work, please claim your own at the [faucet](https://faucet.tzalpha.net). ##### **Typescript** ```typescript -import { TezosWalletUtil } from 'conseiljs'; +import { KeyStoreUtils } from 'conseiljs-softsigner'; const faucetAccount = { "mnemonic": [ "letter", "pair", "shuffle", "exotic", "sword", "west", "build", "monster", "future", "senior", "salt", "satisfy", "knock", "alert", "gorilla"], @@ -120,9 +122,9 @@ const faucetAccount = { } async function initAccount() { - const keystore = await TezosWalletUtil.unlockFundraiserIdentity(faucetAccount.mnemonic.join(' '), faucetAccount.email, faucetAccount.password, faucetAccount.pkh); + const keyStore = await KeyStoreUtils.restoreIdentityFromFundraiser(faucetAccount.mnemonic.join(' '), faucetAccount.email, faucetAccount.password, faucetAccount.pkh); console.log(`public key: ${keystore.publicKey}`); - console.log(`secret key: ${keystore.privateKey}`); + console.log(`secret key: ${keystore.secretKey}`); } initAccount(); @@ -131,7 +133,8 @@ initAccount(); ##### **JavaScript** ```javascript -const conseiljs = require('conseiljs'); +const conseiljssoftsigner = require('conseiljs-softsigner'); + const faucetAccount = { "mnemonic": [ "letter", "pair", "shuffle", "exotic", "sword", "west", "build", "monster", "future", "senior", "salt", "satisfy", "knock", "alert", "gorilla"], "secret": "0a09075426ab2658814c1faf101f53e5209a62f5", @@ -142,9 +145,9 @@ const faucetAccount = { } async function initAccount() { - const keystore = await conseiljs.TezosWalletUtil.unlockFundraiserIdentity(faucetAccount.mnemonic.join(' '), faucetAccount.email, faucetAccount.password, faucetAccount.pkh); + const keyStore = await conseiljssoftsigner.KeyStoreUtils.restoreIdentityFromFundraiser(faucetAccount.mnemonic.join(' '), faucetAccount.email, faucetAccount.password, faucetAccount.pkh); console.log(`public key: ${keystore.publicKey}`); - console.log(`secret key: ${keystore.privateKey}`); + console.log(`secret key: ${keystore.secretKey}`); } initAccount(); @@ -155,21 +158,21 @@ This produces a public key of `edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7X #### Create an empty Tezos account -It is also possible to create unattached accounts on the chain. This would be the process for making accounts on mainnet that are not fundraiser accounts. Note that `unlockIdentityWithMnemonic` takes an optional password. This is not the same password that may have been used to encrypt the `TezosFileWallet` file. Presenting the intermediate mnemonic to the user may aid in key recovery. +It is also possible to create unattached accounts on the chain. This would be the process for making accounts on mainnet that are not fundraiser accounts. Note that `restoreIdentityFromMnemonic` takes an optional password. This is not the same password that may have been used to encrypt the `KeyStoreUtils` file. Presenting the intermediate mnemonic to the user may aid in key recovery. ##### **Typescript** ```typescript -import { KeyStoreUtil } from 'conseiljs-softsigner'; +import { KeyStoreUtils } from 'conseiljs-softsigner'; async function createAccount() { - const mnemonic = KeyStoreUtil.generateMnemonic(); + const mnemonic = KeyStoreUtils.generateMnemonic(); console.log(`mnemonic: ${mnemonic}`); - const keystore = await TezosWalletUtil.unlockIdentityWithMnemonic(mnemonic, ''); + const keystore = await KeyStoreUtils.restoreIdentityFromMnemonic(mnemonic, ''); console.log(`account id: ${keystore.publicKeyHash}`); console.log(`public key: ${keystore.publicKey}`); - console.log(`secret key: ${keystore.privateKey}`); + console.log(`secret key: ${keystore.secretKey}`); } createAccount(); @@ -178,42 +181,47 @@ createAccount(); ##### **JavaScript** ```javascript -const conseiljsSoftsigner = require('conseiljs-softsigner'); +const conseiljssoftsigner = require('conseiljs-softsigner'); async function createAccount() { - const mnemonic = conseiljsSoftsigner.KeyStoreUtil.generateMnemonic(); + const mnemonic = conseiljssoftsigner.KeyStoreUtils.generateMnemonic(); console.log(`mnemonic: ${mnemonic}`); - const keystore = await conseiljsSoftsigner.KeyStoreUtil.unlockIdentityWithMnemonic(mnemonic, ''); + const keystore = await conseiljssoftsigner.KeyStoreUtils.unlockIdentityWithMnemonic(mnemonic, ''); console.log(`account id: ${keystore.publicKeyHash}`); console.log(`public key: ${keystore.publicKey}`); - console.log(`secret key: ${keystore.privateKey}`); + console.log(`secret key: ${keystore.secretKey}`); } createAccount(); ``` +You can also use `KeyStoreUtils.generateIdentity()` + #### Initialize the account -An account must be activated on the chain before it can be used. With the combination of the faucet output and the keys generated in the step above we can send an account activation operation. +A faucet or Fundraiser account must be activated on the chain before it can be used. With the combination of the faucet output and the keys generated in the step above we can send an account activation operation. It's not possible or necessary to activate an unattached account, this operation will simply fail for those. ##### **Typescript** ```typescript -import { TezosNodeWriter, StoreType } from 'conseiljs'; +import { TezosNodeWriter, KeyStoreType } from 'conseiljs'; +import { SoftSigner } from 'conseiljs-softsigner'; -const tezosNode = ''; +const tezosNode = ''; // get access as https://nautilus.cloud async function activateAccount() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: StoreType.Fundraiser + storeType: KeyStoreType.Fundraiser }; - const result = await TezosNodeWriter.sendIdentityActivationOperation(tezosNode, keystore, '0a09075426ab2658814c1faf101f53e5209a62f5'); + + const signer = await SoftSigner.createSigner(TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await TezosNodeWriter.sendIdentityActivationOperation(tezosNode, signer, keystore, '0a09075426ab2658814c1faf101f53e5209a62f5'); console.log(`Injected operation group id ${result.operationGroupID}`) } @@ -224,45 +232,87 @@ activateAccount(); ```javascript const conseiljs = require('conseiljs'); -const tezosNode = ''; +const conseiljssoftsigner = require('conseiljs-softsigner'); +const tezosNode = ''; // get access as https://nautilus.cloud async function activateAccount() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: conseiljs.StoreType.Fundraiser + storeType: conseiljs.KeyStoreType.Fundraiser }; + + const signer = await conseiljssoftsigner.SoftSigner.createSigner(conseiljs.TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); const result = await conseiljs.TezosNodeWriter.sendIdentityActivationOperation(tezosNode, keystore, '0a09075426ab2658814c1faf101f53e5209a62f5'); console.log(`Injected operation group id ${result.operationGroupID}`) } activateAccount(); +``` + +##### **Web** + +```html + + + + + + + +
+ +
+ + ``` -The next step on Tezos is an account revelation. +The next step on Tezos is an account revelation,it is required for all accounts. This operation records the public key of the account on the chain. Account revelation is a paid operation, it's not possible to reveal a newly created 0-balance account. ##### **Typescript** ```typescript -import { TezosNodeWriter, StoreType } from 'conseiljs'; +import { TezosNodeWriter, KeyStoreType } from 'conseiljs'; +import { SoftSigner } from 'conseiljs-softsigner'; const tezosNode = ''; async function revealAccount() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: StoreType.Fundraiser + storeType: KeyStoreType.Fundraiser }; - const result = await TezosNodeWriter.sendKeyRevealOperation(tezosNode, keystore); + const signer = await SoftSigner.createSigner(TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await TezosNodeWriter.sendKeyRevealOperation(tezosNode, signer, keystore); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -273,18 +323,20 @@ revealAccount(); ```javascript const conseiljs = require('conseiljs'); +const conseiljssoftsigner = require('conseiljs-softsigner'); const tezosNode = ''; async function revealAccount() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: conseiljs.StoreType.Fundraiser + storeType: conseiljs.KeyStoreType.Fundraiser }; - const result = await conseiljs.TezosNodeWriter.sendKeyRevealOperation(tezosNode, keystore); + const signer = await conseiljssoftsigner.SoftSigner.createSigner(conseiljs.TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await conseiljs.TezosNodeWriter.sendKeyRevealOperation(tezosNode, signer, keystore); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -294,26 +346,28 @@ revealAccount(); #### Transfer value -The most basic operation on the chain is the transfer of value between two accounts. In this example we have the account we activated above: `tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy` and some random carthagenet address to test with: `tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc`. Note all amounts are in µtz, as in micro-tez, hence 0.5tz is represented as `500000`. +The most basic operation on the chain is the transfer of value between two accounts. In this example we have the account we activated above: `tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy` and some random testnet address to test with: `tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc`. Note all amounts are in µtz, as in micro-tez, hence 0.5tz is represented as `500000`. The fee of `1500` was chosen arbitrarily, but some operations have minimum fee requirements. ##### **Typescript** ```typescript -import { TezosNodeWriter, StoreType } from 'conseiljs'; +import { TezosNodeWriter, KeyStoreType } from 'conseiljs'; +import { SoftSigner } from 'conseiljs-softsigner'; const tezosNode = ''; async function sendTransaction() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: StoreType.Fundraiser + storeType: KeyStoreType.Fundraiser }; - const result = await TezosNodeWriter.sendTransactionOperation(tezosNode, keystore, 'tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc', 500000, 1500, ''); + const signer = await SoftSigner.createSigner(TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await TezosNodeWriter.sendTransactionOperation(tezosNode, signer, keystore, 'tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc', 500_000, 1500, ''); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -324,18 +378,20 @@ sendTransaction(); ```javascript const conseiljs = require('conseiljs'); +const conseiljssoftsigner = require('conseiljs-softsigner'); const tezosNode = ''; async function sendTransaction() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: conseiljs.StoreType.Fundraiser + storeType: conseiljs.KeyStoreType.Fundraiser }; - const result = await conseiljs.TezosNodeWriter.sendTransactionOperation(tezosNode, keystore, 'tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc', 500000, 1500, ''); + const signer = await conseiljssoftsigner.SoftSigner.createSigner(conseiljs.TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await conseiljs.TezosNodeWriter.sendTransactionOperation(tezosNode, signer, keystore, 'tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc', 500000, 1500, ''); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -345,9 +401,9 @@ sendTransaction(); #### Delegate -One of the most exciting features of Tezos is delegation. This is a means for non-baker accounts to participate in the on-chain governance process and receive staking rewards. It is possible to delegate both implicit and originated accounts. For implicit addresses, those starting with tz1, tz2 and tz3, simply call `sendDelegationOperation`. Originated accounts, that is smart contracts, must explicitly support delegate setting, but can be deployed with a delegate already set. +One of the most exciting features of Tezos is delegation. This is a means for non-"baker" (non-validator) accounts to participate in the on-chain governance process and receive staking rewards. It is possible to delegate both implicit and originated accounts. For implicit addresses, those starting with tz1, tz2 and tz3, simply call `sendDelegationOperation`. Originated accounts, that is smart contracts, must explicitly support delegate assignment, but can also be deployed with a delegate already set. -Note that calling `sendDelegationOperation` will change an existing delegation if one is set. To cancel delegation use `sendUndelegationOperation`. +Note that calling `sendDelegationOperation` will change an existing delegation if one is set. To cancel delegation use `sendUndelegationOperation`. Setting the delegation address to your own labels your account as a validator and should be avoided unless intentional. Sending a delegation to the same address as already set will result in operation failure. Another important point is that delegation is applied per account for the full balance of that account. To delegate to multiple bakers from a single address, use `BabylonDelegationHelper`. @@ -355,20 +411,22 @@ Another important point is that delegation is applied per account for the full b ##### **Typescript** ```typescript -import { TezosNodeWriter, StoreType } from 'conseiljs'; +import { TezosNodeWriter, KeyStoreType } from 'conseiljs'; +import { SoftSigner } from 'conseiljs-softsigner'; const tezosNode = ''; async function delegateAccount() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: StoreType.Fundraiser + storeType: KeyStoreType.Fundraiser }; - const result = await TezosNodeWriter.sendDelegationOperation(tezosNode, keystore, keystore.publicKeyHash, 'tz1LhS2WFCinpwUTdUb991ocL2D9Uk6FJGJK', 10000); + const signer = await SoftSigner.createSigner(TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await TezosNodeWriter.sendDelegationOperation(tezosNode, signer, keystore, 'tz1VxS7ff4YnZRs8b4mMP4WaMVpoQjuo1rjf', 10000); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -379,18 +437,20 @@ delegateAccount(); ```javascript const conseiljs = require('conseiljs'); +const conseiljssoftsigner = require('conseiljs-softsigner'); const tezosNode = ''; async function delegateAccount() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: conseiljs.StoreType.Fundraiser + storeType: conseiljs.KeyStoreType.Fundraiser }; - const result = await conseiljs.TezosNodeWriter.sendDelegationOperation(tezosNode, keystore, keystore.publicKeyHash, 'tz1LhS2WFCinpwUTdUb991ocL2D9Uk6FJGJK', 10000); + const signer = await conseiljssoftsigner.SoftSigner.createSigner(conseiljs.TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await conseiljs.TezosNodeWriter.sendDelegationOperation(tezosNode, signer, keystore, 'tz1VxS7ff4YnZRs8b4mMP4WaMVpoQjuo1rjf', 10000); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -400,7 +460,7 @@ delegateAccount(); ### Smart Contract Interactions -Tezos smart contracts are natively executed in a stack-based type-safe language called Michelson. As of version 0.2.7, ConseilJS is able to deploy a large portion of contracts written in that language. Rather than compose contracts directly in Michelson, we encourage you to look at more developer-friendly options like [SmartPy](http://smartpy.io/demo/). +Tezos smart contracts are natively executed in a stack-based type-safe language called Michelson. As of version 0.2.7, ConseilJS is able to deploy a large portion of contracts written in that language. Rather than compose contracts directly in Michelson, we encourage you to look at more developer-friendly options like [SmartPy](http://smartpy.io/dev/). Smart Chain Arena has [learning materials](https://smartpy.io/dev/help.html) and an excellent [reference for SmartPy](https://smartpy.io/dev/reference.html). The editor also has a set of sample contracts that demonstrate various smart contract techniques. Finally, Cryptonomic has put together a [Smart Contract Development Syllabus](https://medium.com/the-cryptonomic-aperiodical/smart-contract-development-syllabus-f285a8463a4d) based on SmartPy. #### Deploy a Contract @@ -1824,19 +1884,19 @@ JSON message definitions for operation submission. JSON message definitions for RPC service responses. -## Contribute +## NPM Target Overview -There are many ways to contribute to this project. You can develop applications or dApps with it. You can submit bug reports or feature requests. You can ask questions about it on [r/Tezos](http://reddit.com/r/tezos/) or the [Tezos StackExchange](https://tezos.stackexchange.com). We certainly welcome pull requests as well. +### `npm run test` -### NPM Target Overview +### `npm run coverage` -#### `npm run test` +### `npm run format` -#### `npm run coverage` +### `npm run package` -#### `npm run format` +## Contribute -#### `npm run package` +There are many ways to contribute to this project. You can develop applications or dApps with it. You can submit bug reports or feature requests. You can ask questions about it on [r/Tezos](http://reddit.com/r/tezos/) or the [Tezos StackExchange](https://tezos.stackexchange.com). We certainly welcome pull requests as well. ## Other references From 2dabdf5146fc5e21160236d7d35864db4e16447e Mon Sep 17 00:00:00 2001 From: anonymoussprocket Date: Wed, 29 Jul 2020 12:07:47 -0400 Subject: [PATCH 12/12] - doc update --- docs/README.md | 69 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 25 deletions(-) diff --git a/docs/README.md b/docs/README.md index a4ad65f8..ecb72952 100644 --- a/docs/README.md +++ b/docs/README.md @@ -367,7 +367,7 @@ async function sendTransaction() { }; const signer = await SoftSigner.createSigner(TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); - const result = await TezosNodeWriter.sendTransactionOperation(tezosNode, signer, keystore, 'tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc', 500_000, 1500, ''); + const result = await TezosNodeWriter.sendTransactionOperation(tezosNode, signer, keystore, 'tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc', 500_000, 1500); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -391,7 +391,7 @@ async function sendTransaction() { }; const signer = await conseiljssoftsigner.SoftSigner.createSigner(conseiljs.TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); - const result = await conseiljs.TezosNodeWriter.sendTransactionOperation(tezosNode, signer, keystore, 'tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc', 500000, 1500, ''); + const result = await conseiljs.TezosNodeWriter.sendTransactionOperation(tezosNode, signer, keystore, 'tz1RVcUP9nUurgEJMDou8eW3bVDs6qmP5Lnc', 500000, 1500); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -411,7 +411,7 @@ Another important point is that delegation is applied per account for the full b ##### **Typescript** ```typescript -import { TezosNodeWriter, KeyStoreType } from 'conseiljs'; +import { TezosMessageUtils, TezosNodeWriter, KeyStoreType } from 'conseiljs'; import { SoftSigner } from 'conseiljs-softsigner'; const tezosNode = ''; @@ -460,31 +460,38 @@ delegateAccount(); ### Smart Contract Interactions -Tezos smart contracts are natively executed in a stack-based type-safe language called Michelson. As of version 0.2.7, ConseilJS is able to deploy a large portion of contracts written in that language. Rather than compose contracts directly in Michelson, we encourage you to look at more developer-friendly options like [SmartPy](http://smartpy.io/dev/). Smart Chain Arena has [learning materials](https://smartpy.io/dev/help.html) and an excellent [reference for SmartPy](https://smartpy.io/dev/reference.html). The editor also has a set of sample contracts that demonstrate various smart contract techniques. Finally, Cryptonomic has put together a [Smart Contract Development Syllabus](https://medium.com/the-cryptonomic-aperiodical/smart-contract-development-syllabus-f285a8463a4d) based on SmartPy. +Tezos smart contracts are natively executed in a stack-based type-safe language called Michelson. ConseilJS is able to deploy a large portion of contracts written in that language. Rather than compose contracts directly in Michelson, we encourage you to look at more developer-friendly options like [SmartPy](http://smartpy.io/dev/). Smart Chain Arena has [learning materials](https://smartpy.io/dev/help.html) and an excellent [reference for SmartPy](https://smartpy.io/dev/reference.html). The editor also has a set of sample contracts that demonstrate various smart contract techniques. Finally, Cryptonomic has put together a [Smart Contract Development Syllabus](https://medium.com/the-cryptonomic-aperiodical/smart-contract-development-syllabus-f285a8463a4d) based on SmartPy. #### Deploy a Contract -A note of warning, as of Tezos Protocol 4, deployed in the spring of 2019, originated accounts with code (smart contracts) are no longer 'spendable'. What this means is, deploying a contract with an initial balance that does not have functionality internally that enables transfer of this balance, will permanently lock that amount of XTZ. +A note of warning, as of Tezos Protocol 4, deployed in the Spring of 2019, originated accounts with code (smart contracts) are no longer 'spendable'. What this means is, deploying a contract with an initial balance that does not have functionality internally that enables transfer of this balance, will permanently lock that amount of XTZ. -One of the more existing features of ConseilJS is that it allow for trustless chain interactions, including contract deployment directly from Michelson. For the curious the language parsing and transformation code lives inside the following: [`Michelson.ne`](https://github.com/Cryptonomic/ConseilJS/blob/master/grammar/tezos/Michelson.ne), [`Micheline.ne`](https://github.com/Cryptonomic/ConseilJS/blob/master/grammar/tezos/Micheline.ne), [`TezosLanguageUtil`](https://github.com/Cryptonomic/ConseilJS/blob/master/src/chain/tezos/TezosLanguageUtil.ts)), [`TezosMessageCodec`](https://github.com/Cryptonomic/ConseilJS/blob/master/src/chain/tezos/TezosMessageCodec.ts), [`TezosMessageUtil`](https://github.com/Cryptonomic/ConseilJS/blob/master/src/chain/tezos/TezosMessageUtil.ts). To find out more about the Michelson language, visit [the guide](https://michelson.nomadic-labs.com) from Nomadic Labs and the [Tezos platform documentation](https://tezos.gitlab.io/whitedoc/michelson.html). +One of the more exciting features of ConseilJS is that it allow for trustless chain interactions, including contract deployment directly from Michelson. For the curious the language parsing and transformation code lives inside the following: [`Michelson.ne`](https://github.com/Cryptonomic/ConseilJS/blob/master/grammar/tezos/Michelson.ne), [`Micheline.ne`](https://github.com/Cryptonomic/ConseilJS/blob/master/grammar/tezos/Micheline.ne), [`TezosLanguageUtil`](https://github.com/Cryptonomic/ConseilJS/blob/master/src/chain/tezos/TezosLanguageUtil.ts)), [`TezosMessageCodec`](https://github.com/Cryptonomic/ConseilJS/blob/master/src/chain/tezos/TezosMessageCodec.ts), [`TezosMessageUtil`](https://github.com/Cryptonomic/ConseilJS/blob/master/src/chain/tezos/TezosMessageUtil.ts). To find out more about the Michelson language, visit [the guide](https://michelson.nomadic-labs.com) from Nomadic Labs and the [Tezos platform documentation](https://tezos.gitlab.io/whitedoc/michelson.html). ##### **Typescript** ```typescript -import { StoreType, TezosNodeWriter, TezosParameterFormat, setLogLevel } from 'conseiljs'; +import fetch from 'node-fetch'; +import * as log from 'loglevel'; -setLogLevel('debug'); +import { registerFetch, registerLogger, TezosMessageUtils, TezosNodeWriter, TezosParameterFormat, KeyStoreType } from 'conseiljs'; +import { SoftSigner } from 'conseiljs-softsigner'; + +const logger = log.getLogger('conseiljs'); +logger.setLevel('debug', false); +registerLogger(logger); +registerFetch(fetch); const tezosNode = ''; async function deployContract() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: StoreType.Fundraiser + storeType: KeyStoreType.Fundraiser }; const contract = `[ { @@ -508,7 +515,8 @@ async function deployContract() { ]`; const storage = '{"string": "Sample"}'; - const result = await TezosNodeWriter.sendContractOriginationOperation(tezosNode, keystore, 0, undefined, 100000, '', 1000, 100000, contract, storage, TezosParameterFormat.Micheline); + const signer = await SoftSigner.createSigner(TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await TezosNodeWriter.sendContractOriginationOperation(tezosNode, signer, keystore, 0, undefined, 100_000, 1000, 100_000, contract, storage, TezosParameterFormat.Micheline); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -521,15 +529,15 @@ deployContract(); const conseiljs = require('conseiljs'); const tezosNode = ''; -setLogLevel('debug'); + async function deployContract() { const keystore = { publicKey: 'edpkvQtuhdZQmjdjVfaY9Kf4hHfrRJYugaJErkCGvV3ER1S7XWsrrj', - privateKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', + secretKey: 'edskRgu8wHxjwayvnmpLDDijzD3VZDoAH7ZLqJWuG4zg7LbxmSWZWhtkSyM5Uby41rGfsBGk4iPKWHSDniFyCRv3j7YFCknyHH', publicKeyHash: 'tz1QSHaKpTFhgHLbqinyYRjxD5sLcbfbzhxy', seed: '', - storeType: conseiljs.StoreType.Fundraiser + storeType: conseiljs.KeyStoreType.Fundraiser }; const contract = `[ { @@ -553,7 +561,8 @@ async function deployContract() { ]`; const storage = '{"string": "Sample"}'; - const result = await conseiljs.TezosNodeWriter.sendContractOriginationOperation(tezosNode, keystore, 0, undefined, 100000, '', 1000, 100000, contract, storage, conseiljs.TezosParameterFormat.Micheline); + const signer = await conseiljssoftsigner.SoftSigner.createSigner(conseiljs.TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const result = await conseiljs.TezosNodeWriter.sendContractOriginationOperation(tezosNode, signer, keystore, 0, undefined, 100000, 1000, 100000, contract, storage, conseiljs.TezosParameterFormat.Micheline); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -562,17 +571,26 @@ deployContract(); ``` -It's possible to deploy a contract with Michelson code on an experimental basis with local forging as of ConseilJS 0.2.7. Another important feature introduced in that release was `awaitOperationConfirmation(...)` which will monitor the chain via Conseil waiting for the specified operation to appear, and then return the result set from Conseil for that operation. This can be used to ensure that the requested transaction has occured, it will also produce an updated account counter. The example below originates a contract and then waits for it to be recorded so the address of the new contract can be extracted. +Using `awaitOperationConfirmation(...)` ConseilJS can monitor the chain via the Conseil indexer, waiting for the specified operation to appear, and then return the result set from Conseil for that operation. This can be used to ensure that the requested transaction has occurred, it will also produce an updated account counter. The example below originates a contract and then waits for it to be recorded so the address of the new contract can be extracted. This functionality requires an API key from [Nautilus Cloud](https://nautilus.cloud) or your own instance of Conseil. ##### **Typescript** ```typescript -import { StoreType, TezosNodeWriter, TezosParameterFormat, setLogLevel } from 'conseiljs'; +import fetch from 'node-fetch'; +import * as log from 'loglevel'; -setLogLevel('debug'); +import { registerFetch, registerLogger, TezosMessageUtils, TezosNodeWriter, TezosParameterFormat, KeyStoreType } from 'conseiljs'; +import { SoftSigner } from 'conseiljs-softsigner'; + +const logger = log.getLogger('conseiljs'); +logger.setLevel('debug', false); +registerLogger(logger); +registerFetch(fetch); const tezosNode = ''; +const network = 'carthagenet'; +const conseilServer = { url: '', apiKey: '', network }; async function deployContract() { const keystore = { @@ -591,11 +609,12 @@ async function deployContract() { NIL operation; PAIR}`; const storage = '"Sample"'; - const nodeResult = await TezosNodeWriter.sendContractOriginationOperation(tezosNode, keystore, 0, undefined, 100000, '', 1000, 100000, contract, storage, TezosParameterFormat.Michelson); + const signer = await SoftSigner.createSigner(TezosMessageUtils.writeKeyWithHint(keyStore.secretKey, 'edsk')); + const nodeResult = await TezosNodeWriter.sendContractOriginationOperation(tezosNode, signer, keystore, 0, undefined, 100_000, 1000, 100_000, contract, storage, TezosParameterFormat.Michelson); const groupid = nodeResult['operationGroupID'].replace(/\"/g, '').replace(/\n/, ''); // clean up RPC output console.log(`Injected operation group id ${groupid}`); - const conseilResult = await TezosConseilClient.awaitOperationConfirmation(conseilServer, 'carthagenet', groupid, 5); + const conseilResult = await TezosConseilClient.awaitOperationConfirmation(conseilServer, network, groupid, 5); console.log(`Originated contract at ${conseilResult[0].originated_contracts}`); } @@ -629,11 +648,11 @@ async function deployContract() { NIL operation; PAIR}`; const storage = '"Sample"'; - const nodeResult = await conseiljs.TezosNodeWriter.sendContractOriginationOperation(tezosNode, keystore, 0, undefined, 100000, '', 1000, 100000, contract, storage, conseiljs.TezosParameterFormat.Michelson); + const nodeResult = await conseiljs.TezosNodeWriter.sendContractOriginationOperation(tezosNode, signer, keystore, 0, undefined, 100000, 1000, 100000, contract, storage, conseiljs.TezosParameterFormat.Michelson); const groupid = nodeResult['operationGroupID'].replace(/\"/g, '').replace(/\n/, ''); // clean up RPC output console.log(`Injected operation group id ${groupid}`); - const conseilResult = await conseiljs.TezosConseilClient.awaitOperationConfirmation(conseilServer, 'carthagenet', groupid, 5); + const conseilResult = await conseiljs.TezosConseilClient.awaitOperationConfirmation(conseilServer, network, groupid, 5); console.log(`Originated contract at ${conseilResult[0].originated_accounts}`); } @@ -644,7 +663,7 @@ deployContract(); #### Invoke a Contract -Similarly to contract deployment, contract invocation can happen either with Michelson or Micheline format. There is also a convenience function for safety, `sendContractPing` that allows calling a contract with a 0 amount and no parameters. This was the invocation pattern for the Tezos Foundation [Ledger Nano S giveaway](https://tezos.foundation/news/tezos-foundation-to-give-away-ledger-nano-s-hardware-wallets-to-celebrate-one-year-since-betanet-launch) [registry contract](https://arronax.io?e=Tezos%20Mainnet/operations&q=eyJmaWVsZHMiOlsidGltZXN0YW1wIiwiYmxvY2tfbGV2ZWwiLCJzb3VyY2UiLCJkZXN0aW5hdGlvbiIsImFtb3VudCIsImtpbmQiLCJmZWUiLCJvcGVyYXRpb25fZ3JvdXBfaGFzaCJdLCJwcmVkaWNhdGVzIjpbeyJmaWVsZCI6ImtpbmQiLCJvcGVyYXRpb24iOiJlcSIsInNldCI6WyJ0cmFuc2FjdGlvbiJdLCJpbnZlcnNlIjpmYWxzZX0seyJmaWVsZCI6InRpbWVzdGFtcCIsIm9wZXJhdGlvbiI6ImFmdGVyIiwic2V0IjpbMTU1OTM2MTYwMDAwMF0sImludmVyc2UiOmZhbHNlfSx7ImZpZWxkIjoiZGVzdGluYXRpb24iLCJvcGVyYXRpb24iOiJlcSIsInNldCI6WyJLVDFCUnVkRlpFWExZQU5nbVpUa2ExeENETjVuV1RNV1k3U1oiXSwiaW52ZXJzZSI6ZmFsc2V9LHsiZmllbGQiOiJ0aW1lc3RhbXAiLCJvcGVyYXRpb24iOiJiZWZvcmUiLCJzZXQiOlsxNTYzMjQ5NjAwMDAwXSwiaW52ZXJzZSI6ZmFsc2V9LHsiZmllbGQiOiJzdGF0dXMiLCJvcGVyYXRpb24iOiJlcSIsInNldCI6WyJhcHBsaWVkIl0sImludmVyc2UiOmZhbHNlfV0sIm9yZGVyQnkiOlt7ImZpZWxkIjoidGltZXN0YW1wIiwiZGlyZWN0aW9uIjoiYXNjIn1dLCJsaW1pdCI6NTAwMH0). +Similarly to contract deployment, contract invocation can happen either with Michelson or Micheline format. There is also a convenience function for safety, `sendContractPing` that allows calling a contract with a 0 amount and no parameters. This was the invocation pattern for the Tezos Foundation [Ledger Nano S giveaway](https://tezos.foundation/news/tezos-foundation-to-give-away-ledger-nano-s-hardware-wallets-to-celebrate-one-year-since-betanet-launch) [registry contract](https://arronax.io/tezos/mainnet/operations/query/eyJmaWVsZHMiOlsidGltZXN0YW1wIiwiYmxvY2tfbGV2ZWwiLCJzb3VyY2UiLCJkZXN0aW5hdGlvbiIsImFtb3VudCIsImtpbmQiLCJmZWUiLCJvcGVyYXRpb25fZ3JvdXBfaGFzaCJdLCJwcmVkaWNhdGVzIjpbeyJmaWVsZCI6ImtpbmQiLCJvcGVyYXRpb24iOiJlcSIsInNldCI6WyJ0cmFuc2FjdGlvbiJdLCJpbnZlcnNlIjpmYWxzZX0seyJmaWVsZCI6InRpbWVzdGFtcCIsIm9wZXJhdGlvbiI6ImFmdGVyIiwic2V0IjpbMTU1OTM2MTYwMDAwMF0sImludmVyc2UiOmZhbHNlfSx7ImZpZWxkIjoiZGVzdGluYXRpb24iLCJvcGVyYXRpb24iOiJlcSIsInNldCI6WyJLVDFCUnVkRlpFWExZQU5nbVpUa2ExeENETjVuV1RNV1k3U1oiXSwiaW52ZXJzZSI6ZmFsc2V9LHsiZmllbGQiOiJ0aW1lc3RhbXAiLCJvcGVyYXRpb24iOiJiZWZvcmUiLCJzZXQiOlsxNTYzMjQ5NjAwMDAwXSwiaW52ZXJzZSI6ZmFsc2V9LHsiZmllbGQiOiJzdGF0dXMiLCJvcGVyYXRpb24iOiJlcSIsInNldCI6WyJhcHBsaWVkIl0sImludmVyc2UiOmZhbHNlfV0sIm9yZGVyQnkiOlt7ImZpZWxkIjoidGltZXN0YW1wIiwiZGlyZWN0aW9uIjoiZGVzYyJ9XSwiYWdncmVnYXRpb24iOltdLCJsaW1pdCI6MTAwMH0). ##### **Typescript** @@ -666,7 +685,7 @@ async function invokeContract() { }; const contractAddress = 'KT1KA7DqFjShLC4CPtChPX8QtRYECUb99xMY'; - const result = await TezosNodeWriter.sendContractInvocationOperation(tezosNode, keystore, contractAddress, 10000, 100000, '', 1000, 100000, '"Cryptonomicon"', TezosParameterFormat.Michelson); + const result = await TezosNodeWriter.sendContractInvocationOperation(tezosNode, signer, keystore, contractAddress, 10_000, 100_000, 1000, 100_000, '"Cryptonomicon"', TezosParameterFormat.Michelson); console.log(`Injected operation group id ${result.operationGroupID}`); } @@ -807,7 +826,7 @@ pingContract(); #### Extract Entry Points -Michelson contract are single-entry, meaning unlike other smart contract languages it only has one function that can be called externally. The work-around for this limitation is to create a tree of `if` statements inside that method that perform different operations. This results in a somewhat unintuitive invocation pattern. To help with this, ConseilJS provide contract introspection functions that can not only extract the entry points given a contract, but also generate the invocation parameter object for them. This functionality resides in the `TezosContractIntrospector` namespace which has several methods for parsing the interface given a contract address, full contract code or just the `parameter` portion of the contract: `generateEntryPointsFromAddress`, `generateEntryPointsFromCode`, `generateEntryPointsFromParams` respectively. Examples below use a version the proposed Tezos token standard, [FA1.2](https://gitlab.com/tzip/tzip/blob/master/A/FA1.2.md) deployed on alphanet at [KT1XFXwWCDMLkgWjhfqKUpDtBYWf3ZdUdKC3](https://arronax.io?e=Tezos%20Alphanet/accounts&m=true&q=eyJmaWVsZHMiOlsiYWNjb3VudF9pZCIsIm1hbmFnZXIiLCJiYWxhbmNlIiwic2NyaXB0Iiwic3RvcmFnZSIsImJsb2NrX2xldmVsIl0sInByZWRpY2F0ZXMiOlt7ImZpZWxkIjoiYWNjb3VudF9pZCIsIm9wZXJhdGlvbiI6ImVxIiwic2V0IjpbIktUMVhGWHdXQ0RNTGtnV2poZnFLVXBEdEJZV2YzWmRVZEtDMyJdLCJpbnZlcnNlIjpmYWxzZX1dLCJvcmRlckJ5IjpbeyJmaWVsZCI6ImJsb2NrX2xldmVsIiwiZGlyZWN0aW9uIjoiZGVzYyJ9XSwiYWdncmVnYXRpb24iOltdLCJsaW1pdCI6MTAwMH0). +Michelson contract are single-entry, meaning unlike other smart contract languages it only has one function that can be called externally. The work-around for this limitation is to create a tree of `if` statements inside that method that perform different operations. This results in a somewhat unintuitive invocation pattern. To help with this, ConseilJS provide contract introspection functions that can not only extract the entry points given a contract, but also generate the invocation parameter object for them. This functionality resides in the `TezosContractIntrospector` namespace which has several methods for parsing the interface given a contract address, full contract code or just the `parameter` portion of the contract: `generateEntryPointsFromAddress`, `generateEntryPointsFromCode`, `generateEntryPointsFromParams` respectively. Examples below use a version the proposed Tezos token standard, [FA1.2](https://gitlab.com/tzip/tzip/blob/master/A/FA1.2.md) deployed on a testnet at [KT1XFXwWCDMLkgWjhfqKUpDtBYWf3ZdUdKC3](https://arronax.io?e=Tezos%20Alphanet/accounts&m=true&q=eyJmaWVsZHMiOlsiYWNjb3VudF9pZCIsIm1hbmFnZXIiLCJiYWxhbmNlIiwic2NyaXB0Iiwic3RvcmFnZSIsImJsb2NrX2xldmVsIl0sInByZWRpY2F0ZXMiOlt7ImZpZWxkIjoiYWNjb3VudF9pZCIsIm9wZXJhdGlvbiI6ImVxIiwic2V0IjpbIktUMVhGWHdXQ0RNTGtnV2poZnFLVXBEdEJZV2YzWmRVZEtDMyJdLCJpbnZlcnNlIjpmYWxzZX1dLCJvcmRlckJ5IjpbeyJmaWVsZCI6ImJsb2NrX2xldmVsIiwiZGlyZWN0aW9uIjoiZGVzYyJ9XSwiYWdncmVnYXRpb24iOltdLCJsaW1pdCI6MTAwMH0). ##### **Typescript**