diff --git a/.gitignore b/.gitignore
index fad6dab..a3aa6d1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,109 +1,5 @@
out/
cache/
-circuits/build/
artifacts/
-circuits/proofs/
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-typechain-types/
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# TypeScript v1 declaration files
-typings/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Microbundle cache
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variables file
-.env
-.env.test
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-
-# Next.js build output
-.next
-
-# Nuxt.js build / generate output
-.nuxt
-dist
-
-# Gatsby files
-.cache/
-# Comment in the public line in if your project uses Gatsby and *not* Next.js
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# public
-
-# vuepress build output
-.vuepress/dist
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# TernJS port file
-.tern-port
+circuits/build/
+circuits/target/
\ No newline at end of file
diff --git a/README.md b/README.md
index 3c100da..1ba3275 100644
--- a/README.md
+++ b/README.md
@@ -10,48 +10,39 @@ Click [`use this template`](https://github.com/whitenois3/nplate/generate) to cr
## Development
-Both hardhat and foundry are supported.
-With the help of the `ffi`, you can write complex JS/TS scripts, feed them inputs FROM the foundry test contract and use the output in the test contract.
-
**Setup**
-```bash
-npm install
-```
+
+You need both `nargo` and `foundry` installed.
+
Regarding the installation of `nargo`, please refer to its repo [here](https://github.com/noir-lang/noir).
**Building**
+
```bash
cd circuits
-nargo build
-nargo compile BUILD_NAME
+# generates the Solidity contract
+nargo nargo codegen-verifier
+# generates a file "p.proof" in circuits/proofs
+nargo prove p
```
**Testing**
-```bash
-npx hardhat test
-```
-```bash
-forge test --ffi
-```
-We have provided two bash scripts in `utils/` to make your life easier when it comes to generating the Verifier contract and a proof.
+Before testing, be sure you have generated the updated Solidity verifier contract as well as a valid proof!
-```
-./utils/safeGenerateContract.sh
-./utils/safeGenerateProof.sh
+```bash
+forge test --ffi
```
## License
[AGPL-3.0-only](https://github.com/abigger87/femplate/blob/master/LICENSE)
-
## Acknowledgements
- [femplate](https://github.com/abigger87/femplate)
- [basic_mul_noir_example](https://github.com/vezenovm/basic_mul_noir_example)
-
## Disclaimer
_These smart contracts are being provided as is. No guarantee, representation or warranty is being made, express or implied, as to the safety or correctness of the user interface or the smart contracts. They have not been audited and as such there can be no assurance they will work as intended, and users may experience delays, failures, errors, omissions, loss of transmitted information or loss of funds. The creators are not liable for any of the foregoing. Users should proceed with caution and use at their own risk._
diff --git a/circuits/Verifier.toml b/circuits/Verifier.toml
index 8ca02a9..a5c1f4b 100644
--- a/circuits/Verifier.toml
+++ b/circuits/Verifier.toml
@@ -1,4 +1,3 @@
-setpub = []
-x = "1"
-y = "2"
-return = "3"
\ No newline at end of file
+return = "0x0000000000000000000000000000000000000000000000000000000000000003"
+x = "0x0000000000000000000000000000000000000000000000000000000000000001"
+y = "0x0000000000000000000000000000000000000000000000000000000000000002"
diff --git a/circuits/contract/plonk_vk.sol b/circuits/contract/plonk_vk.sol
new file mode 100644
index 0000000..fafe46d
--- /dev/null
+++ b/circuits/contract/plonk_vk.sol
@@ -0,0 +1,2611 @@
+// Verification Key Hash: a0e940165bfc708013d5b4f7940f3b07f3bcf3c0f57ee21d8b4bdb78630817a3
+// SPDX-License-Identifier: Apache-2.0
+// Copyright 2022 Aztec
+pragma solidity >=0.8.4;
+
+library UltraVerificationKey {
+ function verificationKeyHash() internal pure returns(bytes32) {
+ return 0xa0e940165bfc708013d5b4f7940f3b07f3bcf3c0f57ee21d8b4bdb78630817a3;
+ }
+
+ function loadVerificationKey(uint256 _vk, uint256 _omegaInverseLoc) internal pure {
+ assembly {
+ mstore(add(_vk, 0x00), 0x0000000000000000000000000000000000000000000000000000000000000010) // vk.circuit_size
+ mstore(add(_vk, 0x20), 0x0000000000000000000000000000000000000000000000000000000000000003) // vk.num_inputs
+ mstore(add(_vk, 0x40), 0x21082ca216cbbf4e1c6e4f4594dd508c996dfbe1174efb98b11509c6e306460b) // vk.work_root
+ mstore(add(_vk, 0x60), 0x2d5e098bb31e86271ccb415b196942d755b0a9c3f21dd9882fa3d63ab1000001) // vk.domain_inverse
+ mstore(add(_vk, 0x80), 0x0fe8527a8494f827e4b332060e5569bdfe47aadc475cb1f03b4d222b0804e463) // vk.Q1.x
+ mstore(add(_vk, 0xa0), 0x2d051f6d8a9eec7ae2622b4b259fb91d942a8892632cffcdad4c03e2c9081593) // vk.Q1.y
+ mstore(add(_vk, 0xc0), 0x21be04985f898ef5e2a80f32fbaa16cd3eb8c451c243db46144b97113c8e556a) // vk.Q2.x
+ mstore(add(_vk, 0xe0), 0x2913bcdde62d6d2143aa6a0fed511ca527994df2cba6a780baa29dddac161de9) // vk.Q2.y
+ mstore(add(_vk, 0x100), 0x15bf0818d578953a624a127aa04d4b0aa1b09d3fe69b9a29e2546a41e9b08049) // vk.Q3.x
+ mstore(add(_vk, 0x120), 0x0148f0d2abf2ca1fe6cc20fdef0a8d4a88eb9602eaf48f0c1c02445c27cb9592) // vk.Q3.y
+ mstore(add(_vk, 0x140), 0x02d6fd9e84dbe74b7531e1801405a1c292117b1a17fefe9de0bfd9edf1a84bf9) // vk.Q4.x
+ mstore(add(_vk, 0x160), 0x293c6ab3c06a0669af13393a82c60a459a3b2a0b768da45ac7af7f2aec40fc42) // vk.Q4.y
+ mstore(add(_vk, 0x180), 0x2950076760523510abcfe90fa550b964e84b338f73af5222cdbbaefdacd4484e) // vk.Q_M.x
+ mstore(add(_vk, 0x1a0), 0x2e4e3e272c7b78ad894559812d7766e05615a8f7050a43d7ed1367adf30a9319) // vk.Q_M.y
+ mstore(add(_vk, 0x1c0), 0x1798c37010a4285e1774c1ad35779886380ee5ceee0ba183927e2a2103301a68) // vk.Q_C.x
+ mstore(add(_vk, 0x1e0), 0x2935f9e4d47a8e39aa0107f31a84584b47d903cfeb9690f6d850dc8ea7d2f4ea) // vk.Q_C.y
+ mstore(add(_vk, 0x200), 0x205aff7186f2cedc99e9cadb7930ef25f296991e5a7b574a33d6249f0a5db1f9) // vk.Q_ARITHMETIC.x
+ mstore(add(_vk, 0x220), 0x0beadc757bee3a2be1f6425385547099fc1eeeb1fed5a8552b07e997251d7c45) // vk.Q_ARITHMETIC.y
+ mstore(add(_vk, 0x240), 0x2cbce7beee3076b78dace04943d69d0d9e28aa6d00e046852781a5f20816645c) // vk.QSORT.x
+ mstore(add(_vk, 0x260), 0x2bc27ec2e1612ea284b08bcc55b6f2fd915d11bfedbdc0e59de09e5b28952080) // vk.QSORT.y
+ mstore(add(_vk, 0x280), 0x0ad34b5e8db72a5acf4427546c7294be6ed4f4d252a79059e505f9abc1bdf3ed) // vk.Q_ELLIPTIC.x
+ mstore(add(_vk, 0x2a0), 0x1e5b26790a26eb340217dd9ad28dbf90a049f42a3852acd45e6f521f24b4900e) // vk.Q_ELLIPTIC.y
+ mstore(add(_vk, 0x2c0), 0x155a0f51fec78c33ffceb7364d69d7ac27e570ae50bc180509764eb3fef94815) // vk.Q_AUX.x
+ mstore(add(_vk, 0x2e0), 0x1c1c4720bed44a591d97cbc72b6e44b644999713a8d3c66e9054aa5726324c76) // vk.Q_AUX.y
+ mstore(add(_vk, 0x300), 0x01d8b8ff3b1674e57a7d30ce1d9e07c686174c643eb20d38e604eec7095248a9) // vk.SIGMA1.x
+ mstore(add(_vk, 0x320), 0x261015d69327a58810e6eb1052ed694914b7a89034e1334c50b9e70a161489b7) // vk.SIGMA1.y
+ mstore(add(_vk, 0x340), 0x1987df111730a8a6a650423757dbf048f3f43860a7d24a5e2e8bd67b6931ca67) // vk.SIGMA2.x
+ mstore(add(_vk, 0x360), 0x1fe074ff24b35d7830bec2a3fad7e53038ffb5e2a3f718a23660d68daffc2953) // vk.SIGMA2.y
+ mstore(add(_vk, 0x380), 0x191d6881b9369e50141da3f2009a2f2dfc9adba276e874eb9f7f3183a0ea8f89) // vk.SIGMA3.x
+ mstore(add(_vk, 0x3a0), 0x2cbfbdd75526be7e9f2830cb1fd99457227f90fb024902635e342344cb6b2926) // vk.SIGMA3.y
+ mstore(add(_vk, 0x3c0), 0x2e7fe658b8f1f34dc561568e4ef6c74bb36330404967952b1e15390c1e2443cf) // vk.SIGMA4.x
+ mstore(add(_vk, 0x3e0), 0x293a5337eedc88329f10aa45a11e4adbb77f74717345987d70ed726e3e4556f1) // vk.SIGMA4.y
+ mstore(add(_vk, 0x400), 0x02c397073c8abce6d4140c9b961209dd783bff1a1cfc999bb29859cfb16c46fc) // vk.TABLE1.x
+ mstore(add(_vk, 0x420), 0x2b7bba2d1efffce0d033f596b4d030750599be670db593af86e1923fe8a1bb18) // vk.TABLE1.y
+ mstore(add(_vk, 0x440), 0x2c71c58b66498f903b3bbbda3d05ce8ffb571a4b3cf83533f3f71b99a04f6e6b) // vk.TABLE2.x
+ mstore(add(_vk, 0x460), 0x039dce37f94d1bbd97ccea32a224fe2afaefbcbd080c84dcea90b54f4e0a858f) // vk.TABLE2.y
+ mstore(add(_vk, 0x480), 0x27dc44977efe6b3746a290706f4f7275783c73cfe56847d848fd93b63bf32083) // vk.TABLE3.x
+ mstore(add(_vk, 0x4a0), 0x0a5366266dd7b71a10b356030226a2de0cbf2edc8f085b16d73652b15eced8f5) // vk.TABLE3.y
+ mstore(add(_vk, 0x4c0), 0x136097d79e1b0ae373255e8760c49900a7588ec4d6809c90bb451005a3de3077) // vk.TABLE4.x
+ mstore(add(_vk, 0x4e0), 0x13dd7515ccac4095302d204f06f0bff2595d77bdf72e4acdb0b0b43969860d98) // vk.TABLE4.y
+ mstore(add(_vk, 0x500), 0x16ff3501369121d410b445929239ba057fe211dad1b706e49a3b55920fac20ec) // vk.TABLE_TYPE.x
+ mstore(add(_vk, 0x520), 0x1e190987ebd9cf480f608b82134a00eb8007673c1ed10b834a695adf0068522a) // vk.TABLE_TYPE.y
+ mstore(add(_vk, 0x540), 0x0baaf073a203ba4ba0093c827bb5b3f7a55611765f111ecf80c456f631e99f29) // vk.ID1.x
+ mstore(add(_vk, 0x560), 0x27cd34cafd5735ec970278202765e0f1e9da3494b30b948ebce3414d078cef9e) // vk.ID1.y
+ mstore(add(_vk, 0x580), 0x0868357b28039385c5a5058b6d358ebb29f26f9890d6cc6401f4921d5884edca) // vk.ID2.x
+ mstore(add(_vk, 0x5a0), 0x1060afe929554ca473103f5e68193c36fb6e229dde8edf7ec858b12d7e8be485) // vk.ID2.y
+ mstore(add(_vk, 0x5c0), 0x0b1c02619282755533457230b19b4a15226e07e207744c0857074dcab883af4a) // vk.ID3.x
+ mstore(add(_vk, 0x5e0), 0x0d928deafed363659688ed4ccdef521f2a0277e4807e6e1cbabca21dde5eb5e1) // vk.ID3.y
+ mstore(add(_vk, 0x600), 0x2eea648c8732596b1314fe2a4d2f05363f0c994e91cecad25835338edee2294f) // vk.ID4.x
+ mstore(add(_vk, 0x620), 0x0ab49886c2b94bd0bd3f6ed1dbbe2cb2671d2ae51d31c1210433c3972bb64578) // vk.ID4.y
+ mstore(add(_vk, 0x640), 0x00) // vk.contains_recursive_proof
+ mstore(add(_vk, 0x660), 0) // vk.recursive_proof_public_input_indices
+ mstore(add(_vk, 0x680), 0x260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c1) // vk.g2_x.X.c1
+ mstore(add(_vk, 0x6a0), 0x0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b0) // vk.g2_x.X.c0
+ mstore(add(_vk, 0x6c0), 0x04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe4) // vk.g2_x.Y.c1
+ mstore(add(_vk, 0x6e0), 0x22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e55) // vk.g2_x.Y.c0
+ mstore(_omegaInverseLoc, 0x02e40daf409556c02bfc85eb303402b774954d30aeb0337eb85a71e6373428de) // vk.work_root_inverse
+ }
+ }
+}
+
+/**
+ * @title Ultra Plonk proof verification contract
+ * @dev Top level Plonk proof verification contract, which allows Plonk proof to be verified
+ */
+abstract contract BaseUltraVerifier {
+ // VERIFICATION KEY MEMORY LOCATIONS
+ uint256 internal constant N_LOC = 0x380;
+ uint256 internal constant NUM_INPUTS_LOC = 0x3a0;
+ uint256 internal constant OMEGA_LOC = 0x3c0;
+ uint256 internal constant DOMAIN_INVERSE_LOC = 0x3e0;
+ uint256 internal constant Q1_X_LOC = 0x400;
+ uint256 internal constant Q1_Y_LOC = 0x420;
+ uint256 internal constant Q2_X_LOC = 0x440;
+ uint256 internal constant Q2_Y_LOC = 0x460;
+ uint256 internal constant Q3_X_LOC = 0x480;
+ uint256 internal constant Q3_Y_LOC = 0x4a0;
+ uint256 internal constant Q4_X_LOC = 0x4c0;
+ uint256 internal constant Q4_Y_LOC = 0x4e0;
+ uint256 internal constant QM_X_LOC = 0x500;
+ uint256 internal constant QM_Y_LOC = 0x520;
+ uint256 internal constant QC_X_LOC = 0x540;
+ uint256 internal constant QC_Y_LOC = 0x560;
+ uint256 internal constant QARITH_X_LOC = 0x580;
+ uint256 internal constant QARITH_Y_LOC = 0x5a0;
+ uint256 internal constant QSORT_X_LOC = 0x5c0;
+ uint256 internal constant QSORT_Y_LOC = 0x5e0;
+ uint256 internal constant QELLIPTIC_X_LOC = 0x600;
+ uint256 internal constant QELLIPTIC_Y_LOC = 0x620;
+ uint256 internal constant QAUX_X_LOC = 0x640;
+ uint256 internal constant QAUX_Y_LOC = 0x660;
+ uint256 internal constant SIGMA1_X_LOC = 0x680;
+ uint256 internal constant SIGMA1_Y_LOC = 0x6a0;
+ uint256 internal constant SIGMA2_X_LOC = 0x6c0;
+ uint256 internal constant SIGMA2_Y_LOC = 0x6e0;
+ uint256 internal constant SIGMA3_X_LOC = 0x700;
+ uint256 internal constant SIGMA3_Y_LOC = 0x720;
+ uint256 internal constant SIGMA4_X_LOC = 0x740;
+ uint256 internal constant SIGMA4_Y_LOC = 0x760;
+ uint256 internal constant TABLE1_X_LOC = 0x780;
+ uint256 internal constant TABLE1_Y_LOC = 0x7a0;
+ uint256 internal constant TABLE2_X_LOC = 0x7c0;
+ uint256 internal constant TABLE2_Y_LOC = 0x7e0;
+ uint256 internal constant TABLE3_X_LOC = 0x800;
+ uint256 internal constant TABLE3_Y_LOC = 0x820;
+ uint256 internal constant TABLE4_X_LOC = 0x840;
+ uint256 internal constant TABLE4_Y_LOC = 0x860;
+ uint256 internal constant TABLE_TYPE_X_LOC = 0x880;
+ uint256 internal constant TABLE_TYPE_Y_LOC = 0x8a0;
+ uint256 internal constant ID1_X_LOC = 0x8c0;
+ uint256 internal constant ID1_Y_LOC = 0x8e0;
+ uint256 internal constant ID2_X_LOC = 0x900;
+ uint256 internal constant ID2_Y_LOC = 0x920;
+ uint256 internal constant ID3_X_LOC = 0x940;
+ uint256 internal constant ID3_Y_LOC = 0x960;
+ uint256 internal constant ID4_X_LOC = 0x980;
+ uint256 internal constant ID4_Y_LOC = 0x9a0;
+ uint256 internal constant CONTAINS_RECURSIVE_PROOF_LOC = 0x9c0;
+ uint256 internal constant RECURSIVE_PROOF_PUBLIC_INPUT_INDICES_LOC = 0x9e0;
+ uint256 internal constant G2X_X0_LOC = 0xa00;
+ uint256 internal constant G2X_X1_LOC = 0xa20;
+ uint256 internal constant G2X_Y0_LOC = 0xa40;
+ uint256 internal constant G2X_Y1_LOC = 0xa60;
+
+ // ### PROOF DATA MEMORY LOCATIONS
+ uint256 internal constant W1_X_LOC = 0x1200;
+ uint256 internal constant W1_Y_LOC = 0x1220;
+ uint256 internal constant W2_X_LOC = 0x1240;
+ uint256 internal constant W2_Y_LOC = 0x1260;
+ uint256 internal constant W3_X_LOC = 0x1280;
+ uint256 internal constant W3_Y_LOC = 0x12a0;
+ uint256 internal constant W4_X_LOC = 0x12c0;
+ uint256 internal constant W4_Y_LOC = 0x12e0;
+ uint256 internal constant S_X_LOC = 0x1300;
+ uint256 internal constant S_Y_LOC = 0x1320;
+ uint256 internal constant Z_X_LOC = 0x1340;
+ uint256 internal constant Z_Y_LOC = 0x1360;
+ uint256 internal constant Z_LOOKUP_X_LOC = 0x1380;
+ uint256 internal constant Z_LOOKUP_Y_LOC = 0x13a0;
+ uint256 internal constant T1_X_LOC = 0x13c0;
+ uint256 internal constant T1_Y_LOC = 0x13e0;
+ uint256 internal constant T2_X_LOC = 0x1400;
+ uint256 internal constant T2_Y_LOC = 0x1420;
+ uint256 internal constant T3_X_LOC = 0x1440;
+ uint256 internal constant T3_Y_LOC = 0x1460;
+ uint256 internal constant T4_X_LOC = 0x1480;
+ uint256 internal constant T4_Y_LOC = 0x14a0;
+
+ uint256 internal constant W1_EVAL_LOC = 0x1600;
+ uint256 internal constant W2_EVAL_LOC = 0x1620;
+ uint256 internal constant W3_EVAL_LOC = 0x1640;
+ uint256 internal constant W4_EVAL_LOC = 0x1660;
+ uint256 internal constant S_EVAL_LOC = 0x1680;
+ uint256 internal constant Z_EVAL_LOC = 0x16a0;
+ uint256 internal constant Z_LOOKUP_EVAL_LOC = 0x16c0;
+ uint256 internal constant Q1_EVAL_LOC = 0x16e0;
+ uint256 internal constant Q2_EVAL_LOC = 0x1700;
+ uint256 internal constant Q3_EVAL_LOC = 0x1720;
+ uint256 internal constant Q4_EVAL_LOC = 0x1740;
+ uint256 internal constant QM_EVAL_LOC = 0x1760;
+ uint256 internal constant QC_EVAL_LOC = 0x1780;
+ uint256 internal constant QARITH_EVAL_LOC = 0x17a0;
+ uint256 internal constant QSORT_EVAL_LOC = 0x17c0;
+ uint256 internal constant QELLIPTIC_EVAL_LOC = 0x17e0;
+ uint256 internal constant QAUX_EVAL_LOC = 0x1800;
+ uint256 internal constant TABLE1_EVAL_LOC = 0x1840;
+ uint256 internal constant TABLE2_EVAL_LOC = 0x1860;
+ uint256 internal constant TABLE3_EVAL_LOC = 0x1880;
+ uint256 internal constant TABLE4_EVAL_LOC = 0x18a0;
+ uint256 internal constant TABLE_TYPE_EVAL_LOC = 0x18c0;
+ uint256 internal constant ID1_EVAL_LOC = 0x18e0;
+ uint256 internal constant ID2_EVAL_LOC = 0x1900;
+ uint256 internal constant ID3_EVAL_LOC = 0x1920;
+ uint256 internal constant ID4_EVAL_LOC = 0x1940;
+ uint256 internal constant SIGMA1_EVAL_LOC = 0x1960;
+ uint256 internal constant SIGMA2_EVAL_LOC = 0x1980;
+ uint256 internal constant SIGMA3_EVAL_LOC = 0x19a0;
+ uint256 internal constant SIGMA4_EVAL_LOC = 0x19c0;
+ uint256 internal constant W1_OMEGA_EVAL_LOC = 0x19e0;
+ uint256 internal constant W2_OMEGA_EVAL_LOC = 0x2000;
+ uint256 internal constant W3_OMEGA_EVAL_LOC = 0x2020;
+ uint256 internal constant W4_OMEGA_EVAL_LOC = 0x2040;
+ uint256 internal constant S_OMEGA_EVAL_LOC = 0x2060;
+ uint256 internal constant Z_OMEGA_EVAL_LOC = 0x2080;
+ uint256 internal constant Z_LOOKUP_OMEGA_EVAL_LOC = 0x20a0;
+ uint256 internal constant TABLE1_OMEGA_EVAL_LOC = 0x20c0;
+ uint256 internal constant TABLE2_OMEGA_EVAL_LOC = 0x20e0;
+ uint256 internal constant TABLE3_OMEGA_EVAL_LOC = 0x2100;
+ uint256 internal constant TABLE4_OMEGA_EVAL_LOC = 0x2120;
+
+ uint256 internal constant PI_Z_X_LOC = 0x2300;
+ uint256 internal constant PI_Z_Y_LOC = 0x2320;
+ uint256 internal constant PI_Z_OMEGA_X_LOC = 0x2340;
+ uint256 internal constant PI_Z_OMEGA_Y_LOC = 0x2360;
+
+ // Used for elliptic widget. These are alias names for wire + shifted wire evaluations
+ uint256 internal constant X1_EVAL_LOC = W2_EVAL_LOC;
+ uint256 internal constant X2_EVAL_LOC = W1_OMEGA_EVAL_LOC;
+ uint256 internal constant X3_EVAL_LOC = W2_OMEGA_EVAL_LOC;
+ uint256 internal constant Y1_EVAL_LOC = W3_EVAL_LOC;
+ uint256 internal constant Y2_EVAL_LOC = W4_OMEGA_EVAL_LOC;
+ uint256 internal constant Y3_EVAL_LOC = W3_OMEGA_EVAL_LOC;
+ uint256 internal constant QBETA_LOC = Q3_EVAL_LOC;
+ uint256 internal constant QBETA_SQR_LOC = Q4_EVAL_LOC;
+ uint256 internal constant QSIGN_LOC = Q1_EVAL_LOC;
+
+ // ### CHALLENGES MEMORY OFFSETS
+
+ uint256 internal constant C_BETA_LOC = 0x2600;
+ uint256 internal constant C_GAMMA_LOC = 0x2620;
+ uint256 internal constant C_ALPHA_LOC = 0x2640;
+ uint256 internal constant C_ETA_LOC = 0x2660;
+ uint256 internal constant C_ETA_SQR_LOC = 0x2680;
+ uint256 internal constant C_ETA_CUBE_LOC = 0x26a0;
+
+ uint256 internal constant C_ZETA_LOC = 0x26c0;
+ uint256 internal constant C_CURRENT_LOC = 0x26e0;
+ uint256 internal constant C_V0_LOC = 0x2700;
+ uint256 internal constant C_V1_LOC = 0x2720;
+ uint256 internal constant C_V2_LOC = 0x2740;
+ uint256 internal constant C_V3_LOC = 0x2760;
+ uint256 internal constant C_V4_LOC = 0x2780;
+ uint256 internal constant C_V5_LOC = 0x27a0;
+ uint256 internal constant C_V6_LOC = 0x27c0;
+ uint256 internal constant C_V7_LOC = 0x27e0;
+ uint256 internal constant C_V8_LOC = 0x2800;
+ uint256 internal constant C_V9_LOC = 0x2820;
+ uint256 internal constant C_V10_LOC = 0x2840;
+ uint256 internal constant C_V11_LOC = 0x2860;
+ uint256 internal constant C_V12_LOC = 0x2880;
+ uint256 internal constant C_V13_LOC = 0x28a0;
+ uint256 internal constant C_V14_LOC = 0x28c0;
+ uint256 internal constant C_V15_LOC = 0x28e0;
+ uint256 internal constant C_V16_LOC = 0x2900;
+ uint256 internal constant C_V17_LOC = 0x2920;
+ uint256 internal constant C_V18_LOC = 0x2940;
+ uint256 internal constant C_V19_LOC = 0x2960;
+ uint256 internal constant C_V20_LOC = 0x2980;
+ uint256 internal constant C_V21_LOC = 0x29a0;
+ uint256 internal constant C_V22_LOC = 0x29c0;
+ uint256 internal constant C_V23_LOC = 0x29e0;
+ uint256 internal constant C_V24_LOC = 0x2a00;
+ uint256 internal constant C_V25_LOC = 0x2a20;
+ uint256 internal constant C_V26_LOC = 0x2a40;
+ uint256 internal constant C_V27_LOC = 0x2a60;
+ uint256 internal constant C_V28_LOC = 0x2a80;
+ uint256 internal constant C_V29_LOC = 0x2aa0;
+ uint256 internal constant C_V30_LOC = 0x2ac0;
+
+ uint256 internal constant C_U_LOC = 0x2b00;
+
+ // ### LOCAL VARIABLES MEMORY OFFSETS
+ uint256 internal constant DELTA_NUMERATOR_LOC = 0x3000;
+ uint256 internal constant DELTA_DENOMINATOR_LOC = 0x3020;
+ uint256 internal constant ZETA_POW_N_LOC = 0x3040;
+ uint256 internal constant PUBLIC_INPUT_DELTA_LOC = 0x3060;
+ uint256 internal constant ZERO_POLY_LOC = 0x3080;
+ uint256 internal constant L_START_LOC = 0x30a0;
+ uint256 internal constant L_END_LOC = 0x30c0;
+ uint256 internal constant R_ZERO_EVAL_LOC = 0x30e0;
+
+ uint256 internal constant PLOOKUP_DELTA_NUMERATOR_LOC = 0x3100;
+ uint256 internal constant PLOOKUP_DELTA_DENOMINATOR_LOC = 0x3120;
+ uint256 internal constant PLOOKUP_DELTA_LOC = 0x3140;
+
+ uint256 internal constant ACCUMULATOR_X_LOC = 0x3160;
+ uint256 internal constant ACCUMULATOR_Y_LOC = 0x3180;
+ uint256 internal constant ACCUMULATOR2_X_LOC = 0x31a0;
+ uint256 internal constant ACCUMULATOR2_Y_LOC = 0x31c0;
+ uint256 internal constant PAIRING_LHS_X_LOC = 0x31e0;
+ uint256 internal constant PAIRING_LHS_Y_LOC = 0x3200;
+ uint256 internal constant PAIRING_RHS_X_LOC = 0x3220;
+ uint256 internal constant PAIRING_RHS_Y_LOC = 0x3240;
+
+ // ### SUCCESS FLAG MEMORY LOCATIONS
+ uint256 internal constant GRAND_PRODUCT_SUCCESS_FLAG = 0x3300;
+ uint256 internal constant ARITHMETIC_TERM_SUCCESS_FLAG = 0x3020;
+ uint256 internal constant BATCH_OPENING_SUCCESS_FLAG = 0x3340;
+ uint256 internal constant OPENING_COMMITMENT_SUCCESS_FLAG = 0x3360;
+ uint256 internal constant PAIRING_PREAMBLE_SUCCESS_FLAG = 0x3380;
+ uint256 internal constant PAIRING_SUCCESS_FLAG = 0x33a0;
+ uint256 internal constant RESULT_FLAG = 0x33c0;
+
+ // misc stuff
+ uint256 internal constant OMEGA_INVERSE_LOC = 0x3400;
+ uint256 internal constant C_ALPHA_SQR_LOC = 0x3420;
+ uint256 internal constant C_ALPHA_CUBE_LOC = 0x3440;
+ uint256 internal constant C_ALPHA_QUAD_LOC = 0x3460;
+ uint256 internal constant C_ALPHA_BASE_LOC = 0x3480;
+
+ // ### RECURSION VARIABLE MEMORY LOCATIONS
+ uint256 internal constant RECURSIVE_P1_X_LOC = 0x3500;
+ uint256 internal constant RECURSIVE_P1_Y_LOC = 0x3520;
+ uint256 internal constant RECURSIVE_P2_X_LOC = 0x3540;
+ uint256 internal constant RECURSIVE_P2_Y_LOC = 0x3560;
+
+ uint256 internal constant PUBLIC_INPUTS_HASH_LOCATION = 0x3580;
+
+ // sub-identity storage
+ uint256 internal constant PERMUTATION_IDENTITY = 0x3600;
+ uint256 internal constant PLOOKUP_IDENTITY = 0x3620;
+ uint256 internal constant ARITHMETIC_IDENTITY = 0x3640;
+ uint256 internal constant SORT_IDENTITY = 0x3660;
+ uint256 internal constant ELLIPTIC_IDENTITY = 0x3680;
+ uint256 internal constant AUX_IDENTITY = 0x36a0;
+ uint256 internal constant AUX_NON_NATIVE_FIELD_EVALUATION = 0x36c0;
+ uint256 internal constant AUX_LIMB_ACCUMULATOR_EVALUATION = 0x36e0;
+ uint256 internal constant AUX_RAM_CONSISTENCY_EVALUATION = 0x3700;
+ uint256 internal constant AUX_ROM_CONSISTENCY_EVALUATION = 0x3720;
+ uint256 internal constant AUX_MEMORY_EVALUATION = 0x3740;
+
+ uint256 internal constant QUOTIENT_EVAL_LOC = 0x3760;
+ uint256 internal constant ZERO_POLY_INVERSE_LOC = 0x3780;
+
+ // when hashing public inputs we use memory at NU_CHALLENGE_INPUT_LOC_A, as the hash input size is unknown at compile time
+ uint256 internal constant NU_CHALLENGE_INPUT_LOC_A = 0x37a0;
+ uint256 internal constant NU_CHALLENGE_INPUT_LOC_B = 0x37c0;
+ uint256 internal constant NU_CHALLENGE_INPUT_LOC_C = 0x37e0;
+
+ bytes4 internal constant PUBLIC_INPUT_INVALID_BN128_G1_POINT_SELECTOR = 0xeba9f4a6;
+ bytes4 internal constant PUBLIC_INPUT_GE_P_SELECTOR = 0x374a972f;
+ bytes4 internal constant MOD_EXP_FAILURE_SELECTOR = 0xf894a7bc;
+ bytes4 internal constant EC_SCALAR_MUL_FAILURE_SELECTOR = 0xf755f369;
+ bytes4 internal constant PROOF_FAILURE_SELECTOR = 0x0711fcec;
+
+ uint256 internal constant ETA_INPUT_LENGTH = 0xc0; // W1, W2, W3 = 6 * 0x20 bytes
+
+ // We need to hash 41 field elements when generating the NU challenge
+ // w1, w2, w3, w4, s, z, z_lookup, q1, q2, q3, q4, qm, qc, qarith (14)
+ // qsort, qelliptic, qaux, sigma1, sigma2, sigma, sigma4, (7)
+ // table1, table2, table3, table4, tabletype, id1, id2, id3, id4, (9)
+ // w1_omega, w2_omega, w3_omega, w4_omega, s_omega, z_omega, z_lookup_omega, (7)
+ // table1_omega, table2_omega, table3_omega, table4_omega (4)
+ uint256 internal constant NU_INPUT_LENGTH = 0x520; // 0x520 = 41 * 0x20
+
+ // There are ELEVEN G1 group elements added into the transcript in the `beta` round, that we need to skip over
+ // W1, W2, W3, W4, S, Z, Z_LOOKUP, T1, T2, T3, T4
+ uint256 internal constant NU_CALLDATA_SKIP_LENGTH = 0x2c0; // 11 * 0x40 = 0x2c0
+
+ uint256 internal constant NEGATIVE_INVERSE_OF_2_MODULO_P =
+ 0x183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f8000000;
+ uint256 internal constant LIMB_SIZE = 0x100000000000000000; // 2<<68
+ uint256 internal constant SUBLIMB_SHIFT = 0x4000; // 2<<14
+
+ error PUBLIC_INPUT_COUNT_INVALID(uint256 expected, uint256 actual);
+ error PUBLIC_INPUT_INVALID_BN128_G1_POINT();
+ error PUBLIC_INPUT_GE_P();
+ error MOD_EXP_FAILURE();
+ error EC_SCALAR_MUL_FAILURE();
+ error PROOF_FAILURE();
+
+ function getVerificationKeyHash() public pure virtual returns (bytes32);
+
+ function loadVerificationKey(uint256 _vk, uint256 _omegaInverseLoc) internal pure virtual;
+
+ /**
+ * @notice Verify a Ultra Plonk proof
+ * @param _proof - The serialized proof
+ * @param _publicInputs - An array of the public inputs
+ * @return True if proof is valid, reverts otherwise
+ */
+ function verify(bytes calldata _proof, bytes32[] calldata _publicInputs) external view returns (bool) {
+ loadVerificationKey(N_LOC, OMEGA_INVERSE_LOC);
+
+ uint256 requiredPublicInputCount;
+ assembly {
+ requiredPublicInputCount := mload(NUM_INPUTS_LOC)
+ }
+ if (requiredPublicInputCount != _publicInputs.length) {
+ revert PUBLIC_INPUT_COUNT_INVALID(requiredPublicInputCount, _publicInputs.length);
+ }
+
+ assembly {
+ let q := 21888242871839275222246405745257275088696311157297823662689037894645226208583 // EC group order
+ let p := 21888242871839275222246405745257275088548364400416034343698204186575808495617 // Prime field order
+
+ /**
+ * LOAD PROOF FROM CALLDATA
+ */
+ {
+ let data_ptr := add(calldataload(0x04), 0x24)
+
+ mstore(W1_Y_LOC, mod(calldataload(data_ptr), q))
+ mstore(W1_X_LOC, mod(calldataload(add(data_ptr, 0x20)), q))
+
+ mstore(W2_Y_LOC, mod(calldataload(add(data_ptr, 0x40)), q))
+ mstore(W2_X_LOC, mod(calldataload(add(data_ptr, 0x60)), q))
+
+ mstore(W3_Y_LOC, mod(calldataload(add(data_ptr, 0x80)), q))
+ mstore(W3_X_LOC, mod(calldataload(add(data_ptr, 0xa0)), q))
+
+ mstore(W4_Y_LOC, mod(calldataload(add(data_ptr, 0xc0)), q))
+ mstore(W4_X_LOC, mod(calldataload(add(data_ptr, 0xe0)), q))
+
+ mstore(S_Y_LOC, mod(calldataload(add(data_ptr, 0x100)), q))
+ mstore(S_X_LOC, mod(calldataload(add(data_ptr, 0x120)), q))
+ mstore(Z_Y_LOC, mod(calldataload(add(data_ptr, 0x140)), q))
+ mstore(Z_X_LOC, mod(calldataload(add(data_ptr, 0x160)), q))
+ mstore(Z_LOOKUP_Y_LOC, mod(calldataload(add(data_ptr, 0x180)), q))
+ mstore(Z_LOOKUP_X_LOC, mod(calldataload(add(data_ptr, 0x1a0)), q))
+ mstore(T1_Y_LOC, mod(calldataload(add(data_ptr, 0x1c0)), q))
+ mstore(T1_X_LOC, mod(calldataload(add(data_ptr, 0x1e0)), q))
+
+ mstore(T2_Y_LOC, mod(calldataload(add(data_ptr, 0x200)), q))
+ mstore(T2_X_LOC, mod(calldataload(add(data_ptr, 0x220)), q))
+
+ mstore(T3_Y_LOC, mod(calldataload(add(data_ptr, 0x240)), q))
+ mstore(T3_X_LOC, mod(calldataload(add(data_ptr, 0x260)), q))
+
+ mstore(T4_Y_LOC, mod(calldataload(add(data_ptr, 0x280)), q))
+ mstore(T4_X_LOC, mod(calldataload(add(data_ptr, 0x2a0)), q))
+
+ mstore(W1_EVAL_LOC, mod(calldataload(add(data_ptr, 0x2c0)), p))
+ mstore(W2_EVAL_LOC, mod(calldataload(add(data_ptr, 0x2e0)), p))
+ mstore(W3_EVAL_LOC, mod(calldataload(add(data_ptr, 0x300)), p))
+ mstore(W4_EVAL_LOC, mod(calldataload(add(data_ptr, 0x320)), p))
+ mstore(S_EVAL_LOC, mod(calldataload(add(data_ptr, 0x340)), p))
+ mstore(Z_EVAL_LOC, mod(calldataload(add(data_ptr, 0x360)), p))
+ mstore(Z_LOOKUP_EVAL_LOC, mod(calldataload(add(data_ptr, 0x380)), p))
+ mstore(Q1_EVAL_LOC, mod(calldataload(add(data_ptr, 0x3a0)), p))
+ mstore(Q2_EVAL_LOC, mod(calldataload(add(data_ptr, 0x3c0)), p))
+ mstore(Q3_EVAL_LOC, mod(calldataload(add(data_ptr, 0x3e0)), p))
+ mstore(Q4_EVAL_LOC, mod(calldataload(add(data_ptr, 0x400)), p))
+ mstore(QM_EVAL_LOC, mod(calldataload(add(data_ptr, 0x420)), p))
+ mstore(QC_EVAL_LOC, mod(calldataload(add(data_ptr, 0x440)), p))
+ mstore(QARITH_EVAL_LOC, mod(calldataload(add(data_ptr, 0x460)), p))
+ mstore(QSORT_EVAL_LOC, mod(calldataload(add(data_ptr, 0x480)), p))
+ mstore(QELLIPTIC_EVAL_LOC, mod(calldataload(add(data_ptr, 0x4a0)), p))
+ mstore(QAUX_EVAL_LOC, mod(calldataload(add(data_ptr, 0x4c0)), p))
+
+ mstore(SIGMA1_EVAL_LOC, mod(calldataload(add(data_ptr, 0x4e0)), p))
+ mstore(SIGMA2_EVAL_LOC, mod(calldataload(add(data_ptr, 0x500)), p))
+
+ mstore(SIGMA3_EVAL_LOC, mod(calldataload(add(data_ptr, 0x520)), p))
+ mstore(SIGMA4_EVAL_LOC, mod(calldataload(add(data_ptr, 0x540)), p))
+
+ mstore(TABLE1_EVAL_LOC, mod(calldataload(add(data_ptr, 0x560)), p))
+ mstore(TABLE2_EVAL_LOC, mod(calldataload(add(data_ptr, 0x580)), p))
+ mstore(TABLE3_EVAL_LOC, mod(calldataload(add(data_ptr, 0x5a0)), p))
+ mstore(TABLE4_EVAL_LOC, mod(calldataload(add(data_ptr, 0x5c0)), p))
+ mstore(TABLE_TYPE_EVAL_LOC, mod(calldataload(add(data_ptr, 0x5e0)), p))
+
+ mstore(ID1_EVAL_LOC, mod(calldataload(add(data_ptr, 0x600)), p))
+ mstore(ID2_EVAL_LOC, mod(calldataload(add(data_ptr, 0x620)), p))
+ mstore(ID3_EVAL_LOC, mod(calldataload(add(data_ptr, 0x640)), p))
+ mstore(ID4_EVAL_LOC, mod(calldataload(add(data_ptr, 0x660)), p))
+
+ mstore(W1_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x680)), p))
+ mstore(W2_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x6a0)), p))
+ mstore(W3_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x6c0)), p))
+ mstore(W4_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x6e0)), p))
+ mstore(S_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x700)), p))
+
+ mstore(Z_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x720)), p))
+
+ mstore(Z_LOOKUP_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x740)), p))
+ mstore(TABLE1_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x760)), p))
+ mstore(TABLE2_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x780)), p))
+ mstore(TABLE3_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x7a0)), p))
+ mstore(TABLE4_OMEGA_EVAL_LOC, mod(calldataload(add(data_ptr, 0x7c0)), p))
+
+ mstore(PI_Z_Y_LOC, mod(calldataload(add(data_ptr, 0x7e0)), q))
+ mstore(PI_Z_X_LOC, mod(calldataload(add(data_ptr, 0x800)), q))
+
+ mstore(PI_Z_OMEGA_Y_LOC, mod(calldataload(add(data_ptr, 0x820)), q))
+ mstore(PI_Z_OMEGA_X_LOC, mod(calldataload(add(data_ptr, 0x840)), q))
+ }
+
+ /**
+ * LOAD RECURSIVE PROOF INTO MEMORY
+ */
+ {
+ if mload(CONTAINS_RECURSIVE_PROOF_LOC) {
+ let public_inputs_ptr := add(calldataload(0x24), 0x24)
+ let index_counter := add(shl(5, mload(RECURSIVE_PROOF_PUBLIC_INPUT_INDICES_LOC)), public_inputs_ptr)
+
+ let x0 := calldataload(index_counter)
+ x0 := add(x0, shl(68, calldataload(add(index_counter, 0x20))))
+ x0 := add(x0, shl(136, calldataload(add(index_counter, 0x40))))
+ x0 := add(x0, shl(204, calldataload(add(index_counter, 0x60))))
+ let y0 := calldataload(add(index_counter, 0x80))
+ y0 := add(y0, shl(68, calldataload(add(index_counter, 0xa0))))
+ y0 := add(y0, shl(136, calldataload(add(index_counter, 0xc0))))
+ y0 := add(y0, shl(204, calldataload(add(index_counter, 0xe0))))
+ let x1 := calldataload(add(index_counter, 0x100))
+ x1 := add(x1, shl(68, calldataload(add(index_counter, 0x120))))
+ x1 := add(x1, shl(136, calldataload(add(index_counter, 0x140))))
+ x1 := add(x1, shl(204, calldataload(add(index_counter, 0x160))))
+ let y1 := calldataload(add(index_counter, 0x180))
+ y1 := add(y1, shl(68, calldataload(add(index_counter, 0x1a0))))
+ y1 := add(y1, shl(136, calldataload(add(index_counter, 0x1c0))))
+ y1 := add(y1, shl(204, calldataload(add(index_counter, 0x1e0))))
+ mstore(RECURSIVE_P1_X_LOC, x0)
+ mstore(RECURSIVE_P1_Y_LOC, y0)
+ mstore(RECURSIVE_P2_X_LOC, x1)
+ mstore(RECURSIVE_P2_Y_LOC, y1)
+
+ // validate these are valid bn128 G1 points
+ if iszero(and(and(lt(x0, q), lt(x1, q)), and(lt(y0, q), lt(y1, q)))) {
+ mstore(0x00, PUBLIC_INPUT_INVALID_BN128_G1_POINT_SELECTOR)
+ revert(0x00, 0x04)
+ }
+ }
+ }
+
+ {
+ /**
+ * Generate initial challenge
+ */
+ mstore(0x00, shl(224, mload(N_LOC)))
+ mstore(0x04, shl(224, mload(NUM_INPUTS_LOC)))
+ let challenge := keccak256(0x00, 0x08)
+
+ /**
+ * Generate eta challenge
+ */
+ mstore(PUBLIC_INPUTS_HASH_LOCATION, challenge)
+ // The public input location is stored at 0x24, we then add 0x24 to skip selector and the length of public inputs
+ let public_inputs_start := add(calldataload(0x24), 0x24)
+ // copy the public inputs over
+ let public_input_size := mul(mload(NUM_INPUTS_LOC), 0x20)
+ calldatacopy(add(PUBLIC_INPUTS_HASH_LOCATION, 0x20), public_inputs_start, public_input_size)
+
+ // copy W1, W2, W3 into challenge. Each point is 0x40 bytes, so load 0xc0 = 3 * 0x40 bytes (ETA input length)
+ let w_start := add(calldataload(0x04), 0x24)
+ calldatacopy(add(add(PUBLIC_INPUTS_HASH_LOCATION, 0x20), public_input_size), w_start, ETA_INPUT_LENGTH)
+
+ // Challenge is the old challenge + public inputs + W1, W2, W3 (0x20 + public_input_size + 0xc0)
+ let challenge_bytes_size := add(0x20, add(public_input_size, ETA_INPUT_LENGTH))
+
+ challenge := keccak256(PUBLIC_INPUTS_HASH_LOCATION, challenge_bytes_size)
+ {
+ let eta := mod(challenge, p)
+ mstore(C_ETA_LOC, eta)
+ mstore(C_ETA_SQR_LOC, mulmod(eta, eta, p))
+ mstore(C_ETA_CUBE_LOC, mulmod(mload(C_ETA_SQR_LOC), eta, p))
+ }
+
+ /**
+ * Generate beta challenge
+ */
+ mstore(0x00, challenge)
+ mstore(0x20, mload(W4_Y_LOC))
+ mstore(0x40, mload(W4_X_LOC))
+ mstore(0x60, mload(S_Y_LOC))
+ mstore(0x80, mload(S_X_LOC))
+ challenge := keccak256(0x00, 0xa0)
+ mstore(C_BETA_LOC, mod(challenge, p))
+
+ /**
+ * Generate gamma challenge
+ */
+ mstore(0x00, challenge)
+ mstore8(0x20, 0x01)
+ challenge := keccak256(0x00, 0x21)
+ mstore(C_GAMMA_LOC, mod(challenge, p))
+
+ /**
+ * Generate alpha challenge
+ */
+ mstore(0x00, challenge)
+ mstore(0x20, mload(Z_Y_LOC))
+ mstore(0x40, mload(Z_X_LOC))
+ mstore(0x60, mload(Z_LOOKUP_Y_LOC))
+ mstore(0x80, mload(Z_LOOKUP_X_LOC))
+ challenge := keccak256(0x00, 0xa0)
+ mstore(C_ALPHA_LOC, mod(challenge, p))
+
+ /**
+ * Compute and store some powers of alpha for future computations
+ */
+ let alpha := mload(C_ALPHA_LOC)
+ mstore(C_ALPHA_SQR_LOC, mulmod(alpha, alpha, p))
+ mstore(C_ALPHA_CUBE_LOC, mulmod(mload(C_ALPHA_SQR_LOC), alpha, p))
+ mstore(C_ALPHA_QUAD_LOC, mulmod(mload(C_ALPHA_CUBE_LOC), alpha, p))
+ mstore(C_ALPHA_BASE_LOC, alpha)
+
+ /**
+ * Generate zeta challenge
+ */
+ mstore(0x00, challenge)
+ mstore(0x20, mload(T1_Y_LOC))
+ mstore(0x40, mload(T1_X_LOC))
+ mstore(0x60, mload(T2_Y_LOC))
+ mstore(0x80, mload(T2_X_LOC))
+ mstore(0xa0, mload(T3_Y_LOC))
+ mstore(0xc0, mload(T3_X_LOC))
+ mstore(0xe0, mload(T4_Y_LOC))
+ mstore(0x100, mload(T4_X_LOC))
+
+ challenge := keccak256(0x00, 0x120)
+
+ mstore(C_ZETA_LOC, mod(challenge, p))
+ mstore(C_CURRENT_LOC, challenge)
+ }
+
+ /**
+ * EVALUATE FIELD OPERATIONS
+ */
+
+ /**
+ * COMPUTE PUBLIC INPUT DELTA
+ * ΔPI = ∏ᵢ∈ℓ(wᵢ + β σ(i) + γ) / ∏ᵢ∈ℓ(wᵢ + β σ'(i) + γ)
+ */
+ {
+ let beta := mload(C_BETA_LOC) // β
+ let gamma := mload(C_GAMMA_LOC) // γ
+ let work_root := mload(OMEGA_LOC) // ω
+ let numerator_value := 1
+ let denominator_value := 1
+
+ let p_clone := p // move p to the front of the stack
+ let valid_inputs := true
+
+ // Load the starting point of the public inputs (jump over the selector and the length of public inputs [0x24])
+ let public_inputs_ptr := add(calldataload(0x24), 0x24)
+
+ // endpoint_ptr = public_inputs_ptr + num_inputs * 0x20. // every public input is 0x20 bytes
+ let endpoint_ptr := add(public_inputs_ptr, mul(mload(NUM_INPUTS_LOC), 0x20))
+
+ // root_1 = β * 0x05
+ let root_1 := mulmod(beta, 0x05, p_clone) // k1.β
+ // root_2 = β * 0x0c
+ let root_2 := mulmod(beta, 0x0c, p_clone)
+ // @note 0x05 + 0x07 == 0x0c == external coset generator
+
+ for {} lt(public_inputs_ptr, endpoint_ptr) { public_inputs_ptr := add(public_inputs_ptr, 0x20) } {
+ /**
+ * input = public_input[i]
+ * valid_inputs &= input < p
+ * temp = input + gamma
+ * numerator_value *= (β.σ(i) + wᵢ + γ) // σ(i) = 0x05.ωⁱ
+ * denominator_value *= (β.σ'(i) + wᵢ + γ) // σ'(i) = 0x0c.ωⁱ
+ * root_1 *= ω
+ * root_2 *= ω
+ */
+
+ let input := calldataload(public_inputs_ptr)
+ valid_inputs := and(valid_inputs, lt(input, p_clone))
+ let temp := addmod(input, gamma, p_clone)
+
+ numerator_value := mulmod(numerator_value, add(root_1, temp), p_clone)
+ denominator_value := mulmod(denominator_value, add(root_2, temp), p_clone)
+
+ root_1 := mulmod(root_1, work_root, p_clone)
+ root_2 := mulmod(root_2, work_root, p_clone)
+ }
+
+ // Revert if not all public inputs are field elements (i.e. < p)
+ if iszero(valid_inputs) {
+ mstore(0x00, PUBLIC_INPUT_GE_P_SELECTOR)
+ revert(0x00, 0x04)
+ }
+
+ mstore(DELTA_NUMERATOR_LOC, numerator_value)
+ mstore(DELTA_DENOMINATOR_LOC, denominator_value)
+ }
+
+ /**
+ * Compute Plookup delta factor [γ(1 + β)]^{n-k}
+ * k = num roots cut out of Z_H = 4
+ */
+ {
+ let delta_base := mulmod(mload(C_GAMMA_LOC), addmod(mload(C_BETA_LOC), 1, p), p)
+ let delta_numerator := delta_base
+ {
+ let exponent := mload(N_LOC)
+ let count := 1
+ for {} lt(count, exponent) { count := add(count, count) } {
+ delta_numerator := mulmod(delta_numerator, delta_numerator, p)
+ }
+ }
+ mstore(PLOOKUP_DELTA_NUMERATOR_LOC, delta_numerator)
+
+ let delta_denominator := mulmod(delta_base, delta_base, p)
+ delta_denominator := mulmod(delta_denominator, delta_denominator, p)
+ mstore(PLOOKUP_DELTA_DENOMINATOR_LOC, delta_denominator)
+ }
+ /**
+ * Compute lagrange poly and vanishing poly fractions
+ */
+ {
+ /**
+ * vanishing_numerator = zeta
+ * ZETA_POW_N = zeta^n
+ * vanishing_numerator -= 1
+ * accumulating_root = omega_inverse
+ * work_root = p - accumulating_root
+ * domain_inverse = domain_inverse
+ * vanishing_denominator = zeta + work_root
+ * work_root *= accumulating_root
+ * vanishing_denominator *= (zeta + work_root)
+ * work_root *= accumulating_root
+ * vanishing_denominator *= (zeta + work_root)
+ * vanishing_denominator *= (zeta + (zeta + accumulating_root))
+ * work_root = omega
+ * lagrange_numerator = vanishing_numerator * domain_inverse
+ * l_start_denominator = zeta - 1
+ * accumulating_root = work_root^2
+ * l_end_denominator = accumulating_root^2 * work_root * zeta - 1
+ * Note: l_end_denominator term contains a term \omega^5 to cut out 5 roots of unity from vanishing poly
+ */
+
+ let zeta := mload(C_ZETA_LOC)
+
+ // compute zeta^n, where n is a power of 2
+ let vanishing_numerator := zeta
+ {
+ // pow_small
+ let exponent := mload(N_LOC)
+ let count := 1
+ for {} lt(count, exponent) { count := add(count, count) } {
+ vanishing_numerator := mulmod(vanishing_numerator, vanishing_numerator, p)
+ }
+ }
+ mstore(ZETA_POW_N_LOC, vanishing_numerator)
+ vanishing_numerator := addmod(vanishing_numerator, sub(p, 1), p)
+
+ let accumulating_root := mload(OMEGA_INVERSE_LOC)
+ let work_root := sub(p, accumulating_root)
+ let domain_inverse := mload(DOMAIN_INVERSE_LOC)
+
+ let vanishing_denominator := addmod(zeta, work_root, p)
+ work_root := mulmod(work_root, accumulating_root, p)
+ vanishing_denominator := mulmod(vanishing_denominator, addmod(zeta, work_root, p), p)
+ work_root := mulmod(work_root, accumulating_root, p)
+ vanishing_denominator := mulmod(vanishing_denominator, addmod(zeta, work_root, p), p)
+ vanishing_denominator :=
+ mulmod(vanishing_denominator, addmod(zeta, mulmod(work_root, accumulating_root, p), p), p)
+
+ work_root := mload(OMEGA_LOC)
+
+ let lagrange_numerator := mulmod(vanishing_numerator, domain_inverse, p)
+ let l_start_denominator := addmod(zeta, sub(p, 1), p)
+
+ accumulating_root := mulmod(work_root, work_root, p)
+
+ let l_end_denominator :=
+ addmod(
+ mulmod(mulmod(mulmod(accumulating_root, accumulating_root, p), work_root, p), zeta, p), sub(p, 1), p
+ )
+
+ /**
+ * Compute inversions using Montgomery's batch inversion trick
+ */
+ let accumulator := mload(DELTA_DENOMINATOR_LOC)
+ let t0 := accumulator
+ accumulator := mulmod(accumulator, vanishing_denominator, p)
+ let t1 := accumulator
+ accumulator := mulmod(accumulator, vanishing_numerator, p)
+ let t2 := accumulator
+ accumulator := mulmod(accumulator, l_start_denominator, p)
+ let t3 := accumulator
+ accumulator := mulmod(accumulator, mload(PLOOKUP_DELTA_DENOMINATOR_LOC), p)
+ let t4 := accumulator
+ {
+ mstore(0, 0x20)
+ mstore(0x20, 0x20)
+ mstore(0x40, 0x20)
+ mstore(0x60, mulmod(accumulator, l_end_denominator, p))
+ mstore(0x80, sub(p, 2))
+ mstore(0xa0, p)
+ if iszero(staticcall(gas(), 0x05, 0x00, 0xc0, 0x00, 0x20)) {
+ mstore(0x0, MOD_EXP_FAILURE_SELECTOR)
+ revert(0x00, 0x04)
+ }
+ accumulator := mload(0x00)
+ }
+
+ t4 := mulmod(accumulator, t4, p)
+ accumulator := mulmod(accumulator, l_end_denominator, p)
+
+ t3 := mulmod(accumulator, t3, p)
+ accumulator := mulmod(accumulator, mload(PLOOKUP_DELTA_DENOMINATOR_LOC), p)
+
+ t2 := mulmod(accumulator, t2, p)
+ accumulator := mulmod(accumulator, l_start_denominator, p)
+
+ t1 := mulmod(accumulator, t1, p)
+ accumulator := mulmod(accumulator, vanishing_numerator, p)
+
+ t0 := mulmod(accumulator, t0, p)
+ accumulator := mulmod(accumulator, vanishing_denominator, p)
+
+ accumulator := mulmod(mulmod(accumulator, accumulator, p), mload(DELTA_DENOMINATOR_LOC), p)
+
+ mstore(PUBLIC_INPUT_DELTA_LOC, mulmod(mload(DELTA_NUMERATOR_LOC), accumulator, p))
+ mstore(ZERO_POLY_LOC, mulmod(vanishing_numerator, t0, p))
+ mstore(ZERO_POLY_INVERSE_LOC, mulmod(vanishing_denominator, t1, p))
+ mstore(L_START_LOC, mulmod(lagrange_numerator, t2, p))
+ mstore(PLOOKUP_DELTA_LOC, mulmod(mload(PLOOKUP_DELTA_NUMERATOR_LOC), t3, p))
+ mstore(L_END_LOC, mulmod(lagrange_numerator, t4, p))
+ }
+
+ /**
+ * UltraPlonk Widget Ordering:
+ *
+ * 1. Permutation widget
+ * 2. Plookup widget
+ * 3. Arithmetic widget
+ * 4. Fixed base widget (?)
+ * 5. GenPermSort widget
+ * 6. Elliptic widget
+ * 7. Auxiliary widget
+ */
+
+ /**
+ * COMPUTE PERMUTATION WIDGET EVALUATION
+ */
+ {
+ let alpha := mload(C_ALPHA_LOC)
+ let beta := mload(C_BETA_LOC)
+ let gamma := mload(C_GAMMA_LOC)
+
+ /**
+ * t1 = (W1 + gamma + beta * ID1) * (W2 + gamma + beta * ID2)
+ * t2 = (W3 + gamma + beta * ID3) * (W4 + gamma + beta * ID4)
+ * result = alpha_base * z_eval * t1 * t2
+ * t1 = (W1 + gamma + beta * sigma_1_eval) * (W2 + gamma + beta * sigma_2_eval)
+ * t2 = (W2 + gamma + beta * sigma_3_eval) * (W3 + gamma + beta * sigma_4_eval)
+ * result -= (alpha_base * z_omega_eval * t1 * t2)
+ */
+ let t1 :=
+ mulmod(
+ add(add(mload(W1_EVAL_LOC), gamma), mulmod(beta, mload(ID1_EVAL_LOC), p)),
+ add(add(mload(W2_EVAL_LOC), gamma), mulmod(beta, mload(ID2_EVAL_LOC), p)),
+ p
+ )
+ let t2 :=
+ mulmod(
+ add(add(mload(W3_EVAL_LOC), gamma), mulmod(beta, mload(ID3_EVAL_LOC), p)),
+ add(add(mload(W4_EVAL_LOC), gamma), mulmod(beta, mload(ID4_EVAL_LOC), p)),
+ p
+ )
+ let result := mulmod(mload(C_ALPHA_BASE_LOC), mulmod(mload(Z_EVAL_LOC), mulmod(t1, t2, p), p), p)
+ t1 :=
+ mulmod(
+ add(add(mload(W1_EVAL_LOC), gamma), mulmod(beta, mload(SIGMA1_EVAL_LOC), p)),
+ add(add(mload(W2_EVAL_LOC), gamma), mulmod(beta, mload(SIGMA2_EVAL_LOC), p)),
+ p
+ )
+ t2 :=
+ mulmod(
+ add(add(mload(W3_EVAL_LOC), gamma), mulmod(beta, mload(SIGMA3_EVAL_LOC), p)),
+ add(add(mload(W4_EVAL_LOC), gamma), mulmod(beta, mload(SIGMA4_EVAL_LOC), p)),
+ p
+ )
+ result :=
+ addmod(
+ result,
+ sub(p, mulmod(mload(C_ALPHA_BASE_LOC), mulmod(mload(Z_OMEGA_EVAL_LOC), mulmod(t1, t2, p), p), p)),
+ p
+ )
+
+ /**
+ * alpha_base *= alpha
+ * result += alpha_base . (L_{n-k}(ʓ) . (z(ʓ.ω) - ∆_{PI}))
+ * alpha_base *= alpha
+ * result += alpha_base . (L_1(ʓ)(Z(ʓ) - 1))
+ * alpha_Base *= alpha
+ */
+ mstore(C_ALPHA_BASE_LOC, mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_LOC), p))
+ result :=
+ addmod(
+ result,
+ mulmod(
+ mload(C_ALPHA_BASE_LOC),
+ mulmod(
+ mload(L_END_LOC),
+ addmod(mload(Z_OMEGA_EVAL_LOC), sub(p, mload(PUBLIC_INPUT_DELTA_LOC)), p),
+ p
+ ),
+ p
+ ),
+ p
+ )
+ mstore(C_ALPHA_BASE_LOC, mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_LOC), p))
+ mstore(
+ PERMUTATION_IDENTITY,
+ addmod(
+ result,
+ mulmod(
+ mload(C_ALPHA_BASE_LOC),
+ mulmod(mload(L_START_LOC), addmod(mload(Z_EVAL_LOC), sub(p, 1), p), p),
+ p
+ ),
+ p
+ )
+ )
+ mstore(C_ALPHA_BASE_LOC, mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_LOC), p))
+ }
+
+ /**
+ * COMPUTE PLOOKUP WIDGET EVALUATION
+ */
+ {
+ /**
+ * Goal: f = (w1(z) + q2.w1(zω)) + η(w2(z) + qm.w2(zω)) + η²(w3(z) + qc.w_3(zω)) + q3(z).η³
+ * f = η.q3(z)
+ * f += (w3(z) + qc.w_3(zω))
+ * f *= η
+ * f += (w2(z) + qm.w2(zω))
+ * f *= η
+ * f += (w1(z) + q2.w1(zω))
+ */
+ let f := mulmod(mload(C_ETA_LOC), mload(Q3_EVAL_LOC), p)
+ f :=
+ addmod(f, addmod(mload(W3_EVAL_LOC), mulmod(mload(QC_EVAL_LOC), mload(W3_OMEGA_EVAL_LOC), p), p), p)
+ f := mulmod(f, mload(C_ETA_LOC), p)
+ f :=
+ addmod(f, addmod(mload(W2_EVAL_LOC), mulmod(mload(QM_EVAL_LOC), mload(W2_OMEGA_EVAL_LOC), p), p), p)
+ f := mulmod(f, mload(C_ETA_LOC), p)
+ f :=
+ addmod(f, addmod(mload(W1_EVAL_LOC), mulmod(mload(Q2_EVAL_LOC), mload(W1_OMEGA_EVAL_LOC), p), p), p)
+
+ // t(z) = table4(z).η³ + table3(z).η² + table2(z).η + table1(z)
+ let t :=
+ addmod(
+ addmod(
+ addmod(
+ mulmod(mload(TABLE4_EVAL_LOC), mload(C_ETA_CUBE_LOC), p),
+ mulmod(mload(TABLE3_EVAL_LOC), mload(C_ETA_SQR_LOC), p),
+ p
+ ),
+ mulmod(mload(TABLE2_EVAL_LOC), mload(C_ETA_LOC), p),
+ p
+ ),
+ mload(TABLE1_EVAL_LOC),
+ p
+ )
+
+ // t(zw) = table4(zw).η³ + table3(zw).η² + table2(zw).η + table1(zw)
+ let t_omega :=
+ addmod(
+ addmod(
+ addmod(
+ mulmod(mload(TABLE4_OMEGA_EVAL_LOC), mload(C_ETA_CUBE_LOC), p),
+ mulmod(mload(TABLE3_OMEGA_EVAL_LOC), mload(C_ETA_SQR_LOC), p),
+ p
+ ),
+ mulmod(mload(TABLE2_OMEGA_EVAL_LOC), mload(C_ETA_LOC), p),
+ p
+ ),
+ mload(TABLE1_OMEGA_EVAL_LOC),
+ p
+ )
+
+ /**
+ * Goal: numerator = (TABLE_TYPE_EVAL * f(z) + γ) * (t(z) + βt(zω) + γ(β + 1)) * (β + 1)
+ * gamma_beta_constant = γ(β + 1)
+ * numerator = f * TABLE_TYPE_EVAL + gamma
+ * temp0 = t(z) + t(zω) * β + gamma_beta_constant
+ * numerator *= temp0
+ * numerator *= (β + 1)
+ * temp0 = alpha * l_1
+ * numerator += temp0
+ * numerator *= z_lookup(z)
+ * numerator -= temp0
+ */
+ let gamma_beta_constant := mulmod(mload(C_GAMMA_LOC), addmod(mload(C_BETA_LOC), 1, p), p)
+ let numerator := addmod(mulmod(f, mload(TABLE_TYPE_EVAL_LOC), p), mload(C_GAMMA_LOC), p)
+ let temp0 := addmod(addmod(t, mulmod(t_omega, mload(C_BETA_LOC), p), p), gamma_beta_constant, p)
+ numerator := mulmod(numerator, temp0, p)
+ numerator := mulmod(numerator, addmod(mload(C_BETA_LOC), 1, p), p)
+ temp0 := mulmod(mload(C_ALPHA_LOC), mload(L_START_LOC), p)
+ numerator := addmod(numerator, temp0, p)
+ numerator := mulmod(numerator, mload(Z_LOOKUP_EVAL_LOC), p)
+ numerator := addmod(numerator, sub(p, temp0), p)
+
+ /**
+ * Goal: denominator = z_lookup(zω)*[s(z) + βs(zω) + γ(1 + β)] - [z_lookup(zω) - [γ(1 + β)]^{n-k}]*α²L_end(z)
+ * note: delta_factor = [γ(1 + β)]^{n-k}
+ * denominator = s(z) + βs(zω) + γ(β + 1)
+ * temp1 = α²L_end(z)
+ * denominator -= temp1
+ * denominator *= z_lookup(zω)
+ * denominator += temp1 * delta_factor
+ * PLOOKUP_IDENTITY = (numerator - denominator).alpha_base
+ * alpha_base *= alpha^3
+ */
+ let denominator :=
+ addmod(
+ addmod(mload(S_EVAL_LOC), mulmod(mload(S_OMEGA_EVAL_LOC), mload(C_BETA_LOC), p), p),
+ gamma_beta_constant,
+ p
+ )
+ let temp1 := mulmod(mload(C_ALPHA_SQR_LOC), mload(L_END_LOC), p)
+ denominator := addmod(denominator, sub(p, temp1), p)
+ denominator := mulmod(denominator, mload(Z_LOOKUP_OMEGA_EVAL_LOC), p)
+ denominator := addmod(denominator, mulmod(temp1, mload(PLOOKUP_DELTA_LOC), p), p)
+
+ mstore(PLOOKUP_IDENTITY, mulmod(addmod(numerator, sub(p, denominator), p), mload(C_ALPHA_BASE_LOC), p))
+
+ // update alpha
+ mstore(C_ALPHA_BASE_LOC, mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_CUBE_LOC), p))
+ }
+
+ /**
+ * COMPUTE ARITHMETIC WIDGET EVALUATION
+ */
+ {
+ /**
+ * The basic arithmetic gate identity in standard plonk is as follows.
+ * (w_1 . w_2 . q_m) + (w_1 . q_1) + (w_2 . q_2) + (w_3 . q_3) + (w_4 . q_4) + q_c = 0
+ * However, for Ultraplonk, we extend this to support "passing" wires between rows (shown without alpha scaling below):
+ * q_arith * ( ( (-1/2) * (q_arith - 3) * q_m * w_1 * w_2 + q_1 * w_1 + q_2 * w_2 + q_3 * w_3 + q_4 * w_4 + q_c ) +
+ * (q_arith - 1)*( α * (q_arith - 2) * (w_1 + w_4 - w_1_omega + q_m) + w_4_omega) ) = 0
+ *
+ * This formula results in several cases depending on q_arith:
+ * 1. q_arith == 0: Arithmetic gate is completely disabled
+ *
+ * 2. q_arith == 1: Everything in the minigate on the right is disabled. The equation is just a standard plonk equation
+ * with extra wires: q_m * w_1 * w_2 + q_1 * w_1 + q_2 * w_2 + q_3 * w_3 + q_4 * w_4 + q_c = 0
+ *
+ * 3. q_arith == 2: The (w_1 + w_4 - ...) term is disabled. THe equation is:
+ * (1/2) * q_m * w_1 * w_2 + q_1 * w_1 + q_2 * w_2 + q_3 * w_3 + q_4 * w_4 + q_c + w_4_omega = 0
+ * It allows defining w_4 at next index (w_4_omega) in terms of current wire values
+ *
+ * 4. q_arith == 3: The product of w_1 and w_2 is disabled, but a mini addition gate is enabled. α allows us to split
+ * the equation into two:
+ *
+ * q_1 * w_1 + q_2 * w_2 + q_3 * w_3 + q_4 * w_4 + q_c + 2 * w_4_omega = 0
+ * and
+ * w_1 + w_4 - w_1_omega + q_m = 0 (we are reusing q_m here)
+ *
+ * 5. q_arith > 3: The product of w_1 and w_2 is scaled by (q_arith - 3), while the w_4_omega term is scaled by (q_arith - 1).
+ * The equation can be split into two:
+ *
+ * (q_arith - 3)* q_m * w_1 * w_ 2 + q_1 * w_1 + q_2 * w_2 + q_3 * w_3 + q_4 * w_4 + q_c + (q_arith - 1) * w_4_omega = 0
+ * and
+ * w_1 + w_4 - w_1_omega + q_m = 0
+ *
+ * The problem that q_m is used both in both equations can be dealt with by appropriately changing selector values at
+ * the next gate. Then we can treat (q_arith - 1) as a simulated q_6 selector and scale q_m to handle (q_arith - 3) at
+ * product.
+ */
+
+ let w1q1 := mulmod(mload(W1_EVAL_LOC), mload(Q1_EVAL_LOC), p)
+ let w2q2 := mulmod(mload(W2_EVAL_LOC), mload(Q2_EVAL_LOC), p)
+ let w3q3 := mulmod(mload(W3_EVAL_LOC), mload(Q3_EVAL_LOC), p)
+ let w4q3 := mulmod(mload(W4_EVAL_LOC), mload(Q4_EVAL_LOC), p)
+
+ // @todo - Add a explicit test that hits QARITH == 3
+ // w1w2qm := (w_1 . w_2 . q_m . (QARITH_EVAL_LOC - 3)) / 2
+ let w1w2qm :=
+ mulmod(
+ mulmod(
+ mulmod(mulmod(mload(W1_EVAL_LOC), mload(W2_EVAL_LOC), p), mload(QM_EVAL_LOC), p),
+ addmod(mload(QARITH_EVAL_LOC), sub(p, 3), p),
+ p
+ ),
+ NEGATIVE_INVERSE_OF_2_MODULO_P,
+ p
+ )
+
+ // (w_1 . w_2 . q_m . (q_arith - 3)) / -2) + (w_1 . q_1) + (w_2 . q_2) + (w_3 . q_3) + (w_4 . q_4) + q_c
+ let identity :=
+ addmod(
+ mload(QC_EVAL_LOC), addmod(w4q3, addmod(w3q3, addmod(w2q2, addmod(w1q1, w1w2qm, p), p), p), p), p
+ )
+
+ // if q_arith == 3 we evaluate an additional mini addition gate (on top of the regular one), where:
+ // w_1 + w_4 - w_1_omega + q_m = 0
+ // we use this gate to save an addition gate when adding or subtracting non-native field elements
+ // α * (q_arith - 2) * (w_1 + w_4 - w_1_omega + q_m)
+ let extra_small_addition_gate_identity :=
+ mulmod(
+ mload(C_ALPHA_LOC),
+ mulmod(
+ addmod(mload(QARITH_EVAL_LOC), sub(p, 2), p),
+ addmod(
+ mload(QM_EVAL_LOC),
+ addmod(
+ sub(p, mload(W1_OMEGA_EVAL_LOC)), addmod(mload(W1_EVAL_LOC), mload(W4_EVAL_LOC), p), p
+ ),
+ p
+ ),
+ p
+ ),
+ p
+ )
+
+ // if q_arith == 2 OR q_arith == 3 we add the 4th wire of the NEXT gate into the arithmetic identity
+ // N.B. if q_arith > 2, this wire value will be scaled by (q_arith - 1) relative to the other gate wires!
+ // alpha_base * q_arith * (identity + (q_arith - 1) * (w_4_omega + extra_small_addition_gate_identity))
+ mstore(
+ ARITHMETIC_IDENTITY,
+ mulmod(
+ mload(C_ALPHA_BASE_LOC),
+ mulmod(
+ mload(QARITH_EVAL_LOC),
+ addmod(
+ identity,
+ mulmod(
+ addmod(mload(QARITH_EVAL_LOC), sub(p, 1), p),
+ addmod(mload(W4_OMEGA_EVAL_LOC), extra_small_addition_gate_identity, p),
+ p
+ ),
+ p
+ ),
+ p
+ ),
+ p
+ )
+ )
+
+ // update alpha
+ mstore(C_ALPHA_BASE_LOC, mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_SQR_LOC), p))
+ }
+
+ /**
+ * COMPUTE GENPERMSORT WIDGET EVALUATION
+ */
+ {
+ /**
+ * D1 = (w2 - w1)
+ * D2 = (w3 - w2)
+ * D3 = (w4 - w3)
+ * D4 = (w1_omega - w4)
+ *
+ * α_a = alpha_base
+ * α_b = alpha_base * α
+ * α_c = alpha_base * α^2
+ * α_d = alpha_base * α^3
+ *
+ * range_accumulator = (
+ * D1(D1 - 1)(D1 - 2)(D1 - 3).α_a +
+ * D2(D2 - 1)(D2 - 2)(D2 - 3).α_b +
+ * D3(D3 - 1)(D3 - 2)(D3 - 3).α_c +
+ * D4(D4 - 1)(D4 - 2)(D4 - 3).α_d +
+ * ) . q_sort
+ */
+ let minus_two := sub(p, 2)
+ let minus_three := sub(p, 3)
+ let d1 := addmod(mload(W2_EVAL_LOC), sub(p, mload(W1_EVAL_LOC)), p)
+ let d2 := addmod(mload(W3_EVAL_LOC), sub(p, mload(W2_EVAL_LOC)), p)
+ let d3 := addmod(mload(W4_EVAL_LOC), sub(p, mload(W3_EVAL_LOC)), p)
+ let d4 := addmod(mload(W1_OMEGA_EVAL_LOC), sub(p, mload(W4_EVAL_LOC)), p)
+
+ let range_accumulator :=
+ mulmod(
+ mulmod(
+ mulmod(addmod(mulmod(d1, d1, p), sub(p, d1), p), addmod(d1, minus_two, p), p),
+ addmod(d1, minus_three, p),
+ p
+ ),
+ mload(C_ALPHA_BASE_LOC),
+ p
+ )
+ range_accumulator :=
+ addmod(
+ range_accumulator,
+ mulmod(
+ mulmod(
+ mulmod(addmod(mulmod(d2, d2, p), sub(p, d2), p), addmod(d2, minus_two, p), p),
+ addmod(d2, minus_three, p),
+ p
+ ),
+ mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_LOC), p),
+ p
+ ),
+ p
+ )
+ range_accumulator :=
+ addmod(
+ range_accumulator,
+ mulmod(
+ mulmod(
+ mulmod(addmod(mulmod(d3, d3, p), sub(p, d3), p), addmod(d3, minus_two, p), p),
+ addmod(d3, minus_three, p),
+ p
+ ),
+ mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_SQR_LOC), p),
+ p
+ ),
+ p
+ )
+ range_accumulator :=
+ addmod(
+ range_accumulator,
+ mulmod(
+ mulmod(
+ mulmod(addmod(mulmod(d4, d4, p), sub(p, d4), p), addmod(d4, minus_two, p), p),
+ addmod(d4, minus_three, p),
+ p
+ ),
+ mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_CUBE_LOC), p),
+ p
+ ),
+ p
+ )
+ range_accumulator := mulmod(range_accumulator, mload(QSORT_EVAL_LOC), p)
+
+ mstore(SORT_IDENTITY, range_accumulator)
+
+ // update alpha
+ mstore(C_ALPHA_BASE_LOC, mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_QUAD_LOC), p))
+ }
+
+ /**
+ * COMPUTE ELLIPTIC WIDGET EVALUATION
+ */
+ {
+ /**
+ * endo_term = (-x_2) * x_1 * (x_3 * 2 + x_1) * q_beta
+ * endo_sqr_term = x_2^2
+ * endo_sqr_term *= (x_3 - x_1)
+ * endo_sqr_term *= q_beta^2
+ * leftovers = x_2^2
+ * leftovers *= x_2
+ * leftovers += x_1^2 * (x_3 + x_1) @follow-up Invalid comment in BB widget
+ * leftovers -= (y_2^2 + y_1^2)
+ * sign_term = y_2 * y_1
+ * sign_term += sign_term
+ * sign_term *= q_sign
+ */
+
+ let endo_term :=
+ mulmod(
+ mulmod(
+ mulmod(sub(p, mload(X2_EVAL_LOC)), mload(X1_EVAL_LOC), p),
+ addmod(addmod(mload(X3_EVAL_LOC), mload(X3_EVAL_LOC), p), mload(X1_EVAL_LOC), p),
+ p
+ ),
+ mload(QBETA_LOC),
+ p
+ )
+
+ let endo_sqr_term := mulmod(mload(X2_EVAL_LOC), mload(X2_EVAL_LOC), p)
+ endo_sqr_term := mulmod(endo_sqr_term, addmod(mload(X3_EVAL_LOC), sub(p, mload(X1_EVAL_LOC)), p), p)
+ endo_sqr_term := mulmod(endo_sqr_term, mload(QBETA_SQR_LOC), p)
+
+ let leftovers := mulmod(mload(X2_EVAL_LOC), mload(X2_EVAL_LOC), p)
+ leftovers := mulmod(leftovers, mload(X2_EVAL_LOC), p)
+ leftovers :=
+ addmod(
+ leftovers,
+ mulmod(
+ mulmod(mload(X1_EVAL_LOC), mload(X1_EVAL_LOC), p),
+ addmod(mload(X3_EVAL_LOC), mload(X1_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ leftovers :=
+ addmod(
+ leftovers,
+ sub(
+ p,
+ addmod(
+ mulmod(mload(Y2_EVAL_LOC), mload(Y2_EVAL_LOC), p),
+ mulmod(mload(Y1_EVAL_LOC), mload(Y1_EVAL_LOC), p),
+ p
+ )
+ ),
+ p
+ )
+
+ let sign_term := mulmod(mload(Y2_EVAL_LOC), mload(Y1_EVAL_LOC), p)
+ sign_term := addmod(sign_term, sign_term, p)
+ sign_term := mulmod(sign_term, mload(QSIGN_LOC), p)
+
+ /**
+ * x_identity = endo_term + endo_sqr_term + sign_term + leftovers
+ * x_identity *= alpha_base
+ * endo_term = (x_2 * q_beta) * (y_3 + y_1)
+ * sign_term = -((y2 * q_sign) * (x_1 + x_3))
+ * leftovers = - x1 * (y_3 + y_1) + y_1 * (x_1 - x_3)
+ * y_identity = (endo_term + sign_term + leftovers) * (alpha_base * α)
+ */
+
+ let x_identity := addmod(addmod(endo_term, endo_sqr_term, p), addmod(sign_term, leftovers, p), p)
+ x_identity := mulmod(x_identity, mload(C_ALPHA_BASE_LOC), p)
+ endo_term :=
+ mulmod(
+ mulmod(mload(X2_EVAL_LOC), mload(QBETA_LOC), p),
+ addmod(mload(Y3_EVAL_LOC), mload(Y1_EVAL_LOC), p),
+ p
+ )
+ sign_term :=
+ sub(
+ p,
+ mulmod(
+ mulmod(mload(Y2_EVAL_LOC), mload(QSIGN_LOC), p),
+ addmod(mload(X1_EVAL_LOC), sub(p, mload(X3_EVAL_LOC)), p),
+ p
+ )
+ )
+ leftovers :=
+ addmod(
+ sub(p, mulmod(mload(X1_EVAL_LOC), addmod(mload(Y3_EVAL_LOC), mload(Y1_EVAL_LOC), p), p)),
+ mulmod(mload(Y1_EVAL_LOC), addmod(mload(X1_EVAL_LOC), sub(p, mload(X3_EVAL_LOC)), p), p),
+ p
+ )
+ let y_identity :=
+ mulmod(
+ addmod(addmod(endo_term, sign_term, p), leftovers, p),
+ mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_LOC), p),
+ p
+ )
+
+ // ELLIPTIC_IDENTITY = (x_identity + y_identity) * Q_ELLIPTIC_EVAL
+ mstore(ELLIPTIC_IDENTITY, mulmod(addmod(x_identity, y_identity, p), mload(QELLIPTIC_EVAL_LOC), p))
+
+ // update alpha
+ // The paper says to use ALPHA^2, we use ALPHA^4 this is a small oversight in the prover protocol
+ mstore(C_ALPHA_BASE_LOC, mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_QUAD_LOC), p))
+ }
+
+ /**
+ * COMPUTE AUXILIARY WIDGET EVALUATION
+ */
+ {
+ {
+ /**
+ * Non native field arithmetic gate 2
+ * _ _
+ * / _ _ _ 14 \
+ * q_2 . q_4 | (w_1 . w_2) + (w_1 . w_2) + (w_1 . w_4 + w_2 . w_3 - w_3) . 2 - w_3 - w_4 |
+ * \_ _/
+ *
+ * limb_subproduct = w_1 . w_2_omega + w_1_omega . w_2
+ * non_native_field_gate_2 = w_1 * w_4 + w_4 * w_3 - w_3_omega
+ * non_native_field_gate_2 = non_native_field_gate_2 * limb_size
+ * non_native_field_gate_2 -= w_4_omega
+ * non_native_field_gate_2 += limb_subproduct
+ * non_native_field_gate_2 *= q_4
+ * limb_subproduct *= limb_size
+ * limb_subproduct += w_1_omega * w_2_omega
+ * non_native_field_gate_1 = (limb_subproduct + w_3 + w_4) * q_3
+ * non_native_field_gate_3 = (limb_subproduct + w_4 - (w_3_omega + w_4_omega)) * q_m
+ * non_native_field_identity = (non_native_field_gate_1 + non_native_field_gate_2 + non_native_field_gate_3) * q_2
+ */
+
+ let limb_subproduct :=
+ addmod(
+ mulmod(mload(W1_EVAL_LOC), mload(W2_OMEGA_EVAL_LOC), p),
+ mulmod(mload(W1_OMEGA_EVAL_LOC), mload(W2_EVAL_LOC), p),
+ p
+ )
+
+ let non_native_field_gate_2 :=
+ addmod(
+ addmod(
+ mulmod(mload(W1_EVAL_LOC), mload(W4_EVAL_LOC), p),
+ mulmod(mload(W2_EVAL_LOC), mload(W3_EVAL_LOC), p),
+ p
+ ),
+ sub(p, mload(W3_OMEGA_EVAL_LOC)),
+ p
+ )
+ non_native_field_gate_2 := mulmod(non_native_field_gate_2, LIMB_SIZE, p)
+ non_native_field_gate_2 := addmod(non_native_field_gate_2, sub(p, mload(W4_OMEGA_EVAL_LOC)), p)
+ non_native_field_gate_2 := addmod(non_native_field_gate_2, limb_subproduct, p)
+ non_native_field_gate_2 := mulmod(non_native_field_gate_2, mload(Q4_EVAL_LOC), p)
+ limb_subproduct := mulmod(limb_subproduct, LIMB_SIZE, p)
+ limb_subproduct :=
+ addmod(limb_subproduct, mulmod(mload(W1_OMEGA_EVAL_LOC), mload(W2_OMEGA_EVAL_LOC), p), p)
+ let non_native_field_gate_1 :=
+ mulmod(
+ addmod(limb_subproduct, sub(p, addmod(mload(W3_EVAL_LOC), mload(W4_EVAL_LOC), p)), p),
+ mload(Q3_EVAL_LOC),
+ p
+ )
+ let non_native_field_gate_3 :=
+ mulmod(
+ addmod(
+ addmod(limb_subproduct, mload(W4_EVAL_LOC), p),
+ sub(p, addmod(mload(W3_OMEGA_EVAL_LOC), mload(W4_OMEGA_EVAL_LOC), p)),
+ p
+ ),
+ mload(QM_EVAL_LOC),
+ p
+ )
+ let non_native_field_identity :=
+ mulmod(
+ addmod(addmod(non_native_field_gate_1, non_native_field_gate_2, p), non_native_field_gate_3, p),
+ mload(Q2_EVAL_LOC),
+ p
+ )
+
+ mstore(AUX_NON_NATIVE_FIELD_EVALUATION, non_native_field_identity)
+ }
+
+ {
+ /**
+ * limb_accumulator_1 = w_2_omega;
+ * limb_accumulator_1 *= SUBLIMB_SHIFT;
+ * limb_accumulator_1 += w_1_omega;
+ * limb_accumulator_1 *= SUBLIMB_SHIFT;
+ * limb_accumulator_1 += w_3;
+ * limb_accumulator_1 *= SUBLIMB_SHIFT;
+ * limb_accumulator_1 += w_2;
+ * limb_accumulator_1 *= SUBLIMB_SHIFT;
+ * limb_accumulator_1 += w_1;
+ * limb_accumulator_1 -= w_4;
+ * limb_accumulator_1 *= q_4;
+ */
+ let limb_accumulator_1 := mulmod(mload(W2_OMEGA_EVAL_LOC), SUBLIMB_SHIFT, p)
+ limb_accumulator_1 := addmod(limb_accumulator_1, mload(W1_OMEGA_EVAL_LOC), p)
+ limb_accumulator_1 := mulmod(limb_accumulator_1, SUBLIMB_SHIFT, p)
+ limb_accumulator_1 := addmod(limb_accumulator_1, mload(W3_EVAL_LOC), p)
+ limb_accumulator_1 := mulmod(limb_accumulator_1, SUBLIMB_SHIFT, p)
+ limb_accumulator_1 := addmod(limb_accumulator_1, mload(W2_EVAL_LOC), p)
+ limb_accumulator_1 := mulmod(limb_accumulator_1, SUBLIMB_SHIFT, p)
+ limb_accumulator_1 := addmod(limb_accumulator_1, mload(W1_EVAL_LOC), p)
+ limb_accumulator_1 := addmod(limb_accumulator_1, sub(p, mload(W4_EVAL_LOC)), p)
+ limb_accumulator_1 := mulmod(limb_accumulator_1, mload(Q4_EVAL_LOC), p)
+
+ /**
+ * limb_accumulator_2 = w_3_omega;
+ * limb_accumulator_2 *= SUBLIMB_SHIFT;
+ * limb_accumulator_2 += w_2_omega;
+ * limb_accumulator_2 *= SUBLIMB_SHIFT;
+ * limb_accumulator_2 += w_1_omega;
+ * limb_accumulator_2 *= SUBLIMB_SHIFT;
+ * limb_accumulator_2 += w_4;
+ * limb_accumulator_2 *= SUBLIMB_SHIFT;
+ * limb_accumulator_2 += w_3;
+ * limb_accumulator_2 -= w_4_omega;
+ * limb_accumulator_2 *= q_m;
+ */
+ let limb_accumulator_2 := mulmod(mload(W3_OMEGA_EVAL_LOC), SUBLIMB_SHIFT, p)
+ limb_accumulator_2 := addmod(limb_accumulator_2, mload(W2_OMEGA_EVAL_LOC), p)
+ limb_accumulator_2 := mulmod(limb_accumulator_2, SUBLIMB_SHIFT, p)
+ limb_accumulator_2 := addmod(limb_accumulator_2, mload(W1_OMEGA_EVAL_LOC), p)
+ limb_accumulator_2 := mulmod(limb_accumulator_2, SUBLIMB_SHIFT, p)
+ limb_accumulator_2 := addmod(limb_accumulator_2, mload(W4_EVAL_LOC), p)
+ limb_accumulator_2 := mulmod(limb_accumulator_2, SUBLIMB_SHIFT, p)
+ limb_accumulator_2 := addmod(limb_accumulator_2, mload(W3_EVAL_LOC), p)
+ limb_accumulator_2 := addmod(limb_accumulator_2, sub(p, mload(W4_OMEGA_EVAL_LOC)), p)
+ limb_accumulator_2 := mulmod(limb_accumulator_2, mload(QM_EVAL_LOC), p)
+
+ mstore(
+ AUX_LIMB_ACCUMULATOR_EVALUATION,
+ mulmod(addmod(limb_accumulator_1, limb_accumulator_2, p), mload(Q3_EVAL_LOC), p)
+ )
+ }
+
+ {
+ /**
+ * memory_record_check = w_3;
+ * memory_record_check *= eta;
+ * memory_record_check += w_2;
+ * memory_record_check *= eta;
+ * memory_record_check += w_1;
+ * memory_record_check *= eta;
+ * memory_record_check += q_c;
+ *
+ * partial_record_check = memory_record_check;
+ *
+ * memory_record_check -= w_4;
+ */
+
+ let memory_record_check := mulmod(mload(W3_EVAL_LOC), mload(C_ETA_LOC), p)
+ memory_record_check := addmod(memory_record_check, mload(W2_EVAL_LOC), p)
+ memory_record_check := mulmod(memory_record_check, mload(C_ETA_LOC), p)
+ memory_record_check := addmod(memory_record_check, mload(W1_EVAL_LOC), p)
+ memory_record_check := mulmod(memory_record_check, mload(C_ETA_LOC), p)
+ memory_record_check := addmod(memory_record_check, mload(QC_EVAL_LOC), p)
+
+ let partial_record_check := memory_record_check
+ memory_record_check := addmod(memory_record_check, sub(p, mload(W4_EVAL_LOC)), p)
+
+ mstore(AUX_MEMORY_EVALUATION, memory_record_check)
+
+ // index_delta = w_1_omega - w_1
+ let index_delta := addmod(mload(W1_OMEGA_EVAL_LOC), sub(p, mload(W1_EVAL_LOC)), p)
+ // record_delta = w_4_omega - w_4
+ let record_delta := addmod(mload(W4_OMEGA_EVAL_LOC), sub(p, mload(W4_EVAL_LOC)), p)
+ // index_is_monotonically_increasing = index_delta * (index_delta - 1)
+ let index_is_monotonically_increasing := mulmod(index_delta, addmod(index_delta, sub(p, 1), p), p)
+
+ // adjacent_values_match_if_adjacent_indices_match = record_delta * (1 - index_delta)
+ let adjacent_values_match_if_adjacent_indices_match :=
+ mulmod(record_delta, addmod(1, sub(p, index_delta), p), p)
+
+ // AUX_ROM_CONSISTENCY_EVALUATION = ((adjacent_values_match_if_adjacent_indices_match * alpha) + index_is_monotonically_increasing) * alpha + partial_record_check
+ mstore(
+ AUX_ROM_CONSISTENCY_EVALUATION,
+ addmod(
+ mulmod(
+ addmod(
+ mulmod(adjacent_values_match_if_adjacent_indices_match, mload(C_ALPHA_LOC), p),
+ index_is_monotonically_increasing,
+ p
+ ),
+ mload(C_ALPHA_LOC),
+ p
+ ),
+ memory_record_check,
+ p
+ )
+ )
+
+ {
+ /**
+ * next_gate_access_type = w_3_omega;
+ * next_gate_access_type *= eta;
+ * next_gate_access_type += w_2_omega;
+ * next_gate_access_type *= eta;
+ * next_gate_access_type += w_1_omega;
+ * next_gate_access_type *= eta;
+ * next_gate_access_type = w_4_omega - next_gate_access_type;
+ */
+ let next_gate_access_type := mulmod(mload(W3_OMEGA_EVAL_LOC), mload(C_ETA_LOC), p)
+ next_gate_access_type := addmod(next_gate_access_type, mload(W2_OMEGA_EVAL_LOC), p)
+ next_gate_access_type := mulmod(next_gate_access_type, mload(C_ETA_LOC), p)
+ next_gate_access_type := addmod(next_gate_access_type, mload(W1_OMEGA_EVAL_LOC), p)
+ next_gate_access_type := mulmod(next_gate_access_type, mload(C_ETA_LOC), p)
+ next_gate_access_type := addmod(mload(W4_OMEGA_EVAL_LOC), sub(p, next_gate_access_type), p)
+
+ // value_delta = w_3_omega - w_3
+ let value_delta := addmod(mload(W3_OMEGA_EVAL_LOC), sub(p, mload(W3_EVAL_LOC)), p)
+ // adjacent_values_match_if_adjacent_indices_match_and_next_access_is_a_read_operation = (1 - index_delta) * value_delta * (1 - next_gate_access_type);
+
+ let adjacent_values_match_if_adjacent_indices_match_and_next_access_is_a_read_operation :=
+ mulmod(
+ addmod(1, sub(p, index_delta), p),
+ mulmod(value_delta, addmod(1, sub(p, next_gate_access_type), p), p),
+ p
+ )
+
+ // AUX_RAM_CONSISTENCY_EVALUATION
+
+ /**
+ * access_type = w_4 - partial_record_check
+ * access_check = access_type^2 - access_type
+ * next_gate_access_type_is_boolean = next_gate_access_type^2 - next_gate_access_type
+ * RAM_consistency_check_identity = adjacent_values_match_if_adjacent_indices_match_and_next_access_is_a_read_operation;
+ * RAM_consistency_check_identity *= alpha;
+ * RAM_consistency_check_identity += index_is_monotonically_increasing;
+ * RAM_consistency_check_identity *= alpha;
+ * RAM_consistency_check_identity += next_gate_access_type_is_boolean;
+ * RAM_consistency_check_identity *= alpha;
+ * RAM_consistency_check_identity += access_check;
+ */
+
+ let access_type := addmod(mload(W4_EVAL_LOC), sub(p, partial_record_check), p)
+ let access_check := mulmod(access_type, addmod(access_type, sub(p, 1), p), p)
+ let next_gate_access_type_is_boolean :=
+ mulmod(next_gate_access_type, addmod(next_gate_access_type, sub(p, 1), p), p)
+ let RAM_cci :=
+ mulmod(
+ adjacent_values_match_if_adjacent_indices_match_and_next_access_is_a_read_operation,
+ mload(C_ALPHA_LOC),
+ p
+ )
+ RAM_cci := addmod(RAM_cci, index_is_monotonically_increasing, p)
+ RAM_cci := mulmod(RAM_cci, mload(C_ALPHA_LOC), p)
+ RAM_cci := addmod(RAM_cci, next_gate_access_type_is_boolean, p)
+ RAM_cci := mulmod(RAM_cci, mload(C_ALPHA_LOC), p)
+ RAM_cci := addmod(RAM_cci, access_check, p)
+
+ mstore(AUX_RAM_CONSISTENCY_EVALUATION, RAM_cci)
+ }
+
+ {
+ // timestamp_delta = w_2_omega - w_2
+ let timestamp_delta := addmod(mload(W2_OMEGA_EVAL_LOC), sub(p, mload(W2_EVAL_LOC)), p)
+
+ // RAM_timestamp_check_identity = (1 - index_delta) * timestamp_delta - w_3
+ let RAM_timestamp_check_identity :=
+ addmod(
+ mulmod(timestamp_delta, addmod(1, sub(p, index_delta), p), p), sub(p, mload(W3_EVAL_LOC)), p
+ )
+
+ /**
+ * memory_identity = ROM_consistency_check_identity * q_2;
+ * memory_identity += RAM_timestamp_check_identity * q_4;
+ * memory_identity += memory_record_check * q_m;
+ * memory_identity *= q_1;
+ * memory_identity += (RAM_consistency_check_identity * q_arith);
+ *
+ * auxiliary_identity = memory_identity + non_native_field_identity + limb_accumulator_identity;
+ * auxiliary_identity *= q_aux;
+ * auxiliary_identity *= alpha_base;
+ */
+ let memory_identity := mulmod(mload(AUX_ROM_CONSISTENCY_EVALUATION), mload(Q2_EVAL_LOC), p)
+ memory_identity :=
+ addmod(memory_identity, mulmod(RAM_timestamp_check_identity, mload(Q4_EVAL_LOC), p), p)
+ memory_identity :=
+ addmod(memory_identity, mulmod(mload(AUX_MEMORY_EVALUATION), mload(QM_EVAL_LOC), p), p)
+ memory_identity := mulmod(memory_identity, mload(Q1_EVAL_LOC), p)
+ memory_identity :=
+ addmod(
+ memory_identity, mulmod(mload(AUX_RAM_CONSISTENCY_EVALUATION), mload(QARITH_EVAL_LOC), p), p
+ )
+
+ let auxiliary_identity := addmod(memory_identity, mload(AUX_NON_NATIVE_FIELD_EVALUATION), p)
+ auxiliary_identity := addmod(auxiliary_identity, mload(AUX_LIMB_ACCUMULATOR_EVALUATION), p)
+ auxiliary_identity := mulmod(auxiliary_identity, mload(QAUX_EVAL_LOC), p)
+ auxiliary_identity := mulmod(auxiliary_identity, mload(C_ALPHA_BASE_LOC), p)
+
+ mstore(AUX_IDENTITY, auxiliary_identity)
+
+ // update alpha
+ mstore(C_ALPHA_BASE_LOC, mulmod(mload(C_ALPHA_BASE_LOC), mload(C_ALPHA_CUBE_LOC), p))
+ }
+ }
+ }
+
+ {
+ /**
+ * quotient = ARITHMETIC_IDENTITY
+ * quotient += PERMUTATION_IDENTITY
+ * quotient += PLOOKUP_IDENTITY
+ * quotient += SORT_IDENTITY
+ * quotient += ELLIPTIC_IDENTITY
+ * quotient += AUX_IDENTITY
+ * quotient *= ZERO_POLY_INVERSE
+ */
+ mstore(
+ QUOTIENT_EVAL_LOC,
+ mulmod(
+ addmod(
+ addmod(
+ addmod(
+ addmod(
+ addmod(mload(PERMUTATION_IDENTITY), mload(PLOOKUP_IDENTITY), p),
+ mload(ARITHMETIC_IDENTITY),
+ p
+ ),
+ mload(SORT_IDENTITY),
+ p
+ ),
+ mload(ELLIPTIC_IDENTITY),
+ p
+ ),
+ mload(AUX_IDENTITY),
+ p
+ ),
+ mload(ZERO_POLY_INVERSE_LOC),
+ p
+ )
+ )
+ }
+
+ /**
+ * GENERATE NU AND SEPARATOR CHALLENGES
+ */
+ {
+ let current_challenge := mload(C_CURRENT_LOC)
+ // get a calldata pointer that points to the start of the data we want to copy
+ let calldata_ptr := add(calldataload(0x04), 0x24)
+
+ calldata_ptr := add(calldata_ptr, NU_CALLDATA_SKIP_LENGTH)
+
+ mstore(NU_CHALLENGE_INPUT_LOC_A, current_challenge)
+ mstore(NU_CHALLENGE_INPUT_LOC_B, mload(QUOTIENT_EVAL_LOC))
+ calldatacopy(NU_CHALLENGE_INPUT_LOC_C, calldata_ptr, NU_INPUT_LENGTH)
+
+ // hash length = (0x20 + num field elements), we include the previous challenge in the hash
+ let challenge := keccak256(NU_CHALLENGE_INPUT_LOC_A, add(NU_INPUT_LENGTH, 0x40))
+
+ mstore(C_V0_LOC, mod(challenge, p))
+ // We need THIRTY-ONE independent nu challenges!
+ mstore(0x00, challenge)
+ mstore8(0x20, 0x01)
+ mstore(C_V1_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x02)
+ mstore(C_V2_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x03)
+ mstore(C_V3_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x04)
+ mstore(C_V4_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x05)
+ mstore(C_V5_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x06)
+ mstore(C_V6_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x07)
+ mstore(C_V7_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x08)
+ mstore(C_V8_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x09)
+ mstore(C_V9_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x0a)
+ mstore(C_V10_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x0b)
+ mstore(C_V11_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x0c)
+ mstore(C_V12_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x0d)
+ mstore(C_V13_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x0e)
+ mstore(C_V14_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x0f)
+ mstore(C_V15_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x10)
+ mstore(C_V16_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x11)
+ mstore(C_V17_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x12)
+ mstore(C_V18_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x13)
+ mstore(C_V19_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x14)
+ mstore(C_V20_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x15)
+ mstore(C_V21_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x16)
+ mstore(C_V22_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x17)
+ mstore(C_V23_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x18)
+ mstore(C_V24_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x19)
+ mstore(C_V25_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x1a)
+ mstore(C_V26_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x1b)
+ mstore(C_V27_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x1c)
+ mstore(C_V28_LOC, mod(keccak256(0x00, 0x21), p))
+ mstore8(0x20, 0x1d)
+ mstore(C_V29_LOC, mod(keccak256(0x00, 0x21), p))
+
+ // @follow-up - Why are both v29 and v30 using appending 0x1d to the prior challenge and hashing, should it not change?
+ mstore8(0x20, 0x1d)
+ challenge := keccak256(0x00, 0x21)
+ mstore(C_V30_LOC, mod(challenge, p))
+
+ // separator
+ mstore(0x00, challenge)
+ mstore(0x20, mload(PI_Z_Y_LOC))
+ mstore(0x40, mload(PI_Z_X_LOC))
+ mstore(0x60, mload(PI_Z_OMEGA_Y_LOC))
+ mstore(0x80, mload(PI_Z_OMEGA_X_LOC))
+
+ mstore(C_U_LOC, mod(keccak256(0x00, 0xa0), p))
+ }
+
+ let success := 0
+ // VALIDATE T1
+ {
+ let x := mload(T1_X_LOC)
+ let y := mload(T1_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q))
+ mstore(ACCUMULATOR_X_LOC, x)
+ mstore(add(ACCUMULATOR_X_LOC, 0x20), y)
+ }
+ // VALIDATE T2
+ {
+ let x := mload(T2_X_LOC) // 0x1400
+ let y := mload(T2_Y_LOC) // 0x1420
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(ZETA_POW_N_LOC))
+ // accumulator_2 = [T2].zeta^n
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = [T1] + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE T3
+ {
+ let x := mload(T3_X_LOC)
+ let y := mload(T3_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(mload(ZETA_POW_N_LOC), mload(ZETA_POW_N_LOC), p))
+ // accumulator_2 = [T3].zeta^{2n}
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE T4
+ {
+ let x := mload(T4_X_LOC)
+ let y := mload(T4_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(mulmod(mload(ZETA_POW_N_LOC), mload(ZETA_POW_N_LOC), p), mload(ZETA_POW_N_LOC), p))
+ // accumulator_2 = [T4].zeta^{3n}
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE W1
+ {
+ let x := mload(W1_X_LOC)
+ let y := mload(W1_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V0_LOC), p))
+ // accumulator_2 = v0.(u + 1).[W1]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE W2
+ {
+ let x := mload(W2_X_LOC)
+ let y := mload(W2_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V1_LOC), p))
+ // accumulator_2 = v1.(u + 1).[W2]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE W3
+ {
+ let x := mload(W3_X_LOC)
+ let y := mload(W3_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V2_LOC), p))
+ // accumulator_2 = v2.(u + 1).[W3]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE W4
+ {
+ let x := mload(W4_X_LOC)
+ let y := mload(W4_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V3_LOC), p))
+ // accumulator_2 = v3.(u + 1).[W4]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE S
+ {
+ let x := mload(S_X_LOC)
+ let y := mload(S_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V4_LOC), p))
+ // accumulator_2 = v4.(u + 1).[S]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE Z
+ {
+ let x := mload(Z_X_LOC)
+ let y := mload(Z_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V5_LOC), p))
+ // accumulator_2 = v5.(u + 1).[Z]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE Z_LOOKUP
+ {
+ let x := mload(Z_LOOKUP_X_LOC)
+ let y := mload(Z_LOOKUP_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V6_LOC), p))
+ // accumulator_2 = v6.(u + 1).[Z_LOOKUP]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE Q1
+ {
+ let x := mload(Q1_X_LOC)
+ let y := mload(Q1_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V7_LOC))
+ // accumulator_2 = v7.[Q1]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE Q2
+ {
+ let x := mload(Q2_X_LOC)
+ let y := mload(Q2_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V8_LOC))
+ // accumulator_2 = v8.[Q2]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE Q3
+ {
+ let x := mload(Q3_X_LOC)
+ let y := mload(Q3_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V9_LOC))
+ // accumulator_2 = v9.[Q3]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE Q4
+ {
+ let x := mload(Q4_X_LOC)
+ let y := mload(Q4_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V10_LOC))
+ // accumulator_2 = v10.[Q4]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE QM
+ {
+ let x := mload(QM_X_LOC)
+ let y := mload(QM_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V11_LOC))
+ // accumulator_2 = v11.[Q;]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE QC
+ {
+ let x := mload(QC_X_LOC)
+ let y := mload(QC_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V12_LOC))
+ // accumulator_2 = v12.[QC]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE QARITH
+ {
+ let x := mload(QARITH_X_LOC)
+ let y := mload(QARITH_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V13_LOC))
+ // accumulator_2 = v13.[QARITH]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE QSORT
+ {
+ let x := mload(QSORT_X_LOC)
+ let y := mload(QSORT_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V14_LOC))
+ // accumulator_2 = v14.[QSORT]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE QELLIPTIC
+ {
+ let x := mload(QELLIPTIC_X_LOC)
+ let y := mload(QELLIPTIC_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V15_LOC))
+ // accumulator_2 = v15.[QELLIPTIC]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE QAUX
+ {
+ let x := mload(QAUX_X_LOC)
+ let y := mload(QAUX_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V16_LOC))
+ // accumulator_2 = v15.[Q_AUX]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE SIGMA1
+ {
+ let x := mload(SIGMA1_X_LOC)
+ let y := mload(SIGMA1_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V17_LOC))
+ // accumulator_2 = v17.[sigma1]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE SIGMA2
+ {
+ let x := mload(SIGMA2_X_LOC)
+ let y := mload(SIGMA2_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V18_LOC))
+ // accumulator_2 = v18.[sigma2]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE SIGMA3
+ {
+ let x := mload(SIGMA3_X_LOC)
+ let y := mload(SIGMA3_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V19_LOC))
+ // accumulator_2 = v19.[sigma3]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE SIGMA4
+ {
+ let x := mload(SIGMA4_X_LOC)
+ let y := mload(SIGMA4_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V20_LOC))
+ // accumulator_2 = v20.[sigma4]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE TABLE1
+ {
+ let x := mload(TABLE1_X_LOC)
+ let y := mload(TABLE1_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V21_LOC), p))
+ // accumulator_2 = u.[table1]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE TABLE2
+ {
+ let x := mload(TABLE2_X_LOC)
+ let y := mload(TABLE2_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V22_LOC), p))
+ // accumulator_2 = u.[table2]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE TABLE3
+ {
+ let x := mload(TABLE3_X_LOC)
+ let y := mload(TABLE3_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V23_LOC), p))
+ // accumulator_2 = u.[table3]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE TABLE4
+ {
+ let x := mload(TABLE4_X_LOC)
+ let y := mload(TABLE4_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(addmod(mload(C_U_LOC), 0x1, p), mload(C_V24_LOC), p))
+ // accumulator_2 = u.[table4]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE TABLE_TYPE
+ {
+ let x := mload(TABLE_TYPE_X_LOC)
+ let y := mload(TABLE_TYPE_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V25_LOC))
+ // accumulator_2 = v25.[TableType]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE ID1
+ {
+ let x := mload(ID1_X_LOC)
+ let y := mload(ID1_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V26_LOC))
+ // accumulator_2 = v26.[ID1]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE ID2
+ {
+ let x := mload(ID2_X_LOC)
+ let y := mload(ID2_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V27_LOC))
+ // accumulator_2 = v27.[ID2]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE ID3
+ {
+ let x := mload(ID3_X_LOC)
+ let y := mload(ID3_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V28_LOC))
+ // accumulator_2 = v28.[ID3]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE ID4
+ {
+ let x := mload(ID4_X_LOC)
+ let y := mload(ID4_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mload(C_V29_LOC))
+ // accumulator_2 = v29.[ID4]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ /**
+ * COMPUTE BATCH EVALUATION SCALAR MULTIPLIER
+ */
+ {
+ /**
+ * batch_evaluation = v0 * (w_1_omega * u + w_1_eval)
+ * batch_evaluation += v1 * (w_2_omega * u + w_2_eval)
+ * batch_evaluation += v2 * (w_3_omega * u + w_3_eval)
+ * batch_evaluation += v3 * (w_4_omega * u + w_4_eval)
+ * batch_evaluation += v4 * (s_omega_eval * u + s_eval)
+ * batch_evaluation += v5 * (z_omega_eval * u + z_eval)
+ * batch_evaluation += v6 * (z_lookup_omega_eval * u + z_lookup_eval)
+ */
+ let batch_evaluation :=
+ mulmod(
+ mload(C_V0_LOC),
+ addmod(mulmod(mload(W1_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(W1_EVAL_LOC), p),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V1_LOC),
+ addmod(mulmod(mload(W2_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(W2_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V2_LOC),
+ addmod(mulmod(mload(W3_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(W3_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V3_LOC),
+ addmod(mulmod(mload(W4_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(W4_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V4_LOC),
+ addmod(mulmod(mload(S_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(S_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V5_LOC),
+ addmod(mulmod(mload(Z_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(Z_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V6_LOC),
+ addmod(mulmod(mload(Z_LOOKUP_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(Z_LOOKUP_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+
+ /**
+ * batch_evaluation += v7 * Q1_EVAL
+ * batch_evaluation += v8 * Q2_EVAL
+ * batch_evaluation += v9 * Q3_EVAL
+ * batch_evaluation += v10 * Q4_EVAL
+ * batch_evaluation += v11 * QM_EVAL
+ * batch_evaluation += v12 * QC_EVAL
+ * batch_evaluation += v13 * QARITH_EVAL
+ * batch_evaluation += v14 * QSORT_EVAL_LOC
+ * batch_evaluation += v15 * QELLIPTIC_EVAL_LOC
+ * batch_evaluation += v16 * QAUX_EVAL_LOC
+ * batch_evaluation += v17 * SIGMA1_EVAL_LOC
+ * batch_evaluation += v18 * SIGMA2_EVAL_LOC
+ * batch_evaluation += v19 * SIGMA3_EVAL_LOC
+ * batch_evaluation += v20 * SIGMA4_EVAL_LOC
+ */
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V7_LOC), mload(Q1_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V8_LOC), mload(Q2_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V9_LOC), mload(Q3_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V10_LOC), mload(Q4_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V11_LOC), mload(QM_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V12_LOC), mload(QC_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V13_LOC), mload(QARITH_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V14_LOC), mload(QSORT_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V15_LOC), mload(QELLIPTIC_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V16_LOC), mload(QAUX_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V17_LOC), mload(SIGMA1_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V18_LOC), mload(SIGMA2_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V19_LOC), mload(SIGMA3_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V20_LOC), mload(SIGMA4_EVAL_LOC), p), p)
+
+ /**
+ * batch_evaluation += v21 * (table1(zw) * u + table1(z))
+ * batch_evaluation += v22 * (table2(zw) * u + table2(z))
+ * batch_evaluation += v23 * (table3(zw) * u + table3(z))
+ * batch_evaluation += v24 * (table4(zw) * u + table4(z))
+ * batch_evaluation += v25 * table_type_eval
+ * batch_evaluation += v26 * id1_eval
+ * batch_evaluation += v27 * id2_eval
+ * batch_evaluation += v28 * id3_eval
+ * batch_evaluation += v29 * id4_eval
+ * batch_evaluation += quotient_eval
+ */
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V21_LOC),
+ addmod(mulmod(mload(TABLE1_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(TABLE1_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V22_LOC),
+ addmod(mulmod(mload(TABLE2_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(TABLE2_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V23_LOC),
+ addmod(mulmod(mload(TABLE3_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(TABLE3_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation :=
+ addmod(
+ batch_evaluation,
+ mulmod(
+ mload(C_V24_LOC),
+ addmod(mulmod(mload(TABLE4_OMEGA_EVAL_LOC), mload(C_U_LOC), p), mload(TABLE4_EVAL_LOC), p),
+ p
+ ),
+ p
+ )
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V25_LOC), mload(TABLE_TYPE_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V26_LOC), mload(ID1_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V27_LOC), mload(ID2_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V28_LOC), mload(ID3_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mulmod(mload(C_V29_LOC), mload(ID4_EVAL_LOC), p), p)
+ batch_evaluation := addmod(batch_evaluation, mload(QUOTIENT_EVAL_LOC), p)
+
+ mstore(0x00, 0x01) // [1].x
+ mstore(0x20, 0x02) // [1].y
+ mstore(0x40, sub(p, batch_evaluation))
+ // accumulator_2 = -[1].(batch_evaluation)
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ mstore(OPENING_COMMITMENT_SUCCESS_FLAG, success)
+ }
+
+ /**
+ * PERFORM PAIRING PREAMBLE
+ */
+ {
+ let u := mload(C_U_LOC)
+ let zeta := mload(C_ZETA_LOC)
+ // VALIDATE PI_Z
+ {
+ let x := mload(PI_Z_X_LOC)
+ let y := mload(PI_Z_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ // compute zeta.[PI_Z] and add into accumulator
+ mstore(0x40, zeta)
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // accumulator = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, ACCUMULATOR_X_LOC, 0x40))
+
+ // VALIDATE PI_Z_OMEGA
+ {
+ let x := mload(PI_Z_OMEGA_X_LOC)
+ let y := mload(PI_Z_OMEGA_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ mstore(0x40, mulmod(mulmod(u, zeta, p), mload(OMEGA_LOC), p))
+ // accumulator_2 = u.zeta.omega.[PI_Z_OMEGA]
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, ACCUMULATOR2_X_LOC, 0x40))
+ // PAIRING_RHS = accumulator + accumulator_2
+ success := and(success, staticcall(gas(), 6, ACCUMULATOR_X_LOC, 0x80, PAIRING_RHS_X_LOC, 0x40))
+
+ mstore(0x00, mload(PI_Z_X_LOC))
+ mstore(0x20, mload(PI_Z_Y_LOC))
+ mstore(0x40, mload(PI_Z_OMEGA_X_LOC))
+ mstore(0x60, mload(PI_Z_OMEGA_Y_LOC))
+ mstore(0x80, u)
+ success := and(success, staticcall(gas(), 7, 0x40, 0x60, 0x40, 0x40))
+ // PAIRING_LHS = [PI_Z] + [PI_Z_OMEGA] * u
+ success := and(success, staticcall(gas(), 6, 0x00, 0x80, PAIRING_LHS_X_LOC, 0x40))
+ // negate lhs y-coordinate
+ mstore(PAIRING_LHS_Y_LOC, sub(q, mload(PAIRING_LHS_Y_LOC)))
+
+ if mload(CONTAINS_RECURSIVE_PROOF_LOC) {
+ // VALIDATE RECURSIVE P1
+ {
+ let x := mload(RECURSIVE_P1_X_LOC)
+ let y := mload(RECURSIVE_P1_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+
+ // compute u.u.[recursive_p1] and write into 0x60
+ mstore(0x40, mulmod(u, u, p))
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, 0x60, 0x40))
+ // VALIDATE RECURSIVE P2
+ {
+ let x := mload(RECURSIVE_P2_X_LOC)
+ let y := mload(RECURSIVE_P2_Y_LOC)
+ let xx := mulmod(x, x, q)
+ // validate on curve
+ success := and(success, eq(mulmod(y, y, q), addmod(mulmod(x, xx, q), 3, q)))
+ mstore(0x00, x)
+ mstore(0x20, y)
+ }
+ // compute u.u.[recursive_p2] and write into 0x00
+ // 0x40 still contains u*u
+ success := and(success, staticcall(gas(), 7, 0x00, 0x60, 0x00, 0x40))
+
+ // compute u.u.[recursiveP1] + rhs and write into rhs
+ mstore(0xa0, mload(PAIRING_RHS_X_LOC))
+ mstore(0xc0, mload(PAIRING_RHS_Y_LOC))
+ success := and(success, staticcall(gas(), 6, 0x60, 0x80, PAIRING_RHS_X_LOC, 0x40))
+
+ // compute u.u.[recursiveP2] + lhs and write into lhs
+ mstore(0x40, mload(PAIRING_LHS_X_LOC))
+ mstore(0x60, mload(PAIRING_LHS_Y_LOC))
+ success := and(success, staticcall(gas(), 6, 0x00, 0x80, PAIRING_LHS_X_LOC, 0x40))
+ }
+
+ if iszero(success) {
+ mstore(0x0, EC_SCALAR_MUL_FAILURE_SELECTOR)
+ revert(0x00, 0x04)
+ }
+ mstore(PAIRING_PREAMBLE_SUCCESS_FLAG, success)
+ }
+
+ /**
+ * PERFORM PAIRING
+ */
+ {
+ // rhs paired with [1]_2
+ // lhs paired with [x]_2
+
+ mstore(0x00, mload(PAIRING_RHS_X_LOC))
+ mstore(0x20, mload(PAIRING_RHS_Y_LOC))
+ mstore(0x40, 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2) // this is [1]_2
+ mstore(0x60, 0x1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed)
+ mstore(0x80, 0x090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b)
+ mstore(0xa0, 0x12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa)
+
+ mstore(0xc0, mload(PAIRING_LHS_X_LOC))
+ mstore(0xe0, mload(PAIRING_LHS_Y_LOC))
+ mstore(0x100, mload(G2X_X0_LOC))
+ mstore(0x120, mload(G2X_X1_LOC))
+ mstore(0x140, mload(G2X_Y0_LOC))
+ mstore(0x160, mload(G2X_Y1_LOC))
+
+ success := staticcall(gas(), 8, 0x00, 0x180, 0x00, 0x20)
+ mstore(PAIRING_SUCCESS_FLAG, success)
+ mstore(RESULT_FLAG, mload(0x00))
+ }
+ if iszero(
+ and(
+ and(and(mload(PAIRING_SUCCESS_FLAG), mload(RESULT_FLAG)), mload(PAIRING_PREAMBLE_SUCCESS_FLAG)),
+ mload(OPENING_COMMITMENT_SUCCESS_FLAG)
+ )
+ ) {
+ mstore(0x0, PROOF_FAILURE_SELECTOR)
+ revert(0x00, 0x04)
+ }
+ {
+ mstore(0x00, 0x01)
+ return(0x00, 0x20) // Proof succeeded!
+ }
+ }
+ }
+}
+
+contract UltraVerifier is BaseUltraVerifier {
+ function getVerificationKeyHash() public pure override(BaseUltraVerifier) returns (bytes32) {
+ return UltraVerificationKey.verificationKeyHash();
+ }
+
+ function loadVerificationKey(uint256 vk, uint256 _omegaInverseLoc) internal pure virtual override(BaseUltraVerifier) {
+ UltraVerificationKey.loadVerificationKey(vk, _omegaInverseLoc);
+ }
+}
diff --git a/circuits/proofs/a.proof b/circuits/proofs/a.proof
new file mode 100644
index 0000000..8de1970
--- /dev/null
+++ b/circuits/proofs/a.proof
@@ -0,0 +1 @@
+03fd5177dc08aa3892d52398adf69d91d957617ed64a5ca3799a151e51db90950209de4ad78ddf4a8cedced6750ce90d931e322f6c9d5ab3d2a9ad73d905a5a42824c385236338ac99cf805adbc0349f917e2e947d140f12259caa0001702621295825874a94c4951ba1078b775a58e92bf848e7bdfcf4e84b5099895d16b36a0469afef773796f13ce019cfdc7e619f9ca5b4ad154860da78595b2bef5f6daa28213fb932b82c2957cb7e7b79c163839f076fc413447fcb30a4ffc84108aafc27338a916c1b76f755ec3aeaae7ccc022ee794a44e6f927c871db4cb5a1157231c93e9f5c63efc1e5c0abf818ed6cfc1aec5890f6f670a64dc96a668f362c2eb2e5542f8dda62c01db09be097bff85deff96225b6e811b552a8650dbba46eec4255e507ef6e82f3ee702ce277b4098cc0871dbab4b8146701c930dff14b6ca32120679f0358d22fc6008a87b4d47a0eb7715d0ae3ffbd0a943626aa33ef9dee6238d3d8e102177359d8833d37a18953c35c1b67299ab7b8f6f5767773f7e2297274e235b169a4190b299748636d4310d6ee1641ca55a988f77901cf7c0999d3e0615f942c02cb4d88bc016a445a0ad3f795abcfc46802228f8d90f4cd40daeee2a55865ba3d83ddaee8c7f2b57efe7cd8e3dc4702a5165aba9a439254215add92c9d7d4f4ac5e8301f7185ef0044facad6cc5b1c230bdef001966de7a60046f31df6693a31bcf8d123410c62738f9d93738e606e2c393272ab0de38b9c18947b2d8869648d89953029a4c1cc9eee3f827a6b2bc7a117503c35edb66cc285d8631c38f987ef0a975f6f2a8bc5d1ac816ac69e38745a24cdeb4b2ae2879baf28ba0644f7c1e881c69da207c7d574ef37cfc1e5f9d817f6cb063f09c1050ef5607f06e64aac016fdc558ddeaae34d374828e105db448c1608c26570cd89a493edb115ffc8eb861e18185cfbfeaa55dc08cc63b6eff264692fad15b28e7925d59f3b18c904b8eb149a53e88b41f3d0cae9ddeb73e9ac1ad7f38065794e1096eb76a70b1a73f64d36f48c5c28797ddfb51c14312a358910bef7a56b3fe0da0aba89b407df4fbb819d18a960afb905fd99925545b37eec695313fafcb64ba7dc6ebccb20588a0a390d2ec60b2e75b791135ef56a63cad9290e7c6a5500efff8cfea144018a78437f9337528ba5a33cba509b717a06c6ec9ef19c9d745b1665f88208cf04f2af794f1d9138882b8c9f3bdad890d318eac200c618106822c3635feffac229ecbaaae310e271465a6b6c7ee1c37ac287f39917833e6b3aa80d11aac622c205b69fbf9cced533aa50743d110c96223c1bf2b84c4ebaceb17538edd056b47607808a5ad2c508cc9395913eb04fa7cf079bfe8b5f7b4237d273b55537691a681b65323c0f75c79b1716ceb401378ecc0ca4618b6818efeacdfcc0e01c4eb75e07226393a116aae1df02d364f5d9b19daac447f70724fbe6a9aa5247927a8bd919628d2760c741e52bfdf0c169ba49c8db3aaacd68b83799be3808809069c1fa0260cbdbe05ce3a09fab9bcc51f33b348e416d5257b6fea2388e1b6d30d383f30a7837775d889c74e9a7abd5b4f30c8b589ecd5cfbbcb81322916fc831fdbc5c09832f6f81738e827eae6f3147ccecd23905b5495edbfa88e2386db4c34e0fcc22e5bc96e23ad067aaac5ff2b187369b14406016c7943222a070763553b7d1c60be3fb4b61d072231e5a0afd99c02806c747229bb692f92b1ac68921f42193bf2be00064b162652a35f5d3e2a37ed06afe4b81493e498086f6d1516e5f6d72aa0d7f8d20c395f275374cc62615d9728984f84268d0b6d1775c647388568cfcaa2dcdfa9ed02a4df1dfa8e2355d8065f11c0bef8d56c60881346210298bb6c15c038e5de1e21b75ae203e6eaa74f4cd05d74c400146c7931f78c5c40228a54f690e44c727422d55c3be05a6c9ebb3633b55888fee0e49f7cd5354a48f24f517b227a7544ea2f497a8ea03978b556dad0430c33abb77022f67118cad0fb55ed9ac10a59303228a39645db142963da69e6fe3c9fd406600f66f8be2bffc55c89ba52a08202a83517b4989af3357a760e838bf04a80dceb92e094a1ac87ce6325d9f25468872c297b4084a57fbbf037a71cfa281cd691f4b30c4d8fe91a2848b55b902614f5f2da20e33251b9217e97aa144044883bda56ce99deec0d8d212675ebe01d71ddef2a21a73545183834d8124bbd56d7b562170ee3f2f8979f2814a610e1590a99fe3a32c9b154eb9b35d9b82a04364f0eabf3817b920ff5af7c7f2dade294a3560d4a43ec2d64befe36db5e084b15c667f5cff413312753bfd0e9b54ae1d785ae403cda2eea55fbb92eedb2364a2415f0a483b91c949718185c1a6dbb01003793a4fcbc74fd27cc19262681353a10efb991f1da26a003120c8c25ffae822625d831d1809d45a080c55fd12ac50b8032a56abc7ed8652f0ce675119b13830530e2cdac215cdf172daa2d885de2f09fba04a93cd0c161f0825c684e190f928292ab5db4cb08eca8fda96afade51e85c2165cab955bf87d85fab609bb179d1f5f749a463e467d8e06f22f254422620bd858099d712138432a5cd42e708464304bc0fd5fa68379aa4f888ef1be9fac67f8d5771e9958b73127a5e85e34982c20a536640b666a88ce36eb81735cd67f60800755270c9c489b9d921876712fc7174491fa540d3609c6a76db3f1eee79d5e7db88a2134a27facf23635844ff3c20de3ed909cb4018abf17efe67080f8bb5c7b69bf1b5ca8b6be46da52922eb7bd04834926e55acd0bb7887218ef1309d95a791af41584aeedcf9b7e6fa00d7bb80df10698f7586c54b7e18ba22176f9a170e549949597153aa9efd1f3e6457de50eb342b6522435bd2774699ca2ffb61926d6ff21a9556402801ad7f4975691c010012c804b8e3b88a923ecadda67d36978abe46eb3dd0310f264ed5b993b437510e2c2c3babcd5bd72cfe470fc31ce5eb2629fad4092ec1782395acdf459dd25
\ No newline at end of file
diff --git a/contracts/Kevin.sol b/contracts/Kevin.sol
new file mode 100644
index 0000000..f7f214b
--- /dev/null
+++ b/contracts/Kevin.sol
@@ -0,0 +1,17 @@
+pragma solidity ^0.8.15;
+
+import { UltraVerifier } from "circuits/contract/plonk_vk.sol";
+
+contract Kevin is UltraVerifier {
+
+ event Banana(uint256 x, uint256 y, uint256 result);
+
+ uint256 public last;
+
+ function set(bytes calldata proof, bytes32[] calldata inputs) public {
+ require(this.verify(proof, inputs));
+ last = uint256(inputs[2]);
+ emit Banana(uint256(inputs[0]), uint256(inputs[1]), uint256(inputs[2]));
+ }
+
+}
\ No newline at end of file
diff --git a/contracts/Verifier.sol b/contracts/Verifier.sol
deleted file mode 100644
index dc46e57..0000000
--- a/contracts/Verifier.sol
+++ /dev/null
@@ -1,3447 +0,0 @@
-
-
-// SPDX-License-Identifier: GPL-2.0-only
-// Copyright 2020 Spilsbury Holdings Ltd
-
-pragma solidity >=0.6.0;
-pragma experimental ABIEncoderV2;
-
-/**
- * @title Turbo Plonk proof verification contract
- * @dev Top level Plonk proof verification contract, which allows Plonk proof to be verified
- *
- * Copyright 2020 Spilsbury Holdings Ltd
- *
- * Licensed under the GNU General Public License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-contract TurboVerifier {
- using Bn254Crypto for Types.G1Point;
- using Bn254Crypto for Types.G2Point;
- using Transcript for Transcript.TranscriptData;
-
- /**
- Calldata formatting:
-
- 0x00 - 0x04 : function signature
- 0x04 - 0x24 : proof_data pointer (location in calldata that contains the proof_data array)
- 0x44 - 0x64 : length of `proof_data` array
- 0x64 - ???? : array containing our zk proof data
- **/
- /**
- * @dev Verify a Plonk proof
- * @param - array of serialized proof data
- */
- function verify(bytes calldata)
- external
- view
- returns (bool result)
- {
-
- Types.VerificationKey memory vk = get_verification_key();
- uint256 num_public_inputs = vk.num_inputs;
-
- // parse the input calldata and construct a Proof object
- Types.Proof memory decoded_proof = deserialize_proof(
- num_public_inputs,
- vk
- );
-
- Transcript.TranscriptData memory transcript;
- transcript.generate_initial_challenge(vk.circuit_size, vk.num_inputs);
-
- // reconstruct the beta, gamma, alpha and zeta challenges
- Types.ChallengeTranscript memory challenges;
- transcript.generate_beta_gamma_challenges(challenges, vk.num_inputs);
- transcript.generate_alpha_challenge(challenges, decoded_proof.Z);
- transcript.generate_zeta_challenge(
- challenges,
- decoded_proof.T1,
- decoded_proof.T2,
- decoded_proof.T3,
- decoded_proof.T4
- );
-
- /**
- * Compute all inverses that will be needed throughout the program here.
- *
- * This is an efficiency improvement - it allows us to make use of the batch inversion Montgomery trick,
- * which allows all inversions to be replaced with one inversion operation, at the expense of a few
- * additional multiplications
- **/
- (uint256 r_0, uint256 L1) = evalaute_field_operations(
- decoded_proof,
- vk,
- challenges
- );
- decoded_proof.r_0 = r_0;
-
- // reconstruct the nu and u challenges
- // Need to change nu and u according to the simplified Plonk
- transcript.generate_nu_challenges(challenges, vk.num_inputs);
-
- transcript.generate_separator_challenge(
- challenges,
- decoded_proof.PI_Z,
- decoded_proof.PI_Z_OMEGA
- );
-
- //reset 'alpha base'
- challenges.alpha_base = challenges.alpha;
- // Computes step 9 -> [D]_1
- Types.G1Point memory linearised_contribution = PolynomialEval
- .compute_linearised_opening_terms(
- challenges,
- L1,
- vk,
- decoded_proof
- );
- // Computes step 10 -> [F]_1
- Types.G1Point memory batch_opening_commitment = PolynomialEval
- .compute_batch_opening_commitment(
- challenges,
- vk,
- linearised_contribution,
- decoded_proof
- );
-
- uint256 batch_evaluation_g1_scalar = PolynomialEval
- .compute_batch_evaluation_scalar_multiplier(
- decoded_proof,
- challenges
- );
-
- result = perform_pairing(
- batch_opening_commitment,
- batch_evaluation_g1_scalar,
- challenges,
- decoded_proof,
- vk
- );
- require(result, "Proof failed");
- }
-
-
- function get_verification_key() internal pure returns (Types.VerificationKey memory) {
- Types.VerificationKey memory vk;
-
- assembly {
- mstore(add(vk, 0x00), 16) // vk.circuit_size
- mstore(add(vk, 0x20), 3) // vk.num_inputs
- mstore(add(vk, 0x40),0x21082ca216cbbf4e1c6e4f4594dd508c996dfbe1174efb98b11509c6e306460b) // vk.work_root
- mstore(add(vk, 0x60),0x2d5e098bb31e86271ccb415b196942d755b0a9c3f21dd9882fa3d63ab1000001) // vk.domain_inverse
- mstore(add(vk, 0x80),0x02e40daf409556c02bfc85eb303402b774954d30aeb0337eb85a71e6373428de) // vk.work_root_inverse
- mstore(mload(add(vk, 0xa0)), 0x21d19f9a2e422fdf54281aba2841ca2b7ac7d47e06927da134da437e69b256d4)//vk.Q1
- mstore(add(mload(add(vk, 0xa0)), 0x20), 0x2731bfdcdd703c7fd8f9304efbf8698a7f7a6e00d9869c6ccf5d0992ba1c0925)
- mstore(mload(add(vk, 0xc0)), 0x2d2da582f417ed5a42b104282a8768520b231c1507cb3f153375c9d64b1327a4)//vk.Q2
- mstore(add(mload(add(vk, 0xc0)), 0x20), 0x18c5218449c3d8d7a6073303f43fbe541552ce8ea126e38ea360cc2119e29aa7)
- mstore(mload(add(vk, 0xe0)), 0x0ed20f0f8bafcbfa128b662e7ab8632c21287a3a148aeaec961976dee4a2a5f9)//vk.Q3
- mstore(add(mload(add(vk, 0xe0)), 0x20), 0x2f628d633ac6c8c6e4ddb0aa96000c4fcdee16856692d710a48623c45ff634de)
- mstore(mload(add(vk, 0x100)), 0x2950076760523510abcfe90fa550b964e84b338f73af5222cdbbaefdacd4484e)//vk.Q4
- mstore(add(mload(add(vk, 0x100)), 0x20), 0x2e4e3e272c7b78ad894559812d7766e05615a8f7050a43d7ed1367adf30a9319)
- mstore(mload(add(vk, 0x120)), 0x2950076760523510abcfe90fa550b964e84b338f73af5222cdbbaefdacd4484e)//vk.Q5
- mstore(add(mload(add(vk, 0x120)), 0x20), 0x2e4e3e272c7b78ad894559812d7766e05615a8f7050a43d7ed1367adf30a9319)
- mstore(mload(add(vk, 0x140)), 0x10edf0eceb57978a9fcb47f4f3aca73be62974b9f4bcecbdf8b31370a0b0ac87)//vk.QM
- mstore(add(mload(add(vk, 0x140)), 0x20), 0x09d5f4ba46e3137e3a5140001a8d00714069cb62cea9f25e76ca190c2441fb88)
- mstore(mload(add(vk, 0x160)), 0x2950076760523510abcfe90fa550b964e84b338f73af5222cdbbaefdacd4484e)//vk.QC
- mstore(add(mload(add(vk, 0x160)), 0x20), 0x2e4e3e272c7b78ad894559812d7766e05615a8f7050a43d7ed1367adf30a9319)
- mstore(mload(add(vk, 0x180)), 0x0d071546f621d210d6666b6f0be14b57f319fe53d3a700d4bd98108cde5cafef)//vk.QARITH
- mstore(add(mload(add(vk, 0x180)), 0x20), 0x09889531fea632235929915d4c46531278387ba2c1e25ea195155b6ce12468fb)
- mstore(mload(add(vk, 0x1a0)), 0x2950076760523510abcfe90fa550b964e84b338f73af5222cdbbaefdacd4484e)//vk.QECC
- mstore(add(mload(add(vk, 0x1a0)), 0x20), 0x2e4e3e272c7b78ad894559812d7766e05615a8f7050a43d7ed1367adf30a9319)
- mstore(mload(add(vk, 0x1c0)), 0x2950076760523510abcfe90fa550b964e84b338f73af5222cdbbaefdacd4484e)//vk.QRANGE
- mstore(add(mload(add(vk, 0x1c0)), 0x20), 0x2e4e3e272c7b78ad894559812d7766e05615a8f7050a43d7ed1367adf30a9319)
- mstore(mload(add(vk, 0x1e0)), 0x2950076760523510abcfe90fa550b964e84b338f73af5222cdbbaefdacd4484e)//vk.QLOGIC
- mstore(add(mload(add(vk, 0x1e0)), 0x20), 0x2e4e3e272c7b78ad894559812d7766e05615a8f7050a43d7ed1367adf30a9319)
- mstore(mload(add(vk, 0x200)), 0x1a8d351d2e6954169d85d79caee093a1ce9a184b647b0a65349eff0f74869277)//vk.SIGMA1
- mstore(add(mload(add(vk, 0x200)), 0x20), 0x08adb7fb43ae70b37518b90f69889b3b96e5ae6c2a8d21605e289deb6acb7514)
- mstore(mload(add(vk, 0x220)), 0x1eed4ab7f02dd2a46511bc4e0bf1126783f745c116b18c26625eeefbeb199561)//vk.SIGMA2
- mstore(add(mload(add(vk, 0x220)), 0x20), 0x2a61ee046ee1b01df35632f175dae62a3c3a458ea7b96d71184bc9f6c5dac1c8)
- mstore(mload(add(vk, 0x240)), 0x17eb4448a82712353da6409cb97b2a3bb246af54d3b22e1250123ad8d1188d16)//vk.SIGMA3
- mstore(add(mload(add(vk, 0x240)), 0x20), 0x1e702c2da29525658efa992bb372676479cb0ba80e595d31aac2a6b1a046f254)
- mstore(mload(add(vk, 0x260)), 0x10fb943eb02defee38be5eb1cbdb206190f0bb85bf2d967a2fea4cd6bf716577)//vk.SIGMA4
- mstore(add(mload(add(vk, 0x260)), 0x20), 0x127d3dfe3dfbf916177b5d53f86b2b2729e150b0b20b973718c1741048da753d)
- mstore(add(vk, 0x280), 0x00) // vk.contains_recursive_proof
- mstore(add(vk, 0x2a0), 0) // vk.recursive_proof_public_input_indices
- mstore(mload(add(vk, 0x2c0)), 0x260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c1) // vk.g2_x.X.c1
- mstore(add(mload(add(vk, 0x2c0)), 0x20), 0x0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b0) // vk.g2_x.X.c0
- mstore(add(mload(add(vk, 0x2c0)), 0x40), 0x04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe4) // vk.g2_x.Y.c1
- mstore(add(mload(add(vk, 0x2c0)), 0x60), 0x22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e55) // vk.g2_x.Y.c0
- }
- return vk;
- }
-
-
- /**
- * @dev Compute partial state of the verifier, specifically: public input delta evaluation, zero polynomial
- * evaluation, the lagrange evaluations and the quotient polynomial evaluations
- *
- * Note: This uses the batch inversion Montgomery trick to reduce the number of
- * inversions, and therefore the number of calls to the bn128 modular exponentiation
- * precompile.
- *
- * Specifically, each function call: compute_public_input_delta() etc. at some point needs to invert a
- * value to calculate a denominator in a fraction. Instead of performing this inversion as it is needed, we
- * instead 'save up' the denominator calculations. The inputs to this are returned from the various functions
- * and then we perform all necessary inversions in one go at the end of `evalaute_field_operations()`. This
- * gives us the various variables that need to be returned.
- *
- * @param decoded_proof - deserialised proof
- * @param vk - verification key
- * @param challenges - all challenges (alpha, beta, gamma, zeta, nu[NUM_NU_CHALLENGES], u) stored in
- * ChallengeTranscript struct form
- * @return quotient polynomial evaluation (field element) and lagrange 1 evaluation (field element)
- */
- function evalaute_field_operations(
- Types.Proof memory decoded_proof,
- Types.VerificationKey memory vk,
- Types.ChallengeTranscript memory challenges
- ) internal view returns (uint256, uint256) {
- uint256 public_input_delta;
- uint256 zero_polynomial_eval;
- uint256 l_start;
- uint256 l_end;
- {
- (
- uint256 public_input_numerator,
- uint256 public_input_denominator
- ) = PolynomialEval.compute_public_input_delta(challenges, vk);
-
- (
- uint256 vanishing_numerator,
- uint256 vanishing_denominator,
- uint256 lagrange_numerator,
- uint256 l_start_denominator,
- uint256 l_end_denominator
- ) = PolynomialEval.compute_lagrange_and_vanishing_fractions(
- vk,
- challenges.zeta
- );
-
- (
- zero_polynomial_eval,
- public_input_delta,
- l_start,
- l_end
- ) = PolynomialEval.compute_batch_inversions(
- public_input_numerator,
- public_input_denominator,
- vanishing_numerator,
- vanishing_denominator,
- lagrange_numerator,
- l_start_denominator,
- l_end_denominator
- );
- vk.zero_polynomial_eval = zero_polynomial_eval;
- }
-
- uint256 r_0 = PolynomialEval.compute_linear_polynomial_constant(
- zero_polynomial_eval,
- public_input_delta,
- challenges,
- l_start,
- l_end,
- decoded_proof
- );
-
- return (r_0, l_start);
- }
-
- /**
- * @dev Perform the pairing check
- * @param batch_opening_commitment - G1 point representing the calculated batch opening commitment
- * @param batch_evaluation_g1_scalar - uint256 representing the batch evaluation scalar multiplier to be applied to the G1 generator point
- * @param challenges - all challenges (alpha, beta, gamma, zeta, nu[NUM_NU_CHALLENGES], u) stored in
- * ChallengeTranscript struct form
- * @param vk - verification key
- * @param decoded_proof - deserialised proof
- * @return bool specifying whether the pairing check was successful
- */
- function perform_pairing(
- Types.G1Point memory batch_opening_commitment,
- uint256 batch_evaluation_g1_scalar,
- Types.ChallengeTranscript memory challenges,
- Types.Proof memory decoded_proof,
- Types.VerificationKey memory vk
- ) internal view returns (bool) {
- uint256 u = challenges.u;
- bool success;
- uint256 p = Bn254Crypto.r_mod;
- Types.G1Point memory rhs;
- Types.G1Point memory PI_Z_OMEGA = decoded_proof.PI_Z_OMEGA;
- Types.G1Point memory PI_Z = decoded_proof.PI_Z;
- PI_Z.validateG1Point();
- PI_Z_OMEGA.validateG1Point();
-
- // rhs = zeta.[PI_Z] + u.zeta.omega.[PI_Z_OMEGA] + [batch_opening_commitment] - batch_evaluation_g1_scalar.[1]
- // scope this block to prevent stack depth errors
- {
- uint256 zeta = challenges.zeta;
- uint256 pi_z_omega_scalar = vk.work_root;
- assembly {
- pi_z_omega_scalar := mulmod(pi_z_omega_scalar, zeta, p)
- pi_z_omega_scalar := mulmod(pi_z_omega_scalar, u, p)
- batch_evaluation_g1_scalar := sub(p, batch_evaluation_g1_scalar)
-
- // store accumulator point at mptr
- let mPtr := mload(0x40)
-
- // set accumulator = batch_opening_commitment
- mstore(mPtr, mload(batch_opening_commitment))
- mstore(
- add(mPtr, 0x20),
- mload(add(batch_opening_commitment, 0x20))
- )
-
- // compute zeta.[PI_Z] and add into accumulator
- mstore(add(mPtr, 0x40), mload(PI_Z))
- mstore(add(mPtr, 0x60), mload(add(PI_Z, 0x20)))
- mstore(add(mPtr, 0x80), zeta)
- success := staticcall(
- gas(),
- 7,
- add(mPtr, 0x40),
- 0x60,
- add(mPtr, 0x40),
- 0x40
- )
- success := and(
- success,
- staticcall(gas(), 6, mPtr, 0x80, mPtr, 0x40)
- )
-
- // compute u.zeta.omega.[PI_Z_OMEGA] and add into accumulator
- mstore(add(mPtr, 0x40), mload(PI_Z_OMEGA))
- mstore(add(mPtr, 0x60), mload(add(PI_Z_OMEGA, 0x20)))
- mstore(add(mPtr, 0x80), pi_z_omega_scalar)
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(mPtr, 0x40),
- 0x60,
- add(mPtr, 0x40),
- 0x40
- )
- )
- success := and(
- success,
- staticcall(gas(), 6, mPtr, 0x80, mPtr, 0x40)
- )
-
- // compute -batch_evaluation_g1_scalar.[1]
- mstore(add(mPtr, 0x40), 0x01) // hardcoded generator point (1, 2)
- mstore(add(mPtr, 0x60), 0x02)
- mstore(add(mPtr, 0x80), batch_evaluation_g1_scalar)
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(mPtr, 0x40),
- 0x60,
- add(mPtr, 0x40),
- 0x40
- )
- )
-
- // add -batch_evaluation_g1_scalar.[1] and the accumulator point, write result into rhs
- success := and(
- success,
- staticcall(gas(), 6, mPtr, 0x80, rhs, 0x40)
- )
- }
- }
-
- Types.G1Point memory lhs;
- assembly {
- // store accumulator point at mptr
- let mPtr := mload(0x40)
-
- // copy [PI_Z] into mPtr
- mstore(mPtr, mload(PI_Z))
- mstore(add(mPtr, 0x20), mload(add(PI_Z, 0x20)))
-
- // compute u.[PI_Z_OMEGA] and write to (mPtr + 0x40)
- mstore(add(mPtr, 0x40), mload(PI_Z_OMEGA))
- mstore(add(mPtr, 0x60), mload(add(PI_Z_OMEGA, 0x20)))
- mstore(add(mPtr, 0x80), u)
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(mPtr, 0x40),
- 0x60,
- add(mPtr, 0x40),
- 0x40
- )
- )
-
- // add [PI_Z] + u.[PI_Z_OMEGA] and write result into lhs
- success := and(success, staticcall(gas(), 6, mPtr, 0x80, lhs, 0x40))
- }
-
- // negate lhs y-coordinate
- uint256 q = Bn254Crypto.p_mod;
- assembly {
- mstore(add(lhs, 0x20), sub(q, mload(add(lhs, 0x20))))
- }
-
- if (vk.contains_recursive_proof) {
- // If the proof itself contains an accumulated proof,
- // we will have extracted two G1 elements `recursive_P1`, `recursive_p2` from the public inputs
-
- // We need to evaluate that e(recursive_P1, [x]_2) == e(recursive_P2, [1]_2) to finish verifying the inner proof
- // We do this by creating a random linear combination between (lhs, recursive_P1) and (rhs, recursivee_P2)
- // That way we still only need to evaluate one pairing product
-
- // We use `challenge.u * challenge.u` as the randomness to create a linear combination
- // challenge.u is produced by hashing the entire transcript, which contains the public inputs (and by extension the recursive proof)
-
- // i.e. [lhs] = [lhs] + u.u.[recursive_P1]
- // [rhs] = [rhs] + u.u.[recursive_P2]
- Types.G1Point memory recursive_P1 = decoded_proof.recursive_P1;
- Types.G1Point memory recursive_P2 = decoded_proof.recursive_P2;
- recursive_P1.validateG1Point();
- recursive_P2.validateG1Point();
- assembly {
- let mPtr := mload(0x40)
-
- // compute u.u.[recursive_P1]
- mstore(mPtr, mload(recursive_P1))
- mstore(add(mPtr, 0x20), mload(add(recursive_P1, 0x20)))
- mstore(add(mPtr, 0x40), mulmod(u, u, p)) // separator_challenge = u * u
- success := and(
- success,
- staticcall(gas(), 7, mPtr, 0x60, add(mPtr, 0x60), 0x40)
- )
-
- // compute u.u.[recursive_P2] (u*u is still in memory at (mPtr + 0x40), no need to re-write it)
- mstore(mPtr, mload(recursive_P2))
- mstore(add(mPtr, 0x20), mload(add(recursive_P2, 0x20)))
- success := and(
- success,
- staticcall(gas(), 7, mPtr, 0x60, mPtr, 0x40)
- )
-
- // compute u.u.[recursiveP2] + rhs and write into rhs
- mstore(add(mPtr, 0xa0), mload(rhs))
- mstore(add(mPtr, 0xc0), mload(add(rhs, 0x20)))
- success := and(
- success,
- staticcall(gas(), 6, add(mPtr, 0x60), 0x80, rhs, 0x40)
- )
-
- // compute u.u.[recursiveP1] + lhs and write into lhs
- mstore(add(mPtr, 0x40), mload(lhs))
- mstore(add(mPtr, 0x60), mload(add(lhs, 0x20)))
- success := and(
- success,
- staticcall(gas(), 6, mPtr, 0x80, lhs, 0x40)
- )
- }
- }
-
- require(success, "perform_pairing G1 operations preamble fail");
-
- return Bn254Crypto.pairingProd2(rhs, Bn254Crypto.P2(), lhs, vk.g2_x);
- }
-
- /**
- * @dev Deserialize a proof into a Proof struct
- * @param num_public_inputs - number of public inputs in the proof. Taken from verification key
- * @return proof - proof deserialized into the proof struct
- */
- function deserialize_proof(
- uint256 num_public_inputs,
- Types.VerificationKey memory vk
- ) internal pure returns (Types.Proof memory proof) {
- uint256 p = Bn254Crypto.r_mod;
- uint256 q = Bn254Crypto.p_mod;
- uint256 data_ptr;
- uint256 proof_ptr;
- // first 32 bytes of bytes array contains length, skip it
- assembly {
- data_ptr := add(calldataload(0x04), 0x24)
- proof_ptr := proof
- }
-
- if (vk.contains_recursive_proof) {
- uint256 index_counter = vk.recursive_proof_indices * 32;
- uint256 x0 = 0;
- uint256 y0 = 0;
- uint256 x1 = 0;
- uint256 y1 = 0;
- assembly {
- index_counter := add(index_counter, data_ptr)
- x0 := calldataload(index_counter)
- x0 := add(x0, shl(68, calldataload(add(index_counter, 0x20))))
- x0 := add(x0, shl(136, calldataload(add(index_counter, 0x40))))
- x0 := add(x0, shl(204, calldataload(add(index_counter, 0x60))))
- y0 := calldataload(add(index_counter, 0x80))
- y0 := add(y0, shl(68, calldataload(add(index_counter, 0xa0))))
- y0 := add(y0, shl(136, calldataload(add(index_counter, 0xc0))))
- y0 := add(y0, shl(204, calldataload(add(index_counter, 0xe0))))
- x1 := calldataload(add(index_counter, 0x100))
- x1 := add(x1, shl(68, calldataload(add(index_counter, 0x120))))
- x1 := add(x1, shl(136, calldataload(add(index_counter, 0x140))))
- x1 := add(x1, shl(204, calldataload(add(index_counter, 0x160))))
- y1 := calldataload(add(index_counter, 0x180))
- y1 := add(y1, shl(68, calldataload(add(index_counter, 0x1a0))))
- y1 := add(y1, shl(136, calldataload(add(index_counter, 0x1c0))))
- y1 := add(y1, shl(204, calldataload(add(index_counter, 0x1e0))))
- }
-
- proof.recursive_P1 = Bn254Crypto.new_g1(x0, y0);
- proof.recursive_P2 = Bn254Crypto.new_g1(x1, y1);
- }
-
- assembly {
- let public_input_byte_length := mul(num_public_inputs, 0x20)
- data_ptr := add(data_ptr, public_input_byte_length)
-
- // proof.W1
- mstore(mload(proof_ptr), mod(calldataload(add(data_ptr, 0x20)), q))
- mstore(add(mload(proof_ptr), 0x20), mod(calldataload(data_ptr), q))
-
- // proof.W2
- mstore(
- mload(add(proof_ptr, 0x20)),
- mod(calldataload(add(data_ptr, 0x60)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0x20)), 0x20),
- mod(calldataload(add(data_ptr, 0x40)), q)
- )
-
- // proof.W3
- mstore(
- mload(add(proof_ptr, 0x40)),
- mod(calldataload(add(data_ptr, 0xa0)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0x40)), 0x20),
- mod(calldataload(add(data_ptr, 0x80)), q)
- )
-
- // proof.W4
- mstore(
- mload(add(proof_ptr, 0x60)),
- mod(calldataload(add(data_ptr, 0xe0)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0x60)), 0x20),
- mod(calldataload(add(data_ptr, 0xc0)), q)
- )
-
- // proof.Z
- mstore(
- mload(add(proof_ptr, 0x80)),
- mod(calldataload(add(data_ptr, 0x120)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0x80)), 0x20),
- mod(calldataload(add(data_ptr, 0x100)), q)
- )
-
- // proof.T1
- mstore(
- mload(add(proof_ptr, 0xa0)),
- mod(calldataload(add(data_ptr, 0x160)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0xa0)), 0x20),
- mod(calldataload(add(data_ptr, 0x140)), q)
- )
-
- // proof.T2
- mstore(
- mload(add(proof_ptr, 0xc0)),
- mod(calldataload(add(data_ptr, 0x1a0)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0xc0)), 0x20),
- mod(calldataload(add(data_ptr, 0x180)), q)
- )
-
- // proof.T3
- mstore(
- mload(add(proof_ptr, 0xe0)),
- mod(calldataload(add(data_ptr, 0x1e0)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0xe0)), 0x20),
- mod(calldataload(add(data_ptr, 0x1c0)), q)
- )
-
- // proof.T4
- mstore(
- mload(add(proof_ptr, 0x100)),
- mod(calldataload(add(data_ptr, 0x220)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0x100)), 0x20),
- mod(calldataload(add(data_ptr, 0x200)), q)
- )
-
- // proof.w1 to proof.w4
- mstore(
- add(proof_ptr, 0x120),
- mod(calldataload(add(data_ptr, 0x240)), p)
- )
- mstore(
- add(proof_ptr, 0x140),
- mod(calldataload(add(data_ptr, 0x260)), p)
- )
- mstore(
- add(proof_ptr, 0x160),
- mod(calldataload(add(data_ptr, 0x280)), p)
- )
- mstore(
- add(proof_ptr, 0x180),
- mod(calldataload(add(data_ptr, 0x2a0)), p)
- )
-
- // proof.sigma1
- mstore(
- add(proof_ptr, 0x1a0),
- mod(calldataload(add(data_ptr, 0x2c0)), p)
- )
-
- // proof.sigma2
- mstore(
- add(proof_ptr, 0x1c0),
- mod(calldataload(add(data_ptr, 0x2e0)), p)
- )
-
- // proof.sigma3
- mstore(
- add(proof_ptr, 0x1e0),
- mod(calldataload(add(data_ptr, 0x300)), p)
- )
-
- // proof.q_arith
- mstore(
- add(proof_ptr, 0x200),
- mod(calldataload(add(data_ptr, 0x320)), p)
- )
-
- // proof.q_ecc
- mstore(
- add(proof_ptr, 0x220),
- mod(calldataload(add(data_ptr, 0x340)), p)
- )
-
- // proof.q_c
- mstore(
- add(proof_ptr, 0x240),
- mod(calldataload(add(data_ptr, 0x360)), p)
- )
-
- // proof.linearization_polynomial
- // mstore(add(proof_ptr, 0x260), mod(calldataload(add(data_ptr, 0x380)), p))
-
- // proof.grand_product_at_z_omega
- mstore(
- add(proof_ptr, 0x260),
- mod(calldataload(add(data_ptr, 0x380)), p)
- )
-
- // proof.w1_omega to proof.w4_omega
- mstore(
- add(proof_ptr, 0x280),
- mod(calldataload(add(data_ptr, 0x3a0)), p)
- )
- mstore(
- add(proof_ptr, 0x2a0),
- mod(calldataload(add(data_ptr, 0x3c0)), p)
- )
- mstore(
- add(proof_ptr, 0x2c0),
- mod(calldataload(add(data_ptr, 0x3e0)), p)
- )
- mstore(
- add(proof_ptr, 0x2e0),
- mod(calldataload(add(data_ptr, 0x400)), p)
- )
-
- // proof.PI_Z
- //Order of x and y coordinate are reverse in case of serialization
- mstore(
- mload(add(proof_ptr, 0x300)),
- mod(calldataload(add(data_ptr, 0x440)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0x300)), 0x20),
- mod(calldataload(add(data_ptr, 0x420)), q)
- )
-
- // proof.PI_Z_OMEGA
- mstore(
- mload(add(proof_ptr, 0x320)),
- mod(calldataload(add(data_ptr, 0x480)), q)
- )
- mstore(
- add(mload(add(proof_ptr, 0x320)), 0x20),
- mod(calldataload(add(data_ptr, 0x460)), q)
- )
- }
- }
-}
-
-
-
-
-
-/**
- * @title Bn254Crypto library used for the fr, g1 and g2 point types
- * @dev Used to manipulate fr, g1, g2 types, perform modular arithmetic on them and call
- * the precompiles add, scalar mul and pairing
- *
- * Notes on optimisations
- * 1) Perform addmod, mulmod etc. in assembly - removes the check that Solidity performs to confirm that
- * the supplied modulus is not 0. This is safe as the modulus's used (r_mod, q_mod) are hard coded
- * inside the contract and not supplied by the user
- */
-library Types {
- uint256 constant PROGRAM_WIDTH = 4;
- uint256 constant NUM_NU_CHALLENGES = 11;
-
- uint256 constant coset_generator0 =
- 0x0000000000000000000000000000000000000000000000000000000000000005;
- uint256 constant coset_generator1 =
- 0x0000000000000000000000000000000000000000000000000000000000000006;
- uint256 constant coset_generator2 =
- 0x0000000000000000000000000000000000000000000000000000000000000007;
-
- // TODO: add external_coset_generator() method to compute this
- uint256 constant coset_generator7 =
- 0x000000000000000000000000000000000000000000000000000000000000000c;
-
- struct G1Point {
- uint256 x;
- uint256 y;
- }
-
- // G2 group element where x \in Fq2 = x0 * z + x1
- struct G2Point {
- uint256 x0;
- uint256 x1;
- uint256 y0;
- uint256 y1;
- }
-
- // N>B. Do not re-order these fields! They must appear in the same order as they
- // appear in the proof data
- struct Proof {
- G1Point W1;
- G1Point W2;
- G1Point W3;
- G1Point W4;
- G1Point Z;
- G1Point T1;
- G1Point T2;
- G1Point T3;
- G1Point T4;
- uint256 w1;
- uint256 w2;
- uint256 w3;
- uint256 w4;
- uint256 sigma1;
- uint256 sigma2;
- uint256 sigma3;
- uint256 q_arith;
- uint256 q_ecc;
- uint256 q_c;
- // uint256 linearization_polynomial;
- uint256 grand_product_at_z_omega;
- uint256 w1_omega;
- uint256 w2_omega;
- uint256 w3_omega;
- uint256 w4_omega;
- G1Point PI_Z;
- G1Point PI_Z_OMEGA;
- G1Point recursive_P1;
- G1Point recursive_P2;
- // uint256 quotient_polynomial_eval;
- uint256 r_0;
- }
-
- struct ChallengeTranscript {
- uint256 alpha_base;
- uint256 alpha;
- uint256 zeta;
- uint256 beta;
- uint256 gamma;
- uint256 u;
- uint256 v0;
- uint256 v1;
- uint256 v2;
- uint256 v3;
- uint256 v4;
- uint256 v5;
- uint256 v6;
- uint256 v7;
- uint256 v8;
- uint256 v9;
- uint256 v10;
- }
-
- struct VerificationKey {
- uint256 circuit_size;
- uint256 num_inputs;
- uint256 work_root;
- uint256 domain_inverse;
- uint256 work_root_inverse;
- G1Point Q1;
- G1Point Q2;
- G1Point Q3;
- G1Point Q4;
- G1Point Q5;
- G1Point QM;
- G1Point QC;
- G1Point QARITH;
- G1Point QECC;
- G1Point QRANGE;
- G1Point QLOGIC;
- G1Point SIGMA1;
- G1Point SIGMA2;
- G1Point SIGMA3;
- G1Point SIGMA4;
- bool contains_recursive_proof;
- uint256 recursive_proof_indices;
- G2Point g2_x;
- // zeta challenge raised to the power of the circuit size.
- // Not actually part of the verification key, but we put it here to prevent stack depth errors
- uint256 zeta_pow_n;
- // necessary fot the simplified plonk
- uint256 zero_polynomial_eval;
- }
-}
-
-
-
-
-
-
-/**
- * @title Bn254 elliptic curve crypto
- * @dev Provides some basic methods to compute bilinear pairings, construct group elements and misc numerical methods
- */
-library Bn254Crypto {
- uint256 constant p_mod =
- 21888242871839275222246405745257275088696311157297823662689037894645226208583;
- uint256 constant r_mod =
- 21888242871839275222246405745257275088548364400416034343698204186575808495617;
-
- // Perform a modular exponentiation. This method is ideal for small exponents (~64 bits or less), as
- // it is cheaper than using the pow precompile
- function pow_small(
- uint256 base,
- uint256 exponent,
- uint256 modulus
- ) internal pure returns (uint256) {
- uint256 result = 1;
- uint256 input = base;
- uint256 count = 1;
-
- assembly {
- let endpoint := add(exponent, 0x01)
- for {
-
- } lt(count, endpoint) {
- count := add(count, count)
- } {
- if and(exponent, count) {
- result := mulmod(result, input, modulus)
- }
- input := mulmod(input, input, modulus)
- }
- }
-
- return result;
- }
-
- function invert(uint256 fr) internal view returns (uint256) {
- uint256 output;
- bool success;
- uint256 p = r_mod;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, 0x20)
- mstore(add(mPtr, 0x20), 0x20)
- mstore(add(mPtr, 0x40), 0x20)
- mstore(add(mPtr, 0x60), fr)
- mstore(add(mPtr, 0x80), sub(p, 2))
- mstore(add(mPtr, 0xa0), p)
- success := staticcall(gas(), 0x05, mPtr, 0xc0, 0x00, 0x20)
- output := mload(0x00)
- }
- require(success, "pow precompile call failed!");
- return output;
- }
-
- function new_g1(uint256 x, uint256 y)
- internal
- pure
- returns (Types.G1Point memory)
- {
- uint256 xValue;
- uint256 yValue;
- assembly {
- xValue := mod(x, r_mod)
- yValue := mod(y, r_mod)
- }
- return Types.G1Point(xValue, yValue);
- }
-
- function new_g2(
- uint256 x0,
- uint256 x1,
- uint256 y0,
- uint256 y1
- ) internal pure returns (Types.G2Point memory) {
- return Types.G2Point(x0, x1, y0, y1);
- }
-
- function P1() internal pure returns (Types.G1Point memory) {
- return Types.G1Point(1, 2);
- }
-
- function P2() internal pure returns (Types.G2Point memory) {
- return
- Types.G2Point({
- x0: 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2,
- x1: 0x1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed,
- y0: 0x090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b,
- y1: 0x12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa
- });
- }
-
- /// Evaluate the following pairing product:
- /// e(a1, a2).e(-b1, b2) == 1
- function pairingProd2(
- Types.G1Point memory a1,
- Types.G2Point memory a2,
- Types.G1Point memory b1,
- Types.G2Point memory b2
- ) internal view returns (bool) {
- validateG1Point(a1);
- validateG1Point(b1);
- bool success;
- uint256 out;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(a1))
- mstore(add(mPtr, 0x20), mload(add(a1, 0x20)))
- mstore(add(mPtr, 0x40), mload(a2))
- mstore(add(mPtr, 0x60), mload(add(a2, 0x20)))
- mstore(add(mPtr, 0x80), mload(add(a2, 0x40)))
- mstore(add(mPtr, 0xa0), mload(add(a2, 0x60)))
-
- mstore(add(mPtr, 0xc0), mload(b1))
- mstore(add(mPtr, 0xe0), mload(add(b1, 0x20)))
- mstore(add(mPtr, 0x100), mload(b2))
- mstore(add(mPtr, 0x120), mload(add(b2, 0x20)))
- mstore(add(mPtr, 0x140), mload(add(b2, 0x40)))
- mstore(add(mPtr, 0x160), mload(add(b2, 0x60)))
- success := staticcall(gas(), 8, mPtr, 0x180, 0x00, 0x20)
- out := mload(0x00)
- }
- require(success, "Pairing check failed!");
- return (out != 0);
- }
-
- /**
- * validate the following:
- * x != 0
- * y != 0
- * x < p
- * y < p
- * y^2 = x^3 + 3 mod p
- */
- function validateG1Point(Types.G1Point memory point) internal pure {
- bool is_well_formed;
- uint256 p = p_mod;
- assembly {
- let x := mload(point)
- let y := mload(add(point, 0x20))
-
- is_well_formed := and(
- and(and(lt(x, p), lt(y, p)), not(or(iszero(x), iszero(y)))),
- eq(mulmod(y, y, p), addmod(mulmod(x, mulmod(x, x, p), p), 3, p))
- )
- }
- require(
- is_well_formed,
- "Bn254: G1 point not on curve, or is malformed"
- );
- }
-}
-
-
-
-
-/**
- * @title Turbo Plonk polynomial evaluation
- * @dev Implementation of Turbo Plonk's polynomial evaluation algorithms
- *
- * Expected to be inherited by `TurboPlonk.sol`
- *
- * Copyright 2020 Spilsbury Holdings Ltd
- *
- * Licensed under the GNU General Public License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-library PolynomialEval {
- using Bn254Crypto for Types.G1Point;
- using Bn254Crypto for Types.G2Point;
-
- /**
- * @dev Use batch inversion (so called Montgomery's trick). Circuit size is the domain
- * Allows multiple inversions to be performed in one inversion, at the expense of additional multiplications
- *
- * Returns a struct containing the inverted elements
- */
- function compute_batch_inversions(
- uint256 public_input_delta_numerator,
- uint256 public_input_delta_denominator,
- uint256 vanishing_numerator,
- uint256 vanishing_denominator,
- uint256 lagrange_numerator,
- uint256 l_start_denominator,
- uint256 l_end_denominator
- )
- internal
- view
- returns (
- uint256 zero_polynomial_eval,
- uint256 public_input_delta,
- uint256 l_start,
- uint256 l_end
- )
- {
- uint256 mPtr;
- uint256 p = Bn254Crypto.r_mod;
- uint256 accumulator = 1;
- assembly {
- mPtr := mload(0x40)
- mstore(0x40, add(mPtr, 0x200))
- }
-
- // store denominators in mPtr -> mPtr + 0x80
- assembly {
- mstore(mPtr, public_input_delta_denominator) // store denominator
- mstore(add(mPtr, 0x20), vanishing_denominator) // store denominator
- mstore(add(mPtr, 0x40), l_start_denominator) // store denominator
- mstore(add(mPtr, 0x60), l_end_denominator) // store denominator
-
- // store temporary product terms at mPtr + 0x80 -> mPtr + 0x100
- mstore(add(mPtr, 0x80), accumulator)
- accumulator := mulmod(accumulator, mload(mPtr), p)
- mstore(add(mPtr, 0xa0), accumulator)
- accumulator := mulmod(accumulator, mload(add(mPtr, 0x20)), p)
- mstore(add(mPtr, 0xc0), accumulator)
- accumulator := mulmod(accumulator, mload(add(mPtr, 0x40)), p)
- mstore(add(mPtr, 0xe0), accumulator)
- accumulator := mulmod(accumulator, mload(add(mPtr, 0x60)), p)
- }
-
- accumulator = Bn254Crypto.invert(accumulator);
- assembly {
- let intermediate := mulmod(accumulator, mload(add(mPtr, 0xe0)), p)
- accumulator := mulmod(accumulator, mload(add(mPtr, 0x60)), p)
- mstore(add(mPtr, 0x60), intermediate)
-
- intermediate := mulmod(accumulator, mload(add(mPtr, 0xc0)), p)
- accumulator := mulmod(accumulator, mload(add(mPtr, 0x40)), p)
- mstore(add(mPtr, 0x40), intermediate)
-
- intermediate := mulmod(accumulator, mload(add(mPtr, 0xa0)), p)
- accumulator := mulmod(accumulator, mload(add(mPtr, 0x20)), p)
- mstore(add(mPtr, 0x20), intermediate)
-
- intermediate := mulmod(accumulator, mload(add(mPtr, 0x80)), p)
- accumulator := mulmod(accumulator, mload(mPtr), p)
- mstore(mPtr, intermediate)
-
- public_input_delta := mulmod(
- public_input_delta_numerator,
- mload(mPtr),
- p
- )
-
- zero_polynomial_eval := mulmod(
- vanishing_numerator,
- mload(add(mPtr, 0x20)),
- p
- )
-
- l_start := mulmod(lagrange_numerator, mload(add(mPtr, 0x40)), p)
-
- l_end := mulmod(lagrange_numerator, mload(add(mPtr, 0x60)), p)
- }
- }
-
- function compute_public_input_delta(
- Types.ChallengeTranscript memory challenges,
- Types.VerificationKey memory vk
- ) internal pure returns (uint256, uint256) {
- uint256 gamma = challenges.gamma;
- uint256 work_root = vk.work_root;
-
- uint256 endpoint = (vk.num_inputs * 0x20) - 0x20;
- uint256 public_inputs;
- uint256 root_1 = challenges.beta;
- uint256 root_2 = challenges.beta;
- uint256 numerator_value = 1;
- uint256 denominator_value = 1;
-
- // we multiply length by 0x20 because our loop step size is 0x20 not 0x01
- // we subtract 0x20 because our loop is unrolled 2 times an we don't want to overshoot
-
- // perform this computation in assembly to improve efficiency. We are sensitive to the cost of this loop as
- // it scales with the number of public inputs
- uint256 p = Bn254Crypto.r_mod;
- bool valid = true;
- assembly {
- root_1 := mulmod(root_1, 0x05, p)
- root_2 := mulmod(root_2, 0x07, p)
- public_inputs := add(calldataload(0x04), 0x24)
-
- // get public inputs from calldata. N.B. If Contract ABI Changes this code will need to be updated!
- endpoint := add(endpoint, public_inputs)
- // Do some loop unrolling to reduce number of conditional jump operations
- for {
-
- } lt(public_inputs, endpoint) {
-
- } {
- let input0 := calldataload(public_inputs)
- let N0 := add(root_1, add(input0, gamma))
- let D0 := add(root_2, N0) // 4x overloaded
-
- root_1 := mulmod(root_1, work_root, p)
- root_2 := mulmod(root_2, work_root, p)
-
- let input1 := calldataload(add(public_inputs, 0x20))
- let N1 := add(root_1, add(input1, gamma))
-
- denominator_value := mulmod(
- mulmod(D0, denominator_value, p),
- add(N1, root_2),
- p
- )
- numerator_value := mulmod(mulmod(N1, N0, p), numerator_value, p)
-
- root_1 := mulmod(root_1, work_root, p)
- root_2 := mulmod(root_2, work_root, p)
-
- valid := and(valid, and(lt(input0, p), lt(input1, p)))
- public_inputs := add(public_inputs, 0x40)
- }
-
- endpoint := add(endpoint, 0x20)
- for {
-
- } lt(public_inputs, endpoint) {
- public_inputs := add(public_inputs, 0x20)
- } {
- let input0 := calldataload(public_inputs)
- valid := and(valid, lt(input0, p))
- let T0 := addmod(input0, gamma, p)
- numerator_value := mulmod(
- numerator_value,
- add(root_1, T0), // 0x05 = coset_generator0
- p
- )
- denominator_value := mulmod(
- denominator_value,
- add(add(root_1, root_2), T0), // 0x0c = coset_generator7
- p
- )
- root_1 := mulmod(root_1, work_root, p)
- root_2 := mulmod(root_2, work_root, p)
- }
- }
- require(valid, "public inputs are greater than circuit modulus");
- return (numerator_value, denominator_value);
- }
-
- /**
- * @dev Computes the vanishing polynoimal and lagrange evaluations L1 and Ln.
- * @return Returns fractions as numerators and denominators. We combine with the public input fraction and compute inverses as a batch
- */
- function compute_lagrange_and_vanishing_fractions(
- Types.VerificationKey memory vk,
- uint256 zeta
- )
- internal
- pure
- returns (
- uint256,
- uint256,
- uint256,
- uint256,
- uint256
- )
- {
- uint256 p = Bn254Crypto.r_mod;
- uint256 vanishing_numerator = Bn254Crypto.pow_small(
- zeta,
- vk.circuit_size,
- p
- );
- vk.zeta_pow_n = vanishing_numerator;
- assembly {
- vanishing_numerator := addmod(vanishing_numerator, sub(p, 1), p)
- }
-
- uint256 accumulating_root = vk.work_root_inverse;
- uint256 work_root = vk.work_root_inverse;
- uint256 vanishing_denominator;
- uint256 domain_inverse = vk.domain_inverse;
- uint256 l_start_denominator;
- uint256 l_end_denominator;
- uint256 z = zeta; // copy input var to prevent stack depth errors
- assembly {
- // vanishing_denominator = (z - w^{n-1})(z - w^{n-2})(z - w^{n-3})(z - w^{n-4})
- // we need to cut 4 roots of unity out of the vanishing poly, the last 4 constraints are not satisfied due to randomness
- // added to ensure the proving system is zero-knowledge
- vanishing_denominator := addmod(z, sub(p, work_root), p)
- work_root := mulmod(work_root, accumulating_root, p)
- vanishing_denominator := mulmod(
- vanishing_denominator,
- addmod(z, sub(p, work_root), p),
- p
- )
- work_root := mulmod(work_root, accumulating_root, p)
- vanishing_denominator := mulmod(
- vanishing_denominator,
- addmod(z, sub(p, work_root), p),
- p
- )
- work_root := mulmod(work_root, accumulating_root, p)
- vanishing_denominator := mulmod(
- vanishing_denominator,
- addmod(z, sub(p, work_root), p),
- p
- )
- }
-
- work_root = vk.work_root;
- uint256 lagrange_numerator;
- assembly {
- lagrange_numerator := mulmod(vanishing_numerator, domain_inverse, p)
- // l_start_denominator = z - 1
- // l_end_denominator = z * \omega^5 - 1
- l_start_denominator := addmod(z, sub(p, 1), p)
-
- accumulating_root := mulmod(work_root, work_root, p)
- accumulating_root := mulmod(accumulating_root, accumulating_root, p)
- accumulating_root := mulmod(accumulating_root, work_root, p)
-
- l_end_denominator := addmod(
- mulmod(accumulating_root, z, p),
- sub(p, 1),
- p
- )
- }
-
- return (
- vanishing_numerator,
- vanishing_denominator,
- lagrange_numerator,
- l_start_denominator,
- l_end_denominator
- );
- }
-
- function compute_arithmetic_gate_quotient_contribution(
- Types.ChallengeTranscript memory challenges,
- Types.Proof memory proof
- ) internal view returns (uint256) {
- uint256 q_arith = proof.q_arith;
- uint256 wire3 = proof.w3;
- uint256 wire4 = proof.w4;
- uint256 alpha_base = challenges.alpha_base;
- uint256 alpha = challenges.alpha;
- uint256 t1;
- uint256 p = Bn254Crypto.r_mod;
- assembly {
- t1 := addmod(mulmod(q_arith, q_arith, p), sub(p, q_arith), p)
-
- let t2 := addmod(sub(p, mulmod(wire4, 0x04, p)), wire3, p)
-
- let t3 := mulmod(mulmod(t2, t2, p), 0x02, p)
-
- let t4 := mulmod(t2, 0x09, p)
- t4 := addmod(t4, addmod(sub(p, t3), sub(p, 0x07), p), p)
-
- t2 := mulmod(t2, t4, p)
-
- t1 := mulmod(mulmod(t1, t2, p), alpha_base, p)
-
- alpha_base := mulmod(alpha_base, alpha, p)
- alpha_base := mulmod(alpha_base, alpha, p)
- }
-
- challenges.alpha_base = alpha_base;
-
- return t1;
- }
-
- function compute_pedersen_gate_quotient_contribution(
- Types.ChallengeTranscript memory challenges,
- Types.Proof memory proof
- ) internal view returns (uint256) {
- uint256 alpha = challenges.alpha;
- uint256 gate_id = 0;
- uint256 alpha_base = challenges.alpha_base;
-
- {
- uint256 p = Bn254Crypto.r_mod;
- uint256 delta = 0;
-
- uint256 wire_t0 = proof.w4; // w4
- uint256 wire_t1 = proof.w4_omega; // w4_omega
- uint256 wire_t2 = proof.w3_omega; // w3_omega
- assembly {
- let wire4_neg := sub(p, wire_t0)
- delta := addmod(wire_t1, mulmod(wire4_neg, 0x04, p), p)
-
- gate_id := mulmod(
- mulmod(
- mulmod(
- mulmod(add(delta, 0x01), add(delta, 0x03), p),
- add(delta, sub(p, 0x01)),
- p
- ),
- add(delta, sub(p, 0x03)),
- p
- ),
- alpha_base,
- p
- )
- alpha_base := mulmod(alpha_base, alpha, p)
-
- gate_id := addmod(
- gate_id,
- sub(p, mulmod(wire_t2, alpha_base, p)),
- p
- )
-
- alpha_base := mulmod(alpha_base, alpha, p)
- }
-
- uint256 selector_value = proof.q_ecc;
-
- wire_t0 = proof.w1; // w1
- wire_t1 = proof.w1_omega; // w1_omega
- wire_t2 = proof.w2; // w2
- uint256 wire_t3 = proof.w3_omega; // w3_omega
- uint256 t0;
- uint256 t1;
- uint256 t2;
- assembly {
- t0 := addmod(wire_t1, addmod(wire_t0, wire_t3, p), p)
-
- t1 := addmod(wire_t3, sub(p, wire_t0), p)
- t1 := mulmod(t1, t1, p)
-
- t0 := mulmod(t0, t1, p)
-
- t1 := mulmod(wire_t3, mulmod(wire_t3, wire_t3, p), p)
-
- t2 := mulmod(wire_t2, wire_t2, p)
-
- t1 := sub(p, addmod(addmod(t1, t2, p), sub(p, 17), p))
-
- t2 := mulmod(mulmod(delta, wire_t2, p), selector_value, p)
- t2 := addmod(t2, t2, p)
-
- t0 := mulmod(addmod(t0, addmod(t1, t2, p), p), alpha_base, p)
- gate_id := addmod(gate_id, t0, p)
-
- alpha_base := mulmod(alpha_base, alpha, p)
- }
-
- wire_t0 = proof.w1; // w1
- wire_t1 = proof.w2_omega; // w2_omega
- wire_t2 = proof.w2; // w2
- wire_t3 = proof.w3_omega; // w3_omega
- uint256 wire_t4 = proof.w1_omega; // w1_omega
- assembly {
- t0 := mulmod(
- addmod(wire_t1, wire_t2, p),
- addmod(wire_t3, sub(p, wire_t0), p),
- p
- )
-
- t1 := addmod(wire_t0, sub(p, wire_t4), p)
-
- t2 := addmod(
- sub(p, mulmod(selector_value, delta, p)),
- wire_t2,
- p
- )
-
- gate_id := addmod(
- gate_id,
- mulmod(add(t0, mulmod(t1, t2, p)), alpha_base, p),
- p
- )
-
- alpha_base := mulmod(alpha_base, alpha, p)
- }
-
- selector_value = proof.q_c;
-
- wire_t1 = proof.w4; // w4
- wire_t2 = proof.w3; // w3
- assembly {
- let acc_init_id := addmod(wire_t1, sub(p, 0x01), p)
-
- t1 := addmod(acc_init_id, sub(p, wire_t2), p)
-
- acc_init_id := mulmod(acc_init_id, mulmod(t1, alpha_base, p), p)
- acc_init_id := mulmod(acc_init_id, selector_value, p)
-
- gate_id := addmod(gate_id, acc_init_id, p)
-
- alpha_base := mulmod(alpha_base, alpha, p)
- }
-
- assembly {
- let x_init_id := sub(
- p,
- mulmod(
- mulmod(wire_t0, selector_value, p),
- mulmod(wire_t2, alpha_base, p),
- p
- )
- )
-
- gate_id := addmod(gate_id, x_init_id, p)
-
- alpha_base := mulmod(alpha_base, alpha, p)
- }
-
- wire_t0 = proof.w2; // w2
- wire_t1 = proof.w3; // w3
- wire_t2 = proof.w4; // w4
- assembly {
- let y_init_id := mulmod(
- add(0x01, sub(p, wire_t2)),
- selector_value,
- p
- )
-
- t1 := sub(p, mulmod(wire_t0, wire_t1, p))
-
- y_init_id := mulmod(
- add(y_init_id, t1),
- mulmod(alpha_base, selector_value, p),
- p
- )
-
- gate_id := addmod(gate_id, y_init_id, p)
-
- alpha_base := mulmod(alpha_base, alpha, p)
- }
- selector_value = proof.q_ecc;
- assembly {
- gate_id := mulmod(gate_id, selector_value, p)
- }
- }
- challenges.alpha_base = alpha_base;
- return gate_id;
- }
-
- function compute_permutation_quotient_contribution(
- uint256 public_input_delta,
- Types.ChallengeTranscript memory challenges,
- uint256 lagrange_start,
- uint256 lagrange_end,
- Types.Proof memory proof
- ) internal view returns (uint256) {
- uint256 numerator_collector;
- uint256 alpha = challenges.alpha;
- uint256 beta = challenges.beta;
- uint256 p = Bn254Crypto.r_mod;
- uint256 grand_product = proof.grand_product_at_z_omega;
- {
- uint256 gamma = challenges.gamma;
- uint256 wire1 = proof.w1;
- uint256 wire2 = proof.w2;
- uint256 wire3 = proof.w3;
- uint256 wire4 = proof.w4;
- uint256 sigma1 = proof.sigma1;
- uint256 sigma2 = proof.sigma2;
- uint256 sigma3 = proof.sigma3;
- assembly {
- let t0 := add(add(wire1, gamma), mulmod(beta, sigma1, p))
-
- let t1 := add(add(wire2, gamma), mulmod(beta, sigma2, p))
-
- let t2 := add(add(wire3, gamma), mulmod(beta, sigma3, p))
-
- t0 := mulmod(t0, mulmod(t1, t2, p), p)
-
- t0 := mulmod(t0, add(wire4, gamma), p)
-
- t0 := mulmod(t0, grand_product, p)
-
- t0 := mulmod(t0, alpha, p)
-
- numerator_collector := sub(p, t0)
- }
- }
-
- uint256 alpha_base = challenges.alpha_base;
- {
- uint256 lstart = lagrange_start;
- uint256 lend = lagrange_end;
- uint256 public_delta = public_input_delta;
- assembly {
- let alpha_squared := mulmod(alpha, alpha, p)
- let alpha_cubed := mulmod(alpha, alpha_squared, p)
-
- let t0 := mulmod(lstart, alpha_cubed, p)
- let t1 := mulmod(lend, alpha_squared, p)
- let t2 := addmod(grand_product, sub(p, public_delta), p)
- t1 := mulmod(t1, t2, p)
-
- numerator_collector := addmod(
- numerator_collector,
- sub(p, t0),
- p
- )
- numerator_collector := addmod(numerator_collector, t1, p)
- alpha_base := mulmod(alpha_base, alpha_cubed, p)
- }
- }
-
- challenges.alpha_base = alpha_base;
-
- return numerator_collector;
- }
-
- // compute_r_0
- function compute_linear_polynomial_constant(
- uint256 zero_poly_inverse,
- uint256 public_input_delta,
- Types.ChallengeTranscript memory challenges,
- uint256 lagrange_start,
- uint256 lagrange_end,
- Types.Proof memory proof
- ) internal view returns (uint256) {
- uint256 t0 = compute_permutation_quotient_contribution(
- public_input_delta,
- challenges,
- lagrange_start,
- lagrange_end,
- proof
- );
-
- uint256 t1 = compute_arithmetic_gate_quotient_contribution(
- challenges,
- proof
- );
-
- uint256 t2 = compute_pedersen_gate_quotient_contribution(
- challenges,
- proof
- );
-
- uint256 r_0;
- uint256 p = Bn254Crypto.r_mod;
- assembly {
- r_0 := addmod(t0, addmod(t1, t2, p), p)
- // r_0 := mulmod(r_0, zero_poly_inverse, p) // not necessary for the simplified Plonk
- }
- return r_0;
- }
-
- function compute_linearised_opening_terms(
- Types.ChallengeTranscript memory challenges,
- uint256 L1_fr,
- Types.VerificationKey memory vk,
- Types.Proof memory proof
- ) internal view returns (Types.G1Point memory) {
- Types.G1Point
- memory accumulator = compute_grand_product_opening_group_element(
- proof,
- vk,
- challenges,
- L1_fr
- );
- Types.G1Point
- memory arithmetic_term = compute_arithmetic_selector_opening_group_element(
- proof,
- vk,
- challenges
- );
- uint256 range_multiplier = compute_range_gate_opening_scalar(
- proof,
- challenges
- );
- uint256 logic_multiplier = compute_logic_gate_opening_scalar(
- proof,
- challenges
- );
-
- Types.G1Point memory QRANGE = vk.QRANGE;
- Types.G1Point memory QLOGIC = vk.QLOGIC;
- QRANGE.validateG1Point();
- QLOGIC.validateG1Point();
-
- // compute range_multiplier.[QRANGE] + logic_multiplier.[QLOGIC] + [accumulator] + [grand_product_term]
- bool success;
- assembly {
- let mPtr := mload(0x40)
-
- // range_multiplier.[QRANGE]
- mstore(mPtr, mload(QRANGE))
- mstore(add(mPtr, 0x20), mload(add(QRANGE, 0x20)))
- mstore(add(mPtr, 0x40), range_multiplier)
- success := staticcall(gas(), 7, mPtr, 0x60, mPtr, 0x40)
-
- // add scalar mul output into accumulator
- // we use mPtr to store accumulated point
- mstore(add(mPtr, 0x40), mload(accumulator))
- mstore(add(mPtr, 0x60), mload(add(accumulator, 0x20)))
- success := and(
- success,
- staticcall(gas(), 6, mPtr, 0x80, mPtr, 0x40)
- )
-
- // logic_multiplier.[QLOGIC]
- mstore(add(mPtr, 0x40), mload(QLOGIC))
- mstore(add(mPtr, 0x60), mload(add(QLOGIC, 0x20)))
- mstore(add(mPtr, 0x80), logic_multiplier)
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(mPtr, 0x40),
- 0x60,
- add(mPtr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(gas(), 6, mPtr, 0x80, mPtr, 0x40)
- )
-
- // add arithmetic into accumulator
- mstore(add(mPtr, 0x40), mload(arithmetic_term))
- mstore(add(mPtr, 0x60), mload(add(arithmetic_term, 0x20)))
- success := and(
- success,
- staticcall(gas(), 6, mPtr, 0x80, accumulator, 0x40)
- )
- }
- require(
- success,
- "compute_linearised_opening_terms group operations fail"
- );
-
- return accumulator;
- }
-
- function compute_batch_opening_commitment(
- Types.ChallengeTranscript memory challenges,
- Types.VerificationKey memory vk,
- Types.G1Point memory partial_opening_commitment,
- Types.Proof memory proof
- ) internal view returns (Types.G1Point memory) {
- // Computes the Kate opening proof group operations, for commitments that are not linearised
- bool success;
- // Reserve 0xa0 bytes of memory to perform group operations
- uint256 accumulator_ptr;
- uint256 p = Bn254Crypto.r_mod;
- assembly {
- accumulator_ptr := mload(0x40)
- mstore(0x40, add(accumulator_ptr, 0xa0))
- }
- // For the simplified plonk, we need to multiply -Z_H(z) with [T1],
- // proof.zero_poly_eval = Z_H(z)
- uint256 zero_poly_eval_neg = p - vk.zero_polynomial_eval;
- // [T2], [T3], [T4]
- // first term
- Types.G1Point memory work_point = proof.T1;
- work_point.validateG1Point();
- assembly {
- mstore(accumulator_ptr, mload(work_point))
- mstore(add(accumulator_ptr, 0x20), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x40), zero_poly_eval_neg)
- // computing zero_poly_eval_neg * [T1]
- success := staticcall(
- gas(),
- 7,
- accumulator_ptr,
- 0x60,
- accumulator_ptr,
- 0x40
- )
- }
-
- // second term
- uint256 scalar_multiplier = vk.zeta_pow_n; // zeta_pow_n is computed in compute_lagrange_and_vanishing_fractions
- uint256 zeta_n = scalar_multiplier;
- work_point = proof.T2;
- work_point.validateG1Point();
- assembly {
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(
- add(accumulator_ptr, 0x80),
- mulmod(scalar_multiplier, zero_poly_eval_neg, p)
- )
-
- // compute zero_poly_eval_neg * zeta_n * [T2]
- success := staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // third term
- work_point = proof.T3;
- work_point.validateG1Point();
- assembly {
- scalar_multiplier := mulmod(scalar_multiplier, scalar_multiplier, p)
-
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(
- add(accumulator_ptr, 0x80),
- mulmod(scalar_multiplier, zero_poly_eval_neg, p)
- )
-
- // compute zero_poly_eval_neg * zeta_n^2 * [T3]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // fourth term
- work_point = proof.T4;
- work_point.validateG1Point();
- assembly {
- scalar_multiplier := mulmod(scalar_multiplier, zeta_n, p)
-
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(
- add(accumulator_ptr, 0x80),
- mulmod(scalar_multiplier, zero_poly_eval_neg, p)
- )
-
- // compute zero_poly_eval_neg * zeta_n^3 * [T4]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // fifth term
- work_point = partial_opening_commitment;
- work_point.validateG1Point();
- assembly {
- // add partial opening commitment into accumulator
- mstore(
- add(accumulator_ptr, 0x40),
- mload(partial_opening_commitment)
- )
- mstore(
- add(accumulator_ptr, 0x60),
- mload(add(partial_opening_commitment, 0x20))
- )
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- uint256 u_plus_one = challenges.u;
- uint256 v_challenge = challenges.v0;
-
- // W1
- work_point = proof.W1;
- work_point.validateG1Point();
- assembly {
- u_plus_one := addmod(u_plus_one, 0x01, p)
-
- scalar_multiplier := mulmod(v_challenge, u_plus_one, p)
-
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v0(u + 1).[W1]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // W2
- v_challenge = challenges.v1;
- work_point = proof.W2;
- work_point.validateG1Point();
- assembly {
- scalar_multiplier := mulmod(v_challenge, u_plus_one, p)
-
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v1(u + 1).[W2]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // W3
- v_challenge = challenges.v2;
- work_point = proof.W3;
- work_point.validateG1Point();
- assembly {
- scalar_multiplier := mulmod(v_challenge, u_plus_one, p)
-
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v2(u + 1).[W3]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // W4
- v_challenge = challenges.v3;
- work_point = proof.W4;
- work_point.validateG1Point();
- assembly {
- scalar_multiplier := mulmod(v_challenge, u_plus_one, p)
-
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v3(u + 1).[W4]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // SIGMA1
- scalar_multiplier = challenges.v4;
- work_point = vk.SIGMA1;
- work_point.validateG1Point();
- assembly {
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v4.[SIGMA1]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // SIGMA2
- scalar_multiplier = challenges.v5;
- work_point = vk.SIGMA2;
- work_point.validateG1Point();
- assembly {
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v5.[SIGMA2]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // SIGMA3
- scalar_multiplier = challenges.v6;
- work_point = vk.SIGMA3;
- work_point.validateG1Point();
- assembly {
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v6.[SIGMA3]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- // QARITH
- scalar_multiplier = challenges.v7;
- work_point = vk.QARITH;
- work_point.validateG1Point();
- assembly {
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v7.[QARITH]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
-
- Types.G1Point memory output;
- // QECC
- scalar_multiplier = challenges.v8;
- work_point = vk.QECC;
- work_point.validateG1Point();
- assembly {
- mstore(add(accumulator_ptr, 0x40), mload(work_point))
- mstore(add(accumulator_ptr, 0x60), mload(add(work_point, 0x20)))
- mstore(add(accumulator_ptr, 0x80), scalar_multiplier)
-
- // compute v8.[QECC]
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(accumulator_ptr, 0x40),
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
- )
-
- // add scalar mul output into output point
- success := and(
- success,
- staticcall(gas(), 6, accumulator_ptr, 0x80, output, 0x40)
- )
- }
-
- require(
- success,
- "compute_batch_opening_commitment group operations error"
- );
-
- return output;
- }
-
- function compute_batch_evaluation_scalar_multiplier(
- Types.Proof memory proof,
- Types.ChallengeTranscript memory challenges
- ) internal view returns (uint256) {
- uint256 p = Bn254Crypto.r_mod;
- uint256 opening_scalar;
- uint256 lhs; // stores nu challenges
- uint256 rhs; // stores evaluations of polynomials
-
- lhs = challenges.v0;
- rhs = proof.w1;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v1;
- rhs = proof.w2;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v2;
- rhs = proof.w3;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v3;
- rhs = proof.w4;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v4;
- rhs = proof.sigma1;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v5;
- rhs = proof.sigma2;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v6;
- rhs = proof.sigma3;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v7;
- rhs = proof.q_arith;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v8;
- rhs = proof.q_ecc;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- lhs = challenges.v9;
- rhs = proof.q_c;
- assembly {
- opening_scalar := addmod(opening_scalar, mulmod(lhs, rhs, p), p)
- }
-
- // lhs = 1; //challenges.v10; (should be -1 for simplified Plonk)
- rhs = proof.r_0; // linearization_polynomial should be r_0 for simplified Plonk
- assembly {
- opening_scalar := addmod(opening_scalar, sub(p, rhs), p)
- }
- // should be removed for simplified Plonk
- // lhs = proof.quotient_polynomial_eval;
- // assembly {
- // opening_scalar := addmod(opening_scalar, lhs, p)
- // }
-
- lhs = challenges.v0;
- rhs = proof.w1_omega;
- uint256 shifted_opening_scalar;
- assembly {
- shifted_opening_scalar := mulmod(lhs, rhs, p)
- }
-
- lhs = challenges.v1;
- rhs = proof.w2_omega;
- assembly {
- shifted_opening_scalar := addmod(
- shifted_opening_scalar,
- mulmod(lhs, rhs, p),
- p
- )
- }
-
- lhs = challenges.v2;
- rhs = proof.w3_omega;
- assembly {
- shifted_opening_scalar := addmod(
- shifted_opening_scalar,
- mulmod(lhs, rhs, p),
- p
- )
- }
-
- lhs = challenges.v3;
- rhs = proof.w4_omega;
- assembly {
- shifted_opening_scalar := addmod(
- shifted_opening_scalar,
- mulmod(lhs, rhs, p),
- p
- )
- }
-
- lhs = proof.grand_product_at_z_omega;
- assembly {
- shifted_opening_scalar := addmod(shifted_opening_scalar, lhs, p)
- }
-
- lhs = challenges.u;
- assembly {
- shifted_opening_scalar := mulmod(shifted_opening_scalar, lhs, p)
-
- opening_scalar := addmod(opening_scalar, shifted_opening_scalar, p)
- }
-
- return opening_scalar;
- }
-
- // Compute kate opening scalar for arithmetic gate selectors and pedersen gate selectors
- // (both the arithmetic gate and pedersen hash gate reuse the same selectors)
- function compute_arithmetic_selector_opening_group_element(
- Types.Proof memory proof,
- Types.VerificationKey memory vk,
- Types.ChallengeTranscript memory challenges
- ) internal view returns (Types.G1Point memory) {
- uint256 q_arith = proof.q_arith;
- uint256 q_ecc = proof.q_ecc;
- uint256 alpha_base = challenges.alpha_base;
- uint256 scaling_alpha = challenges.alpha_base;
- uint256 alpha = challenges.alpha;
- uint256 p = Bn254Crypto.r_mod;
- uint256 scalar_multiplier;
- uint256 accumulator_ptr; // reserve 0xa0 bytes of memory to multiply and add points
- assembly {
- accumulator_ptr := mload(0x40)
- mstore(0x40, add(accumulator_ptr, 0xa0))
- }
- {
- uint256 delta;
- // Q1 Selector
- {
- {
- uint256 w4 = proof.w4;
- uint256 w4_omega = proof.w4_omega;
- assembly {
- delta := addmod(
- w4_omega,
- sub(p, mulmod(w4, 0x04, p)),
- p
- )
- }
- }
- uint256 w1 = proof.w1;
-
- assembly {
- scalar_multiplier := w1
- scalar_multiplier := mulmod(
- scalar_multiplier,
- alpha_base,
- p
- )
- scalar_multiplier := mulmod(scalar_multiplier, q_arith, p)
-
- scaling_alpha := mulmod(scaling_alpha, alpha, p)
- scaling_alpha := mulmod(scaling_alpha, alpha, p)
- scaling_alpha := mulmod(scaling_alpha, alpha, p)
- let t0 := mulmod(delta, delta, p)
- t0 := mulmod(t0, q_ecc, p)
- t0 := mulmod(t0, scaling_alpha, p)
-
- scalar_multiplier := addmod(scalar_multiplier, t0, p)
- }
- Types.G1Point memory Q1 = vk.Q1;
- Q1.validateG1Point();
- bool success;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(Q1))
- mstore(add(mPtr, 0x20), mload(add(Q1, 0x20)))
- mstore(add(mPtr, 0x40), scalar_multiplier)
- success := staticcall(
- gas(),
- 7,
- mPtr,
- 0x60,
- accumulator_ptr,
- 0x40
- )
- }
- require(success, "G1 point multiplication failed!");
- }
-
- // Q2 Selector
- {
- uint256 w2 = proof.w2;
- assembly {
- scalar_multiplier := w2
- scalar_multiplier := mulmod(
- scalar_multiplier,
- alpha_base,
- p
- )
- scalar_multiplier := mulmod(scalar_multiplier, q_arith, p)
-
- let t0 := mulmod(scaling_alpha, q_ecc, p)
- scalar_multiplier := addmod(scalar_multiplier, t0, p)
- }
-
- Types.G1Point memory Q2 = vk.Q2;
- Q2.validateG1Point();
- bool success;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(Q2))
- mstore(add(mPtr, 0x20), mload(add(Q2, 0x20)))
- mstore(add(mPtr, 0x40), scalar_multiplier)
-
- // write scalar mul output 0x40 bytes ahead of accumulator
- success := staticcall(
- gas(),
- 7,
- mPtr,
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
- require(success, "G1 point multiplication failed!");
- }
-
- // Q3 Selector
- {
- {
- uint256 w3 = proof.w3;
- assembly {
- scalar_multiplier := w3
- scalar_multiplier := mulmod(
- scalar_multiplier,
- alpha_base,
- p
- )
- scalar_multiplier := mulmod(
- scalar_multiplier,
- q_arith,
- p
- )
- }
- }
- {
- uint256 t1;
- {
- uint256 w3_omega = proof.w3_omega;
- assembly {
- t1 := mulmod(delta, w3_omega, p)
- }
- }
- {
- uint256 w2 = proof.w2;
- assembly {
- scaling_alpha := mulmod(scaling_alpha, alpha, p)
-
- t1 := mulmod(t1, w2, p)
- t1 := mulmod(t1, scaling_alpha, p)
- t1 := addmod(t1, t1, p)
- t1 := mulmod(t1, q_ecc, p)
-
- scalar_multiplier := addmod(
- scalar_multiplier,
- t1,
- p
- )
- }
- }
- }
- uint256 t0 = proof.w1_omega;
- {
- uint256 w1 = proof.w1;
- assembly {
- scaling_alpha := mulmod(scaling_alpha, alpha, p)
- t0 := addmod(t0, sub(p, w1), p)
- t0 := mulmod(t0, delta, p)
- }
- }
- uint256 w3_omega = proof.w3_omega;
- assembly {
- t0 := mulmod(t0, w3_omega, p)
- t0 := mulmod(t0, scaling_alpha, p)
-
- t0 := mulmod(t0, q_ecc, p)
-
- scalar_multiplier := addmod(scalar_multiplier, t0, p)
- }
- }
-
- Types.G1Point memory Q3 = vk.Q3;
- Q3.validateG1Point();
- bool success;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(Q3))
- mstore(add(mPtr, 0x20), mload(add(Q3, 0x20)))
- mstore(add(mPtr, 0x40), scalar_multiplier)
-
- // write scalar mul output 0x40 bytes ahead of accumulator
- success := staticcall(
- gas(),
- 7,
- mPtr,
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
- require(success, "G1 point multiplication failed!");
- }
-
- // Q4 Selector
- {
- uint256 w3 = proof.w3;
- uint256 w4 = proof.w4;
- uint256 q_c = proof.q_c;
- assembly {
- scalar_multiplier := w4
- scalar_multiplier := mulmod(scalar_multiplier, alpha_base, p)
- scalar_multiplier := mulmod(scalar_multiplier, q_arith, p)
-
- scaling_alpha := mulmod(
- scaling_alpha,
- mulmod(alpha, alpha, p),
- p
- )
- let t0 := mulmod(w3, q_ecc, p)
- t0 := mulmod(t0, q_c, p)
- t0 := mulmod(t0, scaling_alpha, p)
-
- scalar_multiplier := addmod(scalar_multiplier, t0, p)
- }
-
- Types.G1Point memory Q4 = vk.Q4;
- Q4.validateG1Point();
- bool success;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(Q4))
- mstore(add(mPtr, 0x20), mload(add(Q4, 0x20)))
- mstore(add(mPtr, 0x40), scalar_multiplier)
-
- // write scalar mul output 0x40 bytes ahead of accumulator
- success := staticcall(
- gas(),
- 7,
- mPtr,
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
- require(success, "G1 point multiplication failed!");
- }
-
- // Q5 Selector
- {
- uint256 w4 = proof.w4;
- uint256 q_c = proof.q_c;
- assembly {
- let neg_w4 := sub(p, w4)
- scalar_multiplier := mulmod(w4, w4, p)
- scalar_multiplier := addmod(scalar_multiplier, neg_w4, p)
- scalar_multiplier := mulmod(
- scalar_multiplier,
- addmod(w4, sub(p, 2), p),
- p
- )
- scalar_multiplier := mulmod(scalar_multiplier, alpha_base, p)
- scalar_multiplier := mulmod(scalar_multiplier, alpha, p)
- scalar_multiplier := mulmod(scalar_multiplier, q_arith, p)
-
- let t0 := addmod(0x01, neg_w4, p)
- t0 := mulmod(t0, q_ecc, p)
- t0 := mulmod(t0, q_c, p)
- t0 := mulmod(t0, scaling_alpha, p)
-
- scalar_multiplier := addmod(scalar_multiplier, t0, p)
- }
-
- Types.G1Point memory Q5 = vk.Q5;
- Q5.validateG1Point();
- bool success;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(Q5))
- mstore(add(mPtr, 0x20), mload(add(Q5, 0x20)))
- mstore(add(mPtr, 0x40), scalar_multiplier)
-
- // write scalar mul output 0x40 bytes ahead of accumulator
- success := staticcall(
- gas(),
- 7,
- mPtr,
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
- require(success, "G1 point multiplication failed!");
- }
-
- // QM Selector
- {
- {
- uint256 w1 = proof.w1;
- uint256 w2 = proof.w2;
-
- assembly {
- scalar_multiplier := mulmod(w1, w2, p)
- scalar_multiplier := mulmod(
- scalar_multiplier,
- alpha_base,
- p
- )
- scalar_multiplier := mulmod(scalar_multiplier, q_arith, p)
- }
- }
- uint256 w3 = proof.w3;
- uint256 q_c = proof.q_c;
- assembly {
- scaling_alpha := mulmod(scaling_alpha, alpha, p)
- let t0 := mulmod(w3, q_ecc, p)
- t0 := mulmod(t0, q_c, p)
- t0 := mulmod(t0, scaling_alpha, p)
-
- scalar_multiplier := addmod(scalar_multiplier, t0, p)
- }
-
- Types.G1Point memory QM = vk.QM;
- QM.validateG1Point();
- bool success;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(QM))
- mstore(add(mPtr, 0x20), mload(add(QM, 0x20)))
- mstore(add(mPtr, 0x40), scalar_multiplier)
-
- // write scalar mul output 0x40 bytes ahead of accumulator
- success := staticcall(
- gas(),
- 7,
- mPtr,
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
-
- // add scalar mul output into accumulator
- success := and(
- success,
- staticcall(
- gas(),
- 6,
- accumulator_ptr,
- 0x80,
- accumulator_ptr,
- 0x40
- )
- )
- }
- require(success, "G1 point multiplication failed!");
- }
-
- Types.G1Point memory output;
- // QC Selector
- {
- uint256 q_c_challenge = challenges.v9;
- assembly {
- scalar_multiplier := alpha_base
- scalar_multiplier := mulmod(scalar_multiplier, q_arith, p)
-
- // TurboPlonk requires an explicit evaluation of q_c
- scalar_multiplier := addmod(scalar_multiplier, q_c_challenge, p)
-
- alpha_base := mulmod(scaling_alpha, alpha, p)
- }
-
- Types.G1Point memory QC = vk.QC;
- QC.validateG1Point();
- bool success;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(QC))
- mstore(add(mPtr, 0x20), mload(add(QC, 0x20)))
- mstore(add(mPtr, 0x40), scalar_multiplier)
-
- // write scalar mul output 0x40 bytes ahead of accumulator
- success := staticcall(
- gas(),
- 7,
- mPtr,
- 0x60,
- add(accumulator_ptr, 0x40),
- 0x40
- )
-
- // add scalar mul output into output point
- success := and(
- success,
- staticcall(gas(), 6, accumulator_ptr, 0x80, output, 0x40)
- )
- }
- require(success, "G1 point multiplication failed!");
- }
- challenges.alpha_base = alpha_base;
-
- return output;
- }
-
- // Compute kate opening scalar for logic gate opening scalars
- // This method evalautes the polynomial identity used to evaluate either
- // a 2-bit AND or XOR operation in a single constraint
- function compute_logic_gate_opening_scalar(
- Types.Proof memory proof,
- Types.ChallengeTranscript memory challenges
- ) internal pure returns (uint256) {
- uint256 identity = 0;
- uint256 p = Bn254Crypto.r_mod;
- {
- uint256 delta_sum = 0;
- uint256 delta_squared_sum = 0;
- uint256 t0 = 0;
- uint256 t1 = 0;
- uint256 t2 = 0;
- uint256 t3 = 0;
- {
- uint256 wire1_omega = proof.w1_omega;
- uint256 wire1 = proof.w1;
- assembly {
- t0 := addmod(wire1_omega, sub(p, mulmod(wire1, 0x04, p)), p)
- }
- }
-
- {
- uint256 wire2_omega = proof.w2_omega;
- uint256 wire2 = proof.w2;
- assembly {
- t1 := addmod(wire2_omega, sub(p, mulmod(wire2, 0x04, p)), p)
-
- delta_sum := addmod(t0, t1, p)
- t2 := mulmod(t0, t0, p)
- t3 := mulmod(t1, t1, p)
- delta_squared_sum := addmod(t2, t3, p)
- identity := mulmod(delta_sum, delta_sum, p)
- identity := addmod(identity, sub(p, delta_squared_sum), p)
- }
- }
-
- uint256 t4 = 0;
- uint256 alpha = challenges.alpha;
-
- {
- uint256 wire3 = proof.w3;
- assembly {
- t4 := mulmod(wire3, 0x02, p)
- identity := addmod(identity, sub(p, t4), p)
- identity := mulmod(identity, alpha, p)
- }
- }
-
- assembly {
- t4 := addmod(t4, t4, p)
- t2 := addmod(t2, sub(p, t0), p)
- t0 := mulmod(t0, 0x04, p)
- t0 := addmod(t2, sub(p, t0), p)
- t0 := addmod(t0, 0x06, p)
-
- t0 := mulmod(t0, t2, p)
- identity := addmod(identity, t0, p)
- identity := mulmod(identity, alpha, p)
-
- t3 := addmod(t3, sub(p, t1), p)
- t1 := mulmod(t1, 0x04, p)
- t1 := addmod(t3, sub(p, t1), p)
- t1 := addmod(t1, 0x06, p)
-
- t1 := mulmod(t1, t3, p)
- identity := addmod(identity, t1, p)
- identity := mulmod(identity, alpha, p)
-
- t0 := mulmod(delta_sum, 0x03, p)
-
- t1 := mulmod(t0, 0x03, p)
-
- delta_sum := addmod(t1, t1, p)
-
- t2 := mulmod(delta_sum, 0x04, p)
- t1 := addmod(t1, t2, p)
-
- t2 := mulmod(delta_squared_sum, 0x03, p)
-
- delta_squared_sum := mulmod(t2, 0x06, p)
-
- delta_sum := addmod(t4, sub(p, delta_sum), p)
- delta_sum := addmod(delta_sum, 81, p)
-
- t1 := addmod(delta_squared_sum, sub(p, t1), p)
- t1 := addmod(t1, 83, p)
- }
-
- {
- uint256 wire3 = proof.w3;
- assembly {
- delta_sum := mulmod(delta_sum, wire3, p)
-
- delta_sum := addmod(delta_sum, t1, p)
- delta_sum := mulmod(delta_sum, wire3, p)
- }
- }
- {
- uint256 wire4 = proof.w4;
- assembly {
- t2 := mulmod(wire4, 0x04, p)
- }
- }
- {
- uint256 wire4_omega = proof.w4_omega;
- assembly {
- t2 := addmod(wire4_omega, sub(p, t2), p)
- }
- }
- {
- uint256 q_c = proof.q_c;
- assembly {
- t3 := addmod(t2, t2, p)
- t2 := addmod(t2, t3, p)
-
- t3 := addmod(t2, t2, p)
- t3 := addmod(t3, t2, p)
-
- t3 := addmod(t3, sub(p, t0), p)
- t3 := mulmod(t3, q_c, p)
-
- t2 := addmod(t2, t0, p)
- delta_sum := addmod(delta_sum, delta_sum, p)
- t2 := addmod(t2, sub(p, delta_sum), p)
-
- t2 := addmod(t2, t3, p)
-
- identity := addmod(identity, t2, p)
- }
- }
- uint256 alpha_base = challenges.alpha_base;
-
- assembly {
- identity := mulmod(identity, alpha_base, p)
- }
- }
- // update alpha
- uint256 alpha_base = challenges.alpha_base;
- uint256 alpha = challenges.alpha;
- assembly {
- alpha := mulmod(alpha, alpha, p)
- alpha := mulmod(alpha, alpha, p)
- alpha_base := mulmod(alpha_base, alpha, p)
- }
- challenges.alpha_base = alpha_base;
-
- return identity;
- }
-
- // Compute kate opening scalar for arithmetic gate selectors
- function compute_range_gate_opening_scalar(
- Types.Proof memory proof,
- Types.ChallengeTranscript memory challenges
- ) internal pure returns (uint256) {
- uint256 wire1 = proof.w1;
- uint256 wire2 = proof.w2;
- uint256 wire3 = proof.w3;
- uint256 wire4 = proof.w4;
- uint256 wire4_omega = proof.w4_omega;
- uint256 alpha = challenges.alpha;
- uint256 alpha_base = challenges.alpha_base;
- uint256 range_acc;
- uint256 p = Bn254Crypto.r_mod;
- assembly {
- let delta_1 := addmod(wire3, sub(p, mulmod(wire4, 0x04, p)), p)
- let delta_2 := addmod(wire2, sub(p, mulmod(wire3, 0x04, p)), p)
- let delta_3 := addmod(wire1, sub(p, mulmod(wire2, 0x04, p)), p)
- let delta_4 := addmod(
- wire4_omega,
- sub(p, mulmod(wire1, 0x04, p)),
- p
- )
-
- let t0 := mulmod(delta_1, delta_1, p)
- t0 := addmod(t0, sub(p, delta_1), p)
- let t1 := addmod(delta_1, sub(p, 2), p)
- t0 := mulmod(t0, t1, p)
- t1 := addmod(delta_1, sub(p, 3), p)
- t0 := mulmod(t0, t1, p)
- t0 := mulmod(t0, alpha_base, p)
-
- range_acc := t0
- alpha_base := mulmod(alpha_base, alpha, p)
-
- t0 := mulmod(delta_2, delta_2, p)
- t0 := addmod(t0, sub(p, delta_2), p)
- t1 := addmod(delta_2, sub(p, 2), p)
- t0 := mulmod(t0, t1, p)
- t1 := addmod(delta_2, sub(p, 3), p)
- t0 := mulmod(t0, t1, p)
- t0 := mulmod(t0, alpha_base, p)
- range_acc := addmod(range_acc, t0, p)
- alpha_base := mulmod(alpha_base, alpha, p)
-
- t0 := mulmod(delta_3, delta_3, p)
- t0 := addmod(t0, sub(p, delta_3), p)
- t1 := addmod(delta_3, sub(p, 2), p)
- t0 := mulmod(t0, t1, p)
- t1 := addmod(delta_3, sub(p, 3), p)
- t0 := mulmod(t0, t1, p)
- t0 := mulmod(t0, alpha_base, p)
- range_acc := addmod(range_acc, t0, p)
- alpha_base := mulmod(alpha_base, alpha, p)
-
- t0 := mulmod(delta_4, delta_4, p)
- t0 := addmod(t0, sub(p, delta_4), p)
- t1 := addmod(delta_4, sub(p, 2), p)
- t0 := mulmod(t0, t1, p)
- t1 := addmod(delta_4, sub(p, 3), p)
- t0 := mulmod(t0, t1, p)
- t0 := mulmod(t0, alpha_base, p)
- range_acc := addmod(range_acc, t0, p)
- alpha_base := mulmod(alpha_base, alpha, p)
- }
-
- challenges.alpha_base = alpha_base;
- return range_acc;
- }
-
- // Compute grand product opening scalar and perform kate verification scalar multiplication
- function compute_grand_product_opening_group_element(
- Types.Proof memory proof,
- Types.VerificationKey memory vk,
- Types.ChallengeTranscript memory challenges,
- uint256 L1_fr
- ) internal view returns (Types.G1Point memory) {
- uint256 beta = challenges.beta;
- uint256 zeta = challenges.zeta;
- uint256 gamma = challenges.gamma;
- uint256 p = Bn254Crypto.r_mod;
-
- uint256 partial_grand_product;
- uint256 sigma_multiplier;
-
- {
- uint256 w1 = proof.w1;
- uint256 sigma1 = proof.sigma1;
- assembly {
- let witness_term := addmod(w1, gamma, p)
- partial_grand_product := addmod(
- mulmod(beta, zeta, p),
- witness_term,
- p
- )
- sigma_multiplier := addmod(
- mulmod(sigma1, beta, p),
- witness_term,
- p
- )
- }
- }
- {
- uint256 w2 = proof.w2;
- uint256 sigma2 = proof.sigma2;
- assembly {
- let witness_term := addmod(w2, gamma, p)
- partial_grand_product := mulmod(
- partial_grand_product,
- addmod(
- mulmod(mulmod(zeta, 0x05, p), beta, p),
- witness_term,
- p
- ),
- p
- )
- sigma_multiplier := mulmod(
- sigma_multiplier,
- addmod(mulmod(sigma2, beta, p), witness_term, p),
- p
- )
- }
- }
- {
- uint256 w3 = proof.w3;
- uint256 sigma3 = proof.sigma3;
- assembly {
- let witness_term := addmod(w3, gamma, p)
- partial_grand_product := mulmod(
- partial_grand_product,
- addmod(
- mulmod(mulmod(zeta, 0x06, p), beta, p),
- witness_term,
- p
- ),
- p
- )
-
- sigma_multiplier := mulmod(
- sigma_multiplier,
- addmod(mulmod(sigma3, beta, p), witness_term, p),
- p
- )
- }
- }
- {
- uint256 w4 = proof.w4;
- assembly {
- partial_grand_product := mulmod(
- partial_grand_product,
- addmod(
- addmod(
- mulmod(mulmod(zeta, 0x07, p), beta, p),
- gamma,
- p
- ),
- w4,
- p
- ),
- p
- )
- }
- }
- {
- uint256 alpha_base = challenges.alpha_base;
- uint256 alpha = challenges.alpha;
- uint256 separator_challenge = challenges.u;
- uint256 grand_product_at_z_omega = proof.grand_product_at_z_omega;
- uint256 l_start = L1_fr;
- assembly {
- partial_grand_product := mulmod(
- partial_grand_product,
- alpha_base,
- p
- )
-
- sigma_multiplier := mulmod(
- sub(
- p,
- mulmod(
- mulmod(
- sigma_multiplier,
- grand_product_at_z_omega,
- p
- ),
- alpha_base,
- p
- )
- ),
- beta,
- p
- )
-
- alpha_base := mulmod(mulmod(alpha_base, alpha, p), alpha, p)
-
- partial_grand_product := addmod(
- addmod(
- partial_grand_product,
- mulmod(l_start, alpha_base, p),
- p
- ),
- separator_challenge,
- p
- )
-
- alpha_base := mulmod(alpha_base, alpha, p)
- }
- challenges.alpha_base = alpha_base;
- }
- //Need to understand the below code:
- Types.G1Point memory Z = proof.Z;
- Types.G1Point memory SIGMA4 = vk.SIGMA4;
- Types.G1Point memory accumulator;
- Z.validateG1Point();
- SIGMA4.validateG1Point();
- bool success;
- assembly {
- let mPtr := mload(0x40)
- mstore(mPtr, mload(Z))
- mstore(add(mPtr, 0x20), mload(add(Z, 0x20)))
- mstore(add(mPtr, 0x40), partial_grand_product)
- success := staticcall(gas(), 7, mPtr, 0x60, mPtr, 0x40)
-
- mstore(add(mPtr, 0x40), mload(SIGMA4))
- mstore(add(mPtr, 0x60), mload(add(SIGMA4, 0x20)))
- mstore(add(mPtr, 0x80), sigma_multiplier)
- success := and(
- success,
- staticcall(
- gas(),
- 7,
- add(mPtr, 0x40),
- 0x60,
- add(mPtr, 0x40),
- 0x40
- )
- )
-
- // mload(mPtr) : (partial_grand_product * [Z]).x
- // mload(mPtr + 32) : (partial_grand_product * [Z]).y
- // mload(mPtr + 64) : (sigma_multiplier * [SIGMA_4]).x
- // mload(mPtr + 96) : (sigma_multiplier * [SIGMA_4]).y
-
- success := and(
- success,
- staticcall(gas(), 6, mPtr, 0x80, accumulator, 0x40)
- )
- }
-
- require(
- success,
- "compute_grand_product_opening_scalar group operations failure"
- );
- return accumulator;
- }
-}
-
-
-
-
-
-
-/**
- * @title Transcript library
- * @dev Generates Plonk random challenges
- */
-library Transcript {
- struct TranscriptData {
- bytes32 current_challenge;
- }
-
- /**
- * Compute keccak256 hash of 2 4-byte variables (circuit_size, num_public_inputs)
- */
- function generate_initial_challenge(
- TranscriptData memory self,
- uint256 circuit_size,
- uint256 num_public_inputs
- ) internal pure {
- bytes32 challenge;
- assembly {
- let mPtr := mload(0x40)
- mstore8(add(mPtr, 0x20), shr(24, circuit_size))
- mstore8(add(mPtr, 0x21), shr(16, circuit_size))
- mstore8(add(mPtr, 0x22), shr(8, circuit_size))
- mstore8(add(mPtr, 0x23), circuit_size)
- mstore8(add(mPtr, 0x24), shr(24, num_public_inputs))
- mstore8(add(mPtr, 0x25), shr(16, num_public_inputs))
- mstore8(add(mPtr, 0x26), shr(8, num_public_inputs))
- mstore8(add(mPtr, 0x27), num_public_inputs)
- challenge := keccak256(add(mPtr, 0x20), 0x08)
- }
- self.current_challenge = challenge;
- }
-
- /**
- * We treat the beta challenge as a special case, because it includes the public inputs.
- * The number of public inputs can be extremely large for rollups and we want to minimize mem consumption.
- * => we directly allocate memory to hash the public inputs, in order to prevent the global memory pointer from increasing
- */
- function generate_beta_gamma_challenges(
- TranscriptData memory self,
- Types.ChallengeTranscript memory challenges,
- uint256 num_public_inputs
- ) internal pure {
- bytes32 challenge;
- bytes32 old_challenge = self.current_challenge;
- uint256 p = Bn254Crypto.r_mod;
- uint256 reduced_challenge;
- assembly {
- let m_ptr := mload(0x40)
- // N.B. If the calldata ABI changes this code will need to change!
- // We can copy all of the public inputs, followed by the wire commitments, into memory
- // using calldatacopy
- mstore(m_ptr, old_challenge)
- m_ptr := add(m_ptr, 0x20)
- let inputs_start := add(calldataload(0x04), 0x24)
- // num_calldata_bytes = public input size + 256 bytes for the 4 wire commitments
- let num_calldata_bytes := add(0x100, mul(num_public_inputs, 0x20))
- calldatacopy(m_ptr, inputs_start, num_calldata_bytes)
-
- let start := mload(0x40)
- let length := add(num_calldata_bytes, 0x20)
-
- challenge := keccak256(start, length)
- reduced_challenge := mod(challenge, p)
- }
- challenges.beta = reduced_challenge;
-
- // get gamma challenge by appending 1 to the beta challenge and hash
- assembly {
- mstore(0x00, challenge)
- mstore8(0x20, 0x01)
- challenge := keccak256(0, 0x21)
- reduced_challenge := mod(challenge, p)
- }
- challenges.gamma = reduced_challenge;
- self.current_challenge = challenge;
- }
-
- function generate_alpha_challenge(
- TranscriptData memory self,
- Types.ChallengeTranscript memory challenges,
- Types.G1Point memory Z
- ) internal pure {
- bytes32 challenge;
- bytes32 old_challenge = self.current_challenge;
- uint256 p = Bn254Crypto.r_mod;
- uint256 reduced_challenge;
- assembly {
- let m_ptr := mload(0x40)
- mstore(m_ptr, old_challenge)
- mstore(add(m_ptr, 0x20), mload(add(Z, 0x20)))
- mstore(add(m_ptr, 0x40), mload(Z))
- challenge := keccak256(m_ptr, 0x60)
- reduced_challenge := mod(challenge, p)
- }
- challenges.alpha = reduced_challenge;
- challenges.alpha_base = reduced_challenge;
- self.current_challenge = challenge;
- }
-
- function generate_zeta_challenge(
- TranscriptData memory self,
- Types.ChallengeTranscript memory challenges,
- Types.G1Point memory T1,
- Types.G1Point memory T2,
- Types.G1Point memory T3,
- Types.G1Point memory T4
- ) internal pure {
- bytes32 challenge;
- bytes32 old_challenge = self.current_challenge;
- uint256 p = Bn254Crypto.r_mod;
- uint256 reduced_challenge;
- assembly {
- let m_ptr := mload(0x40)
- mstore(m_ptr, old_challenge)
- mstore(add(m_ptr, 0x20), mload(add(T1, 0x20)))
- mstore(add(m_ptr, 0x40), mload(T1))
- mstore(add(m_ptr, 0x60), mload(add(T2, 0x20)))
- mstore(add(m_ptr, 0x80), mload(T2))
- mstore(add(m_ptr, 0xa0), mload(add(T3, 0x20)))
- mstore(add(m_ptr, 0xc0), mload(T3))
- mstore(add(m_ptr, 0xe0), mload(add(T4, 0x20)))
- mstore(add(m_ptr, 0x100), mload(T4))
- challenge := keccak256(m_ptr, 0x120)
- reduced_challenge := mod(challenge, p)
- }
- challenges.zeta = reduced_challenge;
- self.current_challenge = challenge;
- }
-
- /**
- * We compute our initial nu challenge by hashing the following proof elements (with the current challenge):
- *
- * w1, w2, w3, w4, sigma1, sigma2, sigma3, q_arith, q_ecc, q_c, linearization_poly, grand_product_at_z_omega,
- * w1_omega, w2_omega, w3_omega, w4_omega
- *
- * These values are placed linearly in the proofData, we can extract them with a calldatacopy call
- *
- */
- function generate_nu_challenges(
- TranscriptData memory self,
- Types.ChallengeTranscript memory challenges,
- // uint256 quotient_poly_eval,
- uint256 num_public_inputs
- ) internal pure {
- uint256 p = Bn254Crypto.r_mod;
- bytes32 current_challenge = self.current_challenge;
- uint256 base_v_challenge;
- uint256 updated_v;
-
- // We want to copy SIXTEEN field elements from calldata into memory to hash
- // But we start by adding the quotient poly evaluation to the hash transcript
- assembly {
- // get a calldata pointer that points to the start of the data we want to copy
- let calldata_ptr := add(calldataload(0x04), 0x24)
- // skip over the public inputs
- calldata_ptr := add(calldata_ptr, mul(num_public_inputs, 0x20))
- // There are NINE G1 group elements added into the transcript in the `beta` round, that we need to skip over
- calldata_ptr := add(calldata_ptr, 0x240) // 9 * 0x40 = 0x240
-
- let m_ptr := mload(0x40)
- mstore(m_ptr, current_challenge)
- // mstore(add(m_ptr, 0x20), quotient_poly_eval)
- calldatacopy(add(m_ptr, 0x20), calldata_ptr, 0x1e0) // 15 * 0x20 = 0x1e0
- base_v_challenge := keccak256(m_ptr, 0x200) // hash length = 0x200, we include the previous challenge in the hash
- updated_v := mod(base_v_challenge, p)
- }
-
- // assign the first challenge value
- challenges.v0 = updated_v;
-
- // for subsequent challenges we iterate 10 times.
- // At each iteration i \in [1, 10] we compute challenges.vi = keccak256(base_v_challenge, byte(i))
- assembly {
- mstore(0x00, base_v_challenge)
- mstore8(0x20, 0x01)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v1 = updated_v;
- assembly {
- mstore8(0x20, 0x02)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v2 = updated_v;
- assembly {
- mstore8(0x20, 0x03)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v3 = updated_v;
- assembly {
- mstore8(0x20, 0x04)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v4 = updated_v;
- assembly {
- mstore8(0x20, 0x05)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v5 = updated_v;
- assembly {
- mstore8(0x20, 0x06)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v6 = updated_v;
- assembly {
- mstore8(0x20, 0x07)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v7 = updated_v;
- assembly {
- mstore8(0x20, 0x08)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v8 = updated_v;
- assembly {
- mstore8(0x20, 0x09)
- updated_v := mod(keccak256(0x00, 0x21), p)
- }
- challenges.v9 = updated_v;
-
- // update the current challenge when computing the final nu challenge
- bytes32 challenge;
- assembly {
- mstore8(0x20, 0x0a)
- challenge := keccak256(0x00, 0x21)
- updated_v := mod(challenge, p)
- }
- challenges.v10 = updated_v;
-
- self.current_challenge = challenge;
- }
-
- function generate_separator_challenge(
- TranscriptData memory self,
- Types.ChallengeTranscript memory challenges,
- Types.G1Point memory PI_Z,
- Types.G1Point memory PI_Z_OMEGA
- ) internal pure {
- bytes32 challenge;
- bytes32 old_challenge = self.current_challenge;
- uint256 p = Bn254Crypto.r_mod;
- uint256 reduced_challenge;
- assembly {
- let m_ptr := mload(0x40)
- mstore(m_ptr, old_challenge)
- mstore(add(m_ptr, 0x20), mload(add(PI_Z, 0x20)))
- mstore(add(m_ptr, 0x40), mload(PI_Z))
- mstore(add(m_ptr, 0x60), mload(add(PI_Z_OMEGA, 0x20)))
- mstore(add(m_ptr, 0x80), mload(PI_Z_OMEGA))
- challenge := keccak256(m_ptr, 0xa0)
- reduced_challenge := mod(challenge, p)
- }
- challenges.u = reduced_challenge;
- self.current_challenge = challenge;
- }
-}
-
-
-
-
\ No newline at end of file
diff --git a/contracts/mocks/Kevin.sol b/contracts/mocks/Kevin.sol
deleted file mode 100644
index cca2308..0000000
--- a/contracts/mocks/Kevin.sol
+++ /dev/null
@@ -1,18 +0,0 @@
-pragma solidity ^0.8.15;
-
-import "../Verifier.sol";
-
-contract Kevin is TurboVerifier {
-
- event Banana(uint256 x, uint256 y, uint256 result);
-
- uint256 public last;
-
- function set(bytes memory proof) public {
- uint256[3] memory inputs = abi.decode(proof, (uint256[3]));
- require(this.verify(proof));
- last = inputs[2];
- emit Banana(inputs[0], inputs[1], inputs[2]);
- }
-
-}
\ No newline at end of file
diff --git a/foundry.toml b/foundry.toml
index 913fd3e..3279188 100644
--- a/foundry.toml
+++ b/foundry.toml
@@ -10,8 +10,4 @@ optimizer_runs = 5_000
optimizer = true
src = "contracts"
libs = ["lib"]
-
-[profile.hardhat]
-src = "contracts"
-out = "artifacts"
-libs = ["node_modules"]
\ No newline at end of file
+fs_permissions = [{ access = "read-write", path = "./"}]
\ No newline at end of file
diff --git a/hardhat.config.ts b/hardhat.config.ts
deleted file mode 100644
index f3048b4..0000000
--- a/hardhat.config.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-
-import { HardhatUserConfig } from "hardhat/config";
-import "@nomicfoundation/hardhat-toolbox";
-
-const config: HardhatUserConfig = {
- solidity: {
- version: '0.8.15',
- settings: {
- evmVersion: 'london',
- optimizer: { enabled: true, runs: 5000 },
- },
- },
- networks: {
- hardhat: {
- blockGasLimit: 10000000,
- gasPrice: 10,
- hardfork: 'istanbul',
- },
- },
-};
-
-export default config;
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index f2a88a3..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,20045 +0,0 @@
-{
- "name": "nplate",
- "version": "1.0.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "nplate",
- "version": "1.0.0",
- "license": "ISC",
- "dependencies": {
- "@noir-lang/aztec_backend": "^0.12.0",
- "@noir-lang/barretenberg": "^2.19.0",
- "@noir-lang/noir_wasm": "^0.10.0"
- },
- "devDependencies": {
- "@ethersproject/abi": "^5.4.7",
- "@ethersproject/providers": "^5.4.7",
- "@nomicfoundation/hardhat-chai-matchers": "^1.0.0",
- "@nomicfoundation/hardhat-network-helpers": "^1.0.0",
- "@nomicfoundation/hardhat-toolbox": "^1.0.1",
- "@nomiclabs/hardhat-ethers": "^2.0.0",
- "@nomiclabs/hardhat-etherscan": "^3.0.0",
- "@typechain/ethers-v5": "^10.1.0",
- "@typechain/hardhat": "^6.1.2",
- "@types/chai": "^4.2.0",
- "@types/mocha": "^9.1.0",
- "@types/node": ">=12.0.0",
- "chai": "^4.2.0",
- "ethers": "^5.4.7",
- "hardhat": "^2.11.1",
- "hardhat-gas-reporter": "^1.0.8",
- "solidity-coverage": "^0.7.21",
- "ts-node": ">=8.0.0",
- "typechain": "^8.1.0",
- "typescript": ">=4.5.0"
- }
- },
- "node_modules/@cspotcode/source-map-support": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@ethereumjs/common": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz",
- "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==",
- "dev": true,
- "dependencies": {
- "crc-32": "^1.2.0",
- "ethereumjs-util": "^7.1.5"
- }
- },
- "node_modules/@ethereumjs/tx": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz",
- "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==",
- "dev": true,
- "dependencies": {
- "@ethereumjs/common": "^2.6.4",
- "ethereumjs-util": "^7.1.5"
- }
- },
- "node_modules/@ethersproject/abi": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz",
- "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/hash": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/abstract-provider": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz",
- "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/networks": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "@ethersproject/web": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/abstract-signer": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz",
- "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/abstract-provider": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/address": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz",
- "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/rlp": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/base64": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz",
- "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/basex": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz",
- "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/properties": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/bignumber": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz",
- "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "bn.js": "^5.2.1"
- }
- },
- "node_modules/@ethersproject/bytes": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz",
- "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/constants": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz",
- "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bignumber": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/contracts": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz",
- "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/abi": "^5.7.0",
- "@ethersproject/abstract-provider": "^5.7.0",
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/hash": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz",
- "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/base64": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/hdnode": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz",
- "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/basex": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/pbkdf2": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/sha2": "^5.7.0",
- "@ethersproject/signing-key": "^5.7.0",
- "@ethersproject/strings": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "@ethersproject/wordlists": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/json-wallets": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz",
- "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/hdnode": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/pbkdf2": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/random": "^5.7.0",
- "@ethersproject/strings": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "aes-js": "3.0.0",
- "scrypt-js": "3.0.1"
- }
- },
- "node_modules/@ethersproject/keccak256": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz",
- "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "js-sha3": "0.8.0"
- }
- },
- "node_modules/@ethersproject/logger": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz",
- "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ]
- },
- "node_modules/@ethersproject/networks": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz",
- "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/pbkdf2": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz",
- "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/sha2": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/properties": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz",
- "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/providers": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.1.tgz",
- "integrity": "sha512-vZveG/DLyo+wk4Ga1yx6jSEHrLPgmTt+dFv0dv8URpVCRf0jVhalps1jq/emN/oXnMRsC7cQgAF32DcXLL7BPQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/abstract-provider": "^5.7.0",
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/base64": "^5.7.0",
- "@ethersproject/basex": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/hash": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/networks": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/random": "^5.7.0",
- "@ethersproject/rlp": "^5.7.0",
- "@ethersproject/sha2": "^5.7.0",
- "@ethersproject/strings": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "@ethersproject/web": "^5.7.0",
- "bech32": "1.1.4",
- "ws": "7.4.6"
- }
- },
- "node_modules/@ethersproject/random": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz",
- "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/rlp": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz",
- "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/sha2": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz",
- "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "hash.js": "1.1.7"
- }
- },
- "node_modules/@ethersproject/signing-key": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz",
- "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "bn.js": "^5.2.1",
- "elliptic": "6.5.4",
- "hash.js": "1.1.7"
- }
- },
- "node_modules/@ethersproject/solidity": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz",
- "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/sha2": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/strings": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz",
- "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/transactions": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz",
- "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/rlp": "^5.7.0",
- "@ethersproject/signing-key": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/units": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz",
- "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/wallet": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz",
- "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/abstract-provider": "^5.7.0",
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/hash": "^5.7.0",
- "@ethersproject/hdnode": "^5.7.0",
- "@ethersproject/json-wallets": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/random": "^5.7.0",
- "@ethersproject/signing-key": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "@ethersproject/wordlists": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/web": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz",
- "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/base64": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "node_modules/@ethersproject/wordlists": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz",
- "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/hash": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "dev": true
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "node_modules/@metamask/eth-sig-util": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz",
- "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==",
- "dev": true,
- "dependencies": {
- "ethereumjs-abi": "^0.6.8",
- "ethereumjs-util": "^6.2.1",
- "ethjs-util": "^0.1.6",
- "tweetnacl": "^1.0.3",
- "tweetnacl-util": "^0.15.1"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@metamask/eth-sig-util/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz",
- "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==",
- "dev": true,
- "dependencies": {
- "@types/bn.js": "^4.11.3",
- "bn.js": "^4.11.0",
- "create-hash": "^1.1.2",
- "elliptic": "^6.5.2",
- "ethereum-cryptography": "^0.1.3",
- "ethjs-util": "0.1.6",
- "rlp": "^2.2.3"
- }
- },
- "node_modules/@noble/hashes": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.2.tgz",
- "integrity": "sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ]
- },
- "node_modules/@noble/secp256k1": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.3.tgz",
- "integrity": "sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ]
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@noir-lang/aztec_backend": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@noir-lang/aztec_backend/-/aztec_backend-0.12.0.tgz",
- "integrity": "sha512-X6Pa+qt/rroVwT1V4zPzKDEDU39jPXRhIKog3N6qaAdlF/V1Xsk/FPTPS6r7+3tjVhTquX0lDCRaxqSCdx/oqw=="
- },
- "node_modules/@noir-lang/barretenberg": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/@noir-lang/barretenberg/-/barretenberg-2.19.0.tgz",
- "integrity": "sha512-AnqebO0HRk6kEFyhTh47VQqUTE+PrG5UuIATjAoCSSkpcoLIX58esouuYoLZbJ+89PCLTXeprJUp+vrlnmyRzQ==",
- "dependencies": {
- "@noir-lang/aztec_backend": "0.11.0",
- "@types/detect-node": "^2.0.0",
- "@types/levelup": "^4.3.0",
- "buffer-browserify": "^0.2.5",
- "debug": "^4.1.1",
- "detect-node": "^2.0.4",
- "fs-extra": "10.0.0",
- "is-node": "^1.0.2",
- "levelup": "^5.0.0",
- "memdown": "^6.0.0",
- "node-fetch": "2.6.1",
- "promise-readable": "^5.0.4",
- "sha3": "^2.1.3",
- "threads": "1.7.0",
- "tslib": "^2.0.0"
- }
- },
- "node_modules/@noir-lang/barretenberg/node_modules/@noir-lang/aztec_backend": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@noir-lang/aztec_backend/-/aztec_backend-0.11.0.tgz",
- "integrity": "sha512-gJIdSOeUClJGGt7j1cTD0skd3UjO4eeg1OSjQyj36NNf9A68PDnvCen/uT2aQncCVanREUUXxP586voxElWRYA=="
- },
- "node_modules/@noir-lang/noir_wasm": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/@noir-lang/noir_wasm/-/noir_wasm-0.10.0.tgz",
- "integrity": "sha512-ZoNlOqjGxf0YDCQP/tmD+2KsCePvjc0xcMiefmNREDyE3rpDCUiLt6B7kaXztFqPxpT7hi8+ARFUx7cZyqqZtg=="
- },
- "node_modules/@nomicfoundation/ethereumjs-block": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.0.0.tgz",
- "integrity": "sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-tx": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "ethereum-cryptography": "0.1.3"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-blockchain": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.0.0.tgz",
- "integrity": "sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-block": "^4.0.0",
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-ethash": "^2.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "abstract-level": "^1.0.3",
- "debug": "^4.3.3",
- "ethereum-cryptography": "0.1.3",
- "level": "^8.0.0",
- "lru-cache": "^5.1.1",
- "memory-level": "^1.0.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-common": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.0.0.tgz",
- "integrity": "sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "crc-32": "^1.2.0"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-ethash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.0.tgz",
- "integrity": "sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-block": "^4.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "abstract-level": "^1.0.3",
- "bigint-crypto-utils": "^3.0.23",
- "ethereum-cryptography": "0.1.3"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-evm": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.0.0.tgz",
- "integrity": "sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "@types/async-eventemitter": "^0.2.1",
- "async-eventemitter": "^0.2.4",
- "debug": "^4.3.3",
- "ethereum-cryptography": "0.1.3",
- "mcl-wasm": "^0.7.1",
- "rustbn.js": "~0.2.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-rlp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.0.tgz",
- "integrity": "sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw==",
- "dev": true,
- "bin": {
- "rlp": "bin/rlp"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-statemanager": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.0.tgz",
- "integrity": "sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "debug": "^4.3.3",
- "ethereum-cryptography": "0.1.3",
- "functional-red-black-tree": "^1.0.1"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-trie": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.0.tgz",
- "integrity": "sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "ethereum-cryptography": "0.1.3",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-tx": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.0.0.tgz",
- "integrity": "sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "ethereum-cryptography": "0.1.3"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-util": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.0.tgz",
- "integrity": "sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0-beta.2",
- "ethereum-cryptography": "0.1.3"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/ethereumjs-vm": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.0.0.tgz",
- "integrity": "sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w==",
- "dev": true,
- "dependencies": {
- "@nomicfoundation/ethereumjs-block": "^4.0.0",
- "@nomicfoundation/ethereumjs-blockchain": "^6.0.0",
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-evm": "^1.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-statemanager": "^1.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-tx": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "@types/async-eventemitter": "^0.2.1",
- "async-eventemitter": "^0.2.4",
- "debug": "^4.3.3",
- "ethereum-cryptography": "0.1.3",
- "functional-red-black-tree": "^1.0.1",
- "mcl-wasm": "^0.7.1",
- "rustbn.js": "~0.2.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@nomicfoundation/hardhat-chai-matchers": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-1.0.3.tgz",
- "integrity": "sha512-qEE7Drs2HSY+krH09TXm6P9LFogs0BqbUq6wPD7nQRhmJ+p5zoDaIZjM5WL1pHqU5MpGqya3y+BdwmTYBfU5UA==",
- "dev": true,
- "dependencies": {
- "@ethersproject/abi": "^5.1.2",
- "@types/chai-as-promised": "^7.1.3",
- "chai-as-promised": "^7.1.1",
- "chalk": "^2.4.2",
- "deep-eql": "^4.0.1",
- "ordinal": "^1.0.3"
- },
- "peerDependencies": {
- "@nomiclabs/hardhat-ethers": "^2.0.0",
- "chai": "^4.2.0",
- "ethers": "^5.0.0",
- "hardhat": "^2.9.4"
- }
- },
- "node_modules/@nomicfoundation/hardhat-network-helpers": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.6.tgz",
- "integrity": "sha512-a35iVD4ycF6AoTfllAnKm96IPIzzHpgKX/ep4oKc2bsUKFfMlacWdyntgC/7d5blyCTXfFssgNAvXDZfzNWVGQ==",
- "dev": true,
- "dependencies": {
- "ethereumjs-util": "^7.1.4"
- },
- "peerDependencies": {
- "hardhat": "^2.9.5"
- }
- },
- "node_modules/@nomicfoundation/hardhat-toolbox": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-1.0.2.tgz",
- "integrity": "sha512-8CEgWSKUK2aMit+76Sez8n7UB0Ze1lwT+LcWxj4EFP30lQWOwOws048t6MTPfThH0BlSWjC6hJRr0LncIkc1Sw==",
- "dev": true,
- "peerDependencies": {
- "@ethersproject/abi": "^5.4.7",
- "@ethersproject/providers": "^5.4.7",
- "@nomicfoundation/hardhat-chai-matchers": "^1.0.0",
- "@nomicfoundation/hardhat-network-helpers": "^1.0.0",
- "@nomiclabs/hardhat-ethers": "^2.0.0",
- "@nomiclabs/hardhat-etherscan": "^3.0.0",
- "@typechain/ethers-v5": "^10.1.0",
- "@typechain/hardhat": "^6.1.2",
- "@types/chai": "^4.2.0",
- "@types/mocha": "^9.1.0",
- "@types/node": ">=12.0.0",
- "chai": "^4.2.0",
- "ethers": "^5.4.7",
- "hardhat": "^2.9.9",
- "hardhat-gas-reporter": "^1.0.8",
- "solidity-coverage": "^0.7.21",
- "ts-node": ">=8.0.0",
- "typechain": "^8.1.0",
- "typescript": ">=4.5.0"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.0.3.tgz",
- "integrity": "sha512-VFMiOQvsw7nx5bFmrmVp2Q9rhIjw2AFST4DYvWVVO9PMHPE23BY2+kyfrQ4J3xCMFC8fcBbGLt7l4q7m1SlTqg==",
- "dev": true,
- "engines": {
- "node": ">= 12"
- },
- "optionalDependencies": {
- "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.0.3",
- "@nomicfoundation/solidity-analyzer-darwin-x64": "0.0.3",
- "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.0.3",
- "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.0.3",
- "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.0.3",
- "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.0.3",
- "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.0.3",
- "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.0.3",
- "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.0.3",
- "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.0.3"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.0.3.tgz",
- "integrity": "sha512-W+bIiNiZmiy+MTYFZn3nwjyPUO6wfWJ0lnXx2zZrM8xExKObMrhCh50yy8pQING24mHfpPFCn89wEB/iG7vZDw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.0.3.tgz",
- "integrity": "sha512-HuJd1K+2MgmFIYEpx46uzwEFjvzKAI765mmoMxy4K+Aqq1p+q7hHRlsFU2kx3NB8InwotkkIq3A5FLU1sI1WDw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-freebsd-x64": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.0.3.tgz",
- "integrity": "sha512-2cR8JNy23jZaO/vZrsAnWCsO73asU7ylrHIe0fEsXbZYqBP9sMr+/+xP3CELDHJxUbzBY8zqGvQt1ULpyrG+Kw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.0.3.tgz",
- "integrity": "sha512-Eyv50EfYbFthoOb0I1568p+eqHGLwEUhYGOxcRNywtlTE9nj+c+MT1LA53HnxD9GsboH4YtOOmJOulrjG7KtbA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.0.3.tgz",
- "integrity": "sha512-V8grDqI+ivNrgwEt2HFdlwqV2/EQbYAdj3hbOvjrA8Qv+nq4h9jhQUxFpegYMDtpU8URJmNNlXgtfucSrAQwtQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.0.3.tgz",
- "integrity": "sha512-uRfVDlxtwT1vIy7MAExWAkRD4r9M79zMG7S09mCrWUn58DbLs7UFl+dZXBX0/8FTGYWHhOT/1Etw1ZpAf5DTrg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.0.3.tgz",
- "integrity": "sha512-8HPwYdLbhcPpSwsE0yiU/aZkXV43vlXT2ycH+XlOjWOnLfH8C41z0njK8DHRtEFnp4OVN6E7E5lHBBKDZXCliA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-win32-arm64-msvc": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.0.3.tgz",
- "integrity": "sha512-5WWcT6ZNvfCuxjlpZOY7tdvOqT1kIQYlDF9Q42wMpZ5aTm4PvjdCmFDDmmTvyXEBJ4WTVmY5dWNWaxy8h/E28g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-win32-ia32-msvc": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.0.3.tgz",
- "integrity": "sha512-P/LWGZwWkyjSwkzq6skvS2wRc3gabzAbk6Akqs1/Iiuggql2CqdLBkcYWL5Xfv3haynhL+2jlNkak+v2BTZI4A==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.0.3.tgz",
- "integrity": "sha512-4AcTtLZG1s/S5mYAIr/sdzywdNwJpOcdStGF3QMBzEt+cGn3MchMaS9b1gyhb2KKM2c39SmPF5fUuWq1oBSQZQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nomiclabs/hardhat-ethers": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.1.1.tgz",
- "integrity": "sha512-Gg0IFkT/DW3vOpih4/kMjeZCLYqtfgECLeLXTs7ZDPzcK0cfoc5wKk4nq5n/izCUzdhidO/Utd6ptF9JrWwWVA==",
- "dev": true,
- "peerDependencies": {
- "ethers": "^5.0.0",
- "hardhat": "^2.0.0"
- }
- },
- "node_modules/@nomiclabs/hardhat-etherscan": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.0.tgz",
- "integrity": "sha512-JroYgfN1AlYFkQTQ3nRwFi4o8NtZF7K/qFR2dxDUgHbCtIagkUseca9L4E/D2ScUm4XT40+8PbCdqZi+XmHyQA==",
- "dev": true,
- "dependencies": {
- "@ethersproject/abi": "^5.1.2",
- "@ethersproject/address": "^5.0.2",
- "cbor": "^5.0.2",
- "chalk": "^2.4.2",
- "debug": "^4.1.1",
- "fs-extra": "^7.0.1",
- "lodash": "^4.17.11",
- "semver": "^6.3.0",
- "table": "^6.8.0",
- "undici": "^5.4.0"
- },
- "peerDependencies": {
- "hardhat": "^2.0.4"
- }
- },
- "node_modules/@nomiclabs/hardhat-etherscan/node_modules/fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/@nomiclabs/hardhat-etherscan/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/@nomiclabs/hardhat-etherscan/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/@scure/base": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz",
- "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ]
- },
- "node_modules/@scure/bip32": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.0.tgz",
- "integrity": "sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "@noble/hashes": "~1.1.1",
- "@noble/secp256k1": "~1.6.0",
- "@scure/base": "~1.1.0"
- }
- },
- "node_modules/@scure/bip39": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
- "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "@noble/hashes": "~1.1.1",
- "@scure/base": "~1.1.0"
- }
- },
- "node_modules/@sentry/core": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz",
- "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==",
- "dev": true,
- "dependencies": {
- "@sentry/hub": "5.30.0",
- "@sentry/minimal": "5.30.0",
- "@sentry/types": "5.30.0",
- "@sentry/utils": "5.30.0",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/core/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/@sentry/hub": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz",
- "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==",
- "dev": true,
- "dependencies": {
- "@sentry/types": "5.30.0",
- "@sentry/utils": "5.30.0",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/hub/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/@sentry/minimal": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz",
- "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==",
- "dev": true,
- "dependencies": {
- "@sentry/hub": "5.30.0",
- "@sentry/types": "5.30.0",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/minimal/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/@sentry/node": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz",
- "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==",
- "dev": true,
- "dependencies": {
- "@sentry/core": "5.30.0",
- "@sentry/hub": "5.30.0",
- "@sentry/tracing": "5.30.0",
- "@sentry/types": "5.30.0",
- "@sentry/utils": "5.30.0",
- "cookie": "^0.4.1",
- "https-proxy-agent": "^5.0.0",
- "lru_map": "^0.3.3",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/node/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/@sentry/tracing": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz",
- "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==",
- "dev": true,
- "dependencies": {
- "@sentry/hub": "5.30.0",
- "@sentry/minimal": "5.30.0",
- "@sentry/types": "5.30.0",
- "@sentry/utils": "5.30.0",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/tracing/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/@sentry/types": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz",
- "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/utils": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz",
- "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==",
- "dev": true,
- "dependencies": {
- "@sentry/types": "5.30.0",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/utils/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@solidity-parser/parser": {
- "version": "0.14.3",
- "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.3.tgz",
- "integrity": "sha512-29g2SZ29HtsqA58pLCtopI1P/cPy5/UAzlcAXO6T/CNJimG6yA8kx4NaseMyJULiC+TEs02Y9/yeHzClqoA0hw==",
- "dev": true,
- "dependencies": {
- "antlr4ts": "^0.5.0-alpha.4"
- }
- },
- "node_modules/@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
- "dependencies": {
- "defer-to-connect": "^1.0.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@truffle/error": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.1.tgz",
- "integrity": "sha512-sE7c9IHIGdbK4YayH4BC8i8qMjoAOeg6nUXUDZZp8wlU21/EMpaG+CLx+KqcIPyR+GSWIW3Dm0PXkr2nlggFDA==",
- "dev": true
- },
- "node_modules/@truffle/interface-adapter": {
- "version": "0.5.22",
- "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.22.tgz",
- "integrity": "sha512-Bgl5Afb1mPVNedI8CJzZQzVIdrZWSXISTBrXPZmppD4Q+6V1RUzlLxiaGGB4gYHOA+U0pBzD8MCcSycPAD9RsA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.1.3",
- "ethers": "^4.0.32",
- "web3": "1.7.4"
- }
- },
- "node_modules/@truffle/interface-adapter/node_modules/ethers": {
- "version": "4.0.49",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz",
- "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==",
- "dev": true,
- "dependencies": {
- "aes-js": "3.0.0",
- "bn.js": "^4.11.9",
- "elliptic": "6.5.4",
- "hash.js": "1.1.3",
- "js-sha3": "0.5.7",
- "scrypt-js": "2.0.4",
- "setimmediate": "1.0.4",
- "uuid": "2.0.1",
- "xmlhttprequest": "1.8.0"
- }
- },
- "node_modules/@truffle/interface-adapter/node_modules/ethers/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/@truffle/interface-adapter/node_modules/hash.js": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/@truffle/interface-adapter/node_modules/js-sha3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
- "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==",
- "dev": true
- },
- "node_modules/@truffle/interface-adapter/node_modules/scrypt-js": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz",
- "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==",
- "dev": true
- },
- "node_modules/@truffle/interface-adapter/node_modules/setimmediate": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz",
- "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==",
- "dev": true
- },
- "node_modules/@truffle/interface-adapter/node_modules/uuid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz",
- "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
- "dev": true
- },
- "node_modules/@truffle/provider": {
- "version": "0.2.60",
- "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.60.tgz",
- "integrity": "sha512-DJrSxmMuJhC8/m7HUMo5E4wq+SUhg6iK/r9dYAHfnGOUZVj4Pxl0hiqYCDm9jU1iZwk3BmzkctoMS5+qJYST0A==",
- "dev": true,
- "dependencies": {
- "@truffle/error": "^0.1.1",
- "@truffle/interface-adapter": "^0.5.22",
- "debug": "^4.3.1",
- "web3": "1.7.4"
- }
- },
- "node_modules/@tsconfig/node10": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
- "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
- "dev": true
- },
- "node_modules/@tsconfig/node12": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
- "dev": true
- },
- "node_modules/@tsconfig/node14": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
- "dev": true
- },
- "node_modules/@tsconfig/node16": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
- "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
- "dev": true
- },
- "node_modules/@typechain/ethers-v5": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.1.0.tgz",
- "integrity": "sha512-3LIb+eUpV3mNCrjUKT5oqp8PBsZYSnVrkfk6pY/ZM0boRs2mKxjFZ7bktx42vfDye8PPz3NxtW4DL5NsNsFqlg==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.15",
- "ts-essentials": "^7.0.1"
- },
- "peerDependencies": {
- "@ethersproject/abi": "^5.0.0",
- "@ethersproject/bytes": "^5.0.0",
- "@ethersproject/providers": "^5.0.0",
- "ethers": "^5.1.3",
- "typechain": "^8.1.0",
- "typescript": ">=4.3.0"
- }
- },
- "node_modules/@typechain/hardhat": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.3.tgz",
- "integrity": "sha512-e1H9MVl286ma0HuD9CBL248+pbdA7lWF6+I7FYwzykIrjilKhvLUv0Q7LtcyZztzgbP2g4Tyg1UPE+xy+qR7cA==",
- "dev": true,
- "dependencies": {
- "fs-extra": "^9.1.0"
- },
- "peerDependencies": {
- "@ethersproject/abi": "^5.4.7",
- "@ethersproject/providers": "^5.4.7",
- "@typechain/ethers-v5": "^10.1.0",
- "ethers": "^5.4.7",
- "hardhat": "^2.9.9",
- "typechain": "^8.1.0"
- }
- },
- "node_modules/@typechain/hardhat/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@types/abstract-leveldown": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz",
- "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ=="
- },
- "node_modules/@types/async-eventemitter": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz",
- "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==",
- "dev": true
- },
- "node_modules/@types/bn.js": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz",
- "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
- "dev": true,
- "dependencies": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "*",
- "@types/node": "*",
- "@types/responselike": "*"
- }
- },
- "node_modules/@types/chai": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz",
- "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==",
- "dev": true
- },
- "node_modules/@types/chai-as-promised": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz",
- "integrity": "sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==",
- "dev": true,
- "dependencies": {
- "@types/chai": "*"
- }
- },
- "node_modules/@types/concat-stream": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
- "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/detect-node": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/detect-node/-/detect-node-2.0.0.tgz",
- "integrity": "sha512-+BozjlbPTACYITf1PWf62HLtDV79HbmZosUN1mv1gGrnjDCRwBXkDKka1sf6YQJvspmfPXVcy+X6tFW62KteeQ=="
- },
- "node_modules/@types/form-data": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
- "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
- "dev": true,
- "dependencies": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/http-cache-semantics": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
- "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==",
- "dev": true
- },
- "node_modules/@types/keyv": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
- "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/level-errors": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz",
- "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ=="
- },
- "node_modules/@types/levelup": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz",
- "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==",
- "dependencies": {
- "@types/abstract-leveldown": "*",
- "@types/level-errors": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==",
- "dev": true
- },
- "node_modules/@types/minimatch": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
- "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
- "dev": true
- },
- "node_modules/@types/mocha": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz",
- "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "18.8.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz",
- "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w=="
- },
- "node_modules/@types/pbkdf2": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz",
- "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==",
- "dev": true
- },
- "node_modules/@types/qs": {
- "version": "6.9.7",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
- "dev": true
- },
- "node_modules/@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/secp256k1": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz",
- "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@ungap/promise-all-settled": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
- "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
- "dev": true
- },
- "node_modules/abbrev": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==",
- "dev": true
- },
- "node_modules/abort-controller": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
- "dev": true,
- "dependencies": {
- "event-target-shim": "^5.0.0"
- },
- "engines": {
- "node": ">=6.5"
- }
- },
- "node_modules/abstract-level": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz",
- "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==",
- "dev": true,
- "dependencies": {
- "buffer": "^6.0.3",
- "catering": "^2.1.0",
- "is-buffer": "^2.0.5",
- "level-supports": "^4.0.0",
- "level-transcoder": "^1.0.1",
- "module-error": "^1.0.1",
- "queue-microtask": "^1.2.3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/abstract-leveldown": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz",
- "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==",
- "dependencies": {
- "buffer": "^6.0.3",
- "catering": "^2.0.0",
- "is-buffer": "^2.0.5",
- "level-concat-iterator": "^3.0.0",
- "level-supports": "^2.0.1",
- "queue-microtask": "^1.2.3"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/abstract-leveldown/node_modules/level-supports": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz",
- "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dev": true,
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/acorn": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/address": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz",
- "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==",
- "dev": true,
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/adm-zip": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz",
- "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==",
- "dev": true,
- "engines": {
- "node": ">=0.3.0"
- }
- },
- "node_modules/aes-js": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz",
- "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==",
- "dev": true
- },
- "node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
- "dependencies": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">=0.4.2"
- }
- },
- "node_modules/ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ansi-regex": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
- "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/antlr4ts": {
- "version": "0.5.0-alpha.4",
- "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz",
- "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==",
- "dev": true
- },
- "node_modules/anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "node_modules/array-back": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
- "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
- "dev": true
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/array.prototype.reduce": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz",
- "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.2",
- "es-array-method-boxes-properly": "^1.0.0",
- "is-string": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
- },
- "node_modules/asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dev": true,
- "dependencies": {
- "safer-buffer": "~2.1.0"
- }
- },
- "node_modules/asn1.js": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
- "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "node_modules/asn1.js/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.14"
- }
- },
- "node_modules/async-eventemitter": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz",
- "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==",
- "dev": true,
- "dependencies": {
- "async": "^2.4.0"
- }
- },
- "node_modules/async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "dev": true
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
- },
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "node_modules/base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/base64-js": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
- "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
- "dev": true,
- "dependencies": {
- "tweetnacl": "^0.14.3"
- }
- },
- "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
- },
- "node_modules/bech32": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
- "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==",
- "dev": true
- },
- "node_modules/bigint-crypto-utils": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.7.tgz",
- "integrity": "sha512-zpCQpIE2Oy5WIQpjC9iYZf8Uh9QqoS51ZCooAcNvzv1AQ3VWdT52D0ksr1+/faeK8HVIej1bxXcP75YcqH3KPA==",
- "dev": true,
- "dependencies": {
- "bigint-mod-arith": "^3.1.0"
- },
- "engines": {
- "node": ">=10.4.0"
- }
- },
- "node_modules/bigint-mod-arith": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz",
- "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==",
- "dev": true,
- "engines": {
- "node": ">=10.4.0"
- }
- },
- "node_modules/bignumber.js": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz",
- "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/blakejs": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz",
- "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==",
- "dev": true
- },
- "node_modules/bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
- "node_modules/bn.js": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
- "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
- "dev": true
- },
- "node_modules/body-parser": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
- "dev": true,
- "dependencies": {
- "bytes": "3.1.2",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.11.0",
- "raw-body": "2.5.1",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
- "dev": true
- },
- "node_modules/browser-level": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz",
- "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==",
- "dev": true,
- "dependencies": {
- "abstract-level": "^1.0.2",
- "catering": "^2.1.1",
- "module-error": "^1.0.2",
- "run-parallel-limit": "^1.1.0"
- }
- },
- "node_modules/browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
- },
- "node_modules/browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
- "dependencies": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true,
- "dependencies": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "node_modules/browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "dev": true,
- "dependencies": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/browserify-rsa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
- "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.0.0",
- "randombytes": "^2.0.1"
- }
- },
- "node_modules/browserify-sign": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.1.1",
- "browserify-rsa": "^4.0.1",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "elliptic": "^6.5.3",
- "inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- }
- },
- "node_modules/bs58": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
- "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==",
- "dev": true,
- "dependencies": {
- "base-x": "^3.0.2"
- }
- },
- "node_modules/bs58check": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
- "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
- "dev": true,
- "dependencies": {
- "bs58": "^4.0.0",
- "create-hash": "^1.1.0",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/buffer-browserify": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.2.5.tgz",
- "integrity": "sha512-3ko6TTBwXb15w2OgZuyAzLJwUFClBMvcKcmhF+iQ79G71K8Fc3RqKzroCN0a0DbZw2GM3q9lNoqfYYCTq6w7QA==",
- "deprecated": "Package not maintained. Recent browserify uses https://github.com/feross/buffer",
- "dependencies": {
- "base64-js": "0.0.8"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true
- },
- "node_modules/buffer-to-arraybuffer": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz",
- "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==",
- "dev": true
- },
- "node_modules/buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
- "dev": true
- },
- "node_modules/buffer/node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/bufferutil": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz",
- "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "node-gyp-build": "^4.3.0"
- },
- "engines": {
- "node": ">=6.14.2"
- }
- },
- "node_modules/busboy": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
- "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "dev": true,
- "dependencies": {
- "streamsearch": "^1.1.0"
- },
- "engines": {
- "node": ">=10.16.0"
- }
- },
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/cacheable-lookup": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
- "dev": true,
- "engines": {
- "node": ">=10.6.0"
- }
- },
- "node_modules/cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "dev": true,
- "dependencies": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cacheable-request/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cacheable-request/node_modules/lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true
- },
- "node_modules/catering": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz",
- "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/cbor": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz",
- "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==",
- "dev": true,
- "dependencies": {
- "bignumber.js": "^9.0.1",
- "nofilter": "^1.0.4"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/chai": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
- "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
- "dev": true,
- "dependencies": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.2",
- "deep-eql": "^3.0.1",
- "get-func-name": "^2.0.0",
- "loupe": "^2.3.1",
- "pathval": "^1.1.1",
- "type-detect": "^4.0.5"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/chai-as-promised": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz",
- "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==",
- "dev": true,
- "dependencies": {
- "check-error": "^1.0.2"
- },
- "peerDependencies": {
- "chai": ">= 2.1.2 < 5"
- }
- },
- "node_modules/chai/node_modules/deep-eql": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
- "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
- "dev": true,
- "dependencies": {
- "type-detect": "^4.0.0"
- },
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/check-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "node_modules/ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
- "node_modules/cids": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz",
- "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==",
- "deprecated": "This module has been superseded by the multiformats module",
- "dev": true,
- "dependencies": {
- "buffer": "^5.5.0",
- "class-is": "^1.1.0",
- "multibase": "~0.6.0",
- "multicodec": "^1.0.0",
- "multihashes": "~0.4.15"
- },
- "engines": {
- "node": ">=4.0.0",
- "npm": ">=3.0.0"
- }
- },
- "node_modules/cids/node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/cids/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/cids/node_modules/multicodec": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz",
- "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==",
- "deprecated": "This module has been superseded by the multiformats module",
- "dev": true,
- "dependencies": {
- "buffer": "^5.6.0",
- "varint": "^5.0.0"
- }
- },
- "node_modules/cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/class-is": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz",
- "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==",
- "dev": true
- },
- "node_modules/classic-level": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz",
- "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "abstract-level": "^1.0.2",
- "catering": "^2.1.0",
- "module-error": "^1.0.1",
- "napi-macros": "~2.0.0",
- "node-gyp-build": "^4.3.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/cli-table3": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz",
- "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==",
- "dev": true,
- "dependencies": {
- "object-assign": "^4.1.0",
- "string-width": "^2.1.1"
- },
- "engines": {
- "node": ">=6"
- },
- "optionalDependencies": {
- "colors": "^1.1.2"
- }
- },
- "node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/cliui/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/clone-response": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
- "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
- "dev": true,
- "dependencies": {
- "mimic-response": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/command-exists": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
- "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==",
- "dev": true
- },
- "node_modules/command-line-args": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
- "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
- "dev": true,
- "dependencies": {
- "array-back": "^3.1.0",
- "find-replace": "^3.0.0",
- "lodash.camelcase": "^4.3.0",
- "typical": "^4.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/command-line-usage": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz",
- "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==",
- "dev": true,
- "dependencies": {
- "array-back": "^4.0.2",
- "chalk": "^2.4.2",
- "table-layout": "^1.0.2",
- "typical": "^5.2.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/command-line-usage/node_modules/array-back": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
- "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/command-line-usage/node_modules/typical": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
- "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/commander": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",
- "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "engines": [
- "node >= 0.8"
- ],
- "dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "node_modules/concat-stream/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "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"
- }
- },
- "node_modules/concat-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/concat-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-hash": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz",
- "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==",
- "dev": true,
- "dependencies": {
- "cids": "^0.7.1",
- "multicodec": "^0.5.5",
- "multihashes": "^0.4.15"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
- "dev": true
- },
- "node_modules/cookiejar": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
- "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==",
- "dev": true
- },
- "node_modules/core-js": {
- "version": "3.25.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz",
- "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==",
- "hasInstallScript": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
- "dev": true
- },
- "node_modules/cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "dev": true,
- "dependencies": {
- "object-assign": "^4",
- "vary": "^1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/crc-32": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
- "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
- "dev": true,
- "bin": {
- "crc32": "bin/crc32.njs"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/create-ecdh": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
- "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.5.3"
- }
- },
- "node_modules/create-ecdh/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true,
- "dependencies": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "node_modules/create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true,
- "dependencies": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "node_modules/create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true
- },
- "node_modules/crypt": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
- "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true,
- "dependencies": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "node_modules/dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/death": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz",
- "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==",
- "dev": true
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
- "dev": true,
- "dependencies": {
- "mimic-response": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/deep-eql": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.1.tgz",
- "integrity": "sha512-rc6HkZswtl+KMi/IODZ8k7C/P37clC2Rf1HYI11GqdbgvggIyHjsU5MdjlTlaP6eu24c0sR3mcW2SqsVZ1sXUw==",
- "dev": true,
- "dependencies": {
- "type-detect": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true,
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "node_modules/defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
- },
- "node_modules/deferred-leveldown": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-7.0.0.tgz",
- "integrity": "sha512-QKN8NtuS3BC6m0B8vAnBls44tX1WXAFATUsJlruyAYbZpysWV3siH6o/i3g9DCHauzodksO60bdj5NazNbjCmg==",
- "dependencies": {
- "abstract-leveldown": "^7.2.0",
- "inherits": "^2.0.3"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/define-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
- "dev": true,
- "dependencies": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/des.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
- "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/detect-node": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
- },
- "node_modules/detect-port": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz",
- "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==",
- "dev": true,
- "dependencies": {
- "address": "^1.0.1",
- "debug": "4"
- },
- "bin": {
- "detect": "bin/detect-port.js",
- "detect-port": "bin/detect-port.js"
- }
- },
- "node_modules/diff": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
- "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- }
- },
- "node_modules/diffie-hellman/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dom-walk": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
- "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==",
- "dev": true
- },
- "node_modules/duplexer3": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
- "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
- "dev": true
- },
- "node_modules/ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
- "dev": true,
- "dependencies": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "dev": true
- },
- "node_modules/elliptic": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
- "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.11.9",
- "brorand": "^1.1.0",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.1",
- "inherits": "^2.0.4",
- "minimalistic-assert": "^1.0.1",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "node_modules/elliptic/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/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,
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/env-paths": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
- "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
- "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.3",
- "get-symbol-description": "^1.0.0",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.2",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/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
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es5-ext": {
- "version": "0.10.62",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
- "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.3",
- "next-tick": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
- "dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dev": true,
- "dependencies": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "dev": true
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==",
- "dev": true,
- "dependencies": {
- "esprima": "^2.7.1",
- "estraverse": "^1.9.1",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=0.12.0"
- },
- "optionalDependencies": {
- "source-map": "~0.2.0"
- }
- },
- "node_modules/esm": {
- "version": "3.2.25",
- "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
- "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
- "optional": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/eth-ens-namehash": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz",
- "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==",
- "dev": true,
- "dependencies": {
- "idna-uts46-hx": "^2.3.1",
- "js-sha3": "^0.5.7"
- }
- },
- "node_modules/eth-ens-namehash/node_modules/js-sha3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
- "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==",
- "dev": true
- },
- "node_modules/eth-gas-reporter": {
- "version": "0.2.25",
- "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz",
- "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==",
- "dev": true,
- "dependencies": {
- "@ethersproject/abi": "^5.0.0-beta.146",
- "@solidity-parser/parser": "^0.14.0",
- "cli-table3": "^0.5.0",
- "colors": "1.4.0",
- "ethereum-cryptography": "^1.0.3",
- "ethers": "^4.0.40",
- "fs-readdir-recursive": "^1.1.0",
- "lodash": "^4.17.14",
- "markdown-table": "^1.1.3",
- "mocha": "^7.1.1",
- "req-cwd": "^2.0.0",
- "request": "^2.88.0",
- "request-promise-native": "^1.0.5",
- "sha1": "^1.1.1",
- "sync-request": "^6.0.0"
- },
- "peerDependencies": {
- "@codechecks/client": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "@codechecks/client": {
- "optional": true
- }
- }
- },
- "node_modules/eth-gas-reporter/node_modules/ansi-colors": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
- "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/ansi-regex": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/eth-gas-reporter/node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/chokidar": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz",
- "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==",
- "dev": true,
- "dependencies": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "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"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.1.1"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "dependencies": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "node_modules/eth-gas-reporter/node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/ethereum-cryptography": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz",
- "integrity": "sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ==",
- "dev": true,
- "dependencies": {
- "@noble/hashes": "1.1.2",
- "@noble/secp256k1": "1.6.3",
- "@scure/bip32": "1.1.0",
- "@scure/bip39": "1.1.0"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/ethers": {
- "version": "4.0.49",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz",
- "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==",
- "dev": true,
- "dependencies": {
- "aes-js": "3.0.0",
- "bn.js": "^4.11.9",
- "elliptic": "6.5.4",
- "hash.js": "1.1.3",
- "js-sha3": "0.5.7",
- "scrypt-js": "2.0.4",
- "setimmediate": "1.0.4",
- "uuid": "2.0.1",
- "xmlhttprequest": "1.8.0"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/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,
- "dependencies": {
- "locate-path": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/flat": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz",
- "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==",
- "dev": true,
- "dependencies": {
- "is-buffer": "~2.0.3"
- },
- "bin": {
- "flat": "cli.js"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/fsevents": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
- "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
- "deprecated": "\"Please update to latest v2.3 or v2.2\"",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "dependencies": {
- "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"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/hash.js": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/js-sha3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
- "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==",
- "dev": true
- },
- "node_modules/eth-gas-reporter/node_modules/js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/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,
- "dependencies": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/log-symbols": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
- "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.4.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/mocha": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz",
- "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==",
- "dev": true,
- "dependencies": {
- "ansi-colors": "3.2.3",
- "browser-stdout": "1.3.1",
- "chokidar": "3.3.0",
- "debug": "3.2.6",
- "diff": "3.5.0",
- "escape-string-regexp": "1.0.5",
- "find-up": "3.0.0",
- "glob": "7.1.3",
- "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",
- "object.assign": "4.1.0",
- "strip-json-comments": "2.0.1",
- "supports-color": "6.0.0",
- "which": "1.3.1",
- "wide-align": "1.1.3",
- "yargs": "13.3.2",
- "yargs-parser": "13.1.2",
- "yargs-unparser": "1.6.0"
- },
- "bin": {
- "_mocha": "bin/_mocha",
- "mocha": "bin/mocha"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mochajs"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/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
- },
- "node_modules/eth-gas-reporter/node_modules/object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/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,
- "dependencies": {
- "p-limit": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/readdirp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz",
- "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/scrypt-js": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz",
- "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==",
- "dev": true
- },
- "node_modules/eth-gas-reporter/node_modules/setimmediate": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz",
- "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==",
- "dev": true
- },
- "node_modules/eth-gas-reporter/node_modules/string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/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,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/uuid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz",
- "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
- "dev": true
- },
- "node_modules/eth-gas-reporter/node_modules/wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/y18n": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
- "dev": true
- },
- "node_modules/eth-gas-reporter/node_modules/yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "dependencies": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "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.2"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- },
- "node_modules/eth-gas-reporter/node_modules/yargs-unparser": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
- "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
- "dev": true,
- "dependencies": {
- "flat": "^4.1.0",
- "lodash": "^4.17.15",
- "yargs": "^13.3.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eth-lib": {
- "version": "0.1.29",
- "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz",
- "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.11.6",
- "elliptic": "^6.4.0",
- "nano-json-stream-parser": "^0.1.2",
- "servify": "^0.1.12",
- "ws": "^3.0.0",
- "xhr-request-promise": "^0.1.2"
- }
- },
- "node_modules/eth-lib/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/eth-lib/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/eth-lib/node_modules/ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true,
- "dependencies": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
- }
- },
- "node_modules/ethereum-bloom-filters": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz",
- "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==",
- "dev": true,
- "dependencies": {
- "js-sha3": "^0.8.0"
- }
- },
- "node_modules/ethereum-cryptography": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz",
- "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==",
- "dev": true,
- "dependencies": {
- "@types/pbkdf2": "^3.0.0",
- "@types/secp256k1": "^4.0.1",
- "blakejs": "^1.1.0",
- "browserify-aes": "^1.2.0",
- "bs58check": "^2.1.2",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "hash.js": "^1.1.7",
- "keccak": "^3.0.0",
- "pbkdf2": "^3.0.17",
- "randombytes": "^2.1.0",
- "safe-buffer": "^5.1.2",
- "scrypt-js": "^3.0.0",
- "secp256k1": "^4.0.1",
- "setimmediate": "^1.0.5"
- }
- },
- "node_modules/ethereumjs-abi": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz",
- "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.11.8",
- "ethereumjs-util": "^6.0.0"
- }
- },
- "node_modules/ethereumjs-abi/node_modules/@types/bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/ethereumjs-abi/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz",
- "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==",
- "dev": true,
- "dependencies": {
- "@types/bn.js": "^4.11.3",
- "bn.js": "^4.11.0",
- "create-hash": "^1.1.2",
- "elliptic": "^6.5.2",
- "ethereum-cryptography": "^0.1.3",
- "ethjs-util": "0.1.6",
- "rlp": "^2.2.3"
- }
- },
- "node_modules/ethereumjs-util": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz",
- "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==",
- "dev": true,
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "bn.js": "^5.1.2",
- "create-hash": "^1.1.2",
- "ethereum-cryptography": "^0.1.3",
- "rlp": "^2.2.4"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/ethers": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.1.tgz",
- "integrity": "sha512-5krze4dRLITX7FpU8J4WscXqADiKmyeNlylmmDLbS95DaZpBhDe2YSwRQwKXWNyXcox7a3gBgm/MkGXV1O1S/Q==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
- },
- {
- "type": "individual",
- "url": "https://www.buymeacoffee.com/ricmoo"
- }
- ],
- "dependencies": {
- "@ethersproject/abi": "5.7.0",
- "@ethersproject/abstract-provider": "5.7.0",
- "@ethersproject/abstract-signer": "5.7.0",
- "@ethersproject/address": "5.7.0",
- "@ethersproject/base64": "5.7.0",
- "@ethersproject/basex": "5.7.0",
- "@ethersproject/bignumber": "5.7.0",
- "@ethersproject/bytes": "5.7.0",
- "@ethersproject/constants": "5.7.0",
- "@ethersproject/contracts": "5.7.0",
- "@ethersproject/hash": "5.7.0",
- "@ethersproject/hdnode": "5.7.0",
- "@ethersproject/json-wallets": "5.7.0",
- "@ethersproject/keccak256": "5.7.0",
- "@ethersproject/logger": "5.7.0",
- "@ethersproject/networks": "5.7.1",
- "@ethersproject/pbkdf2": "5.7.0",
- "@ethersproject/properties": "5.7.0",
- "@ethersproject/providers": "5.7.1",
- "@ethersproject/random": "5.7.0",
- "@ethersproject/rlp": "5.7.0",
- "@ethersproject/sha2": "5.7.0",
- "@ethersproject/signing-key": "5.7.0",
- "@ethersproject/solidity": "5.7.0",
- "@ethersproject/strings": "5.7.0",
- "@ethersproject/transactions": "5.7.0",
- "@ethersproject/units": "5.7.0",
- "@ethersproject/wallet": "5.7.0",
- "@ethersproject/web": "5.7.1",
- "@ethersproject/wordlists": "5.7.0"
- }
- },
- "node_modules/ethjs-unit": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz",
- "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==",
- "dev": true,
- "dependencies": {
- "bn.js": "4.11.6",
- "number-to-bn": "1.7.0"
- },
- "engines": {
- "node": ">=6.5.0",
- "npm": ">=3"
- }
- },
- "node_modules/ethjs-unit/node_modules/bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==",
- "dev": true
- },
- "node_modules/ethjs-util": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz",
- "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==",
- "dev": true,
- "dependencies": {
- "is-hex-prefixed": "1.0.0",
- "strip-hex-prefix": "1.0.0"
- },
- "engines": {
- "node": ">=6.5.0",
- "npm": ">=3"
- }
- },
- "node_modules/event-target-shim": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eventemitter3": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
- "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
- "dev": true
- },
- "node_modules/evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
- "dependencies": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "node_modules/express": {
- "version": "4.18.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
- "dev": true,
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.1",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.5.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.2.0",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.11.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/express/node_modules/cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/ext": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
- "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
- "dev": true,
- "dependencies": {
- "type": "^2.7.2"
- }
- },
- "node_modules/ext/node_modules/type": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
- "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
- "dev": true
- },
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "node_modules/extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ]
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
- },
- "node_modules/fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/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,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
- "dev": true,
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/find-replace": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
- "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
- "dev": true,
- "dependencies": {
- "array-back": "^3.0.1"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
- "dev": true,
- "dependencies": {
- "locate-path": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "dev": true,
- "bin": {
- "flat": "cli.js"
- }
- },
- "node_modules/follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.3"
- }
- },
- "node_modules/forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fp-ts": {
- "version": "1.19.3",
- "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz",
- "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==",
- "dev": true
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fs-extra": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
- "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/fs-minipass": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
- "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
- "dev": true,
- "dependencies": {
- "minipass": "^2.6.0"
- }
- },
- "node_modules/fs-readdir-recursive": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
- "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
- "dev": true
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
- },
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-func-name": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
- "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
- "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-port": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
- "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/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,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- }
- },
- "node_modules/ghost-testrpc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz",
- "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.4.2",
- "node-emoji": "^1.10.0"
- },
- "bin": {
- "testrpc-sc": "index.js"
- }
- },
- "node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "dependencies": {
- "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"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/global": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
- "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
- "dev": true,
- "dependencies": {
- "min-document": "^2.19.0",
- "process": "^0.11.10"
- }
- },
- "node_modules/global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "dependencies": {
- "global-prefix": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "dependencies": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/globby": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
- "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
- "dev": true,
- "dependencies": {
- "@types/glob": "^7.1.1",
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.0.3",
- "glob": "^7.1.3",
- "ignore": "^5.1.1",
- "merge2": "^1.2.3",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
- "dependencies": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
- },
- "node_modules/growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
- "dev": true,
- "engines": {
- "node": ">=4.x"
- }
- },
- "node_modules/handlebars": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
- "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.0",
- "source-map": "^0.6.1",
- "wordwrap": "^1.0.0"
- },
- "bin": {
- "handlebars": "bin/handlebars"
- },
- "engines": {
- "node": ">=0.4.7"
- },
- "optionalDependencies": {
- "uglify-js": "^3.1.4"
- }
- },
- "node_modules/handlebars/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "deprecated": "this library is no longer supported",
- "dev": true,
- "dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/hardhat": {
- "version": "2.11.2",
- "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.11.2.tgz",
- "integrity": "sha512-BdsXC1CFJQDJKmAgCwpmGhFuVU6dcqlgMgT0Kg/xmFAFVugkpYu6NRmh4AaJ3Fah0/BR9DOR4XgQGIbg4eon/Q==",
- "dev": true,
- "dependencies": {
- "@ethersproject/abi": "^5.1.2",
- "@metamask/eth-sig-util": "^4.0.0",
- "@nomicfoundation/ethereumjs-block": "^4.0.0",
- "@nomicfoundation/ethereumjs-blockchain": "^6.0.0",
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-evm": "^1.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-statemanager": "^1.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-tx": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "@nomicfoundation/ethereumjs-vm": "^6.0.0",
- "@nomicfoundation/solidity-analyzer": "^0.0.3",
- "@sentry/node": "^5.18.1",
- "@types/bn.js": "^5.1.0",
- "@types/lru-cache": "^5.1.0",
- "abort-controller": "^3.0.0",
- "adm-zip": "^0.4.16",
- "aggregate-error": "^3.0.0",
- "ansi-escapes": "^4.3.0",
- "chalk": "^2.4.2",
- "chokidar": "^3.4.0",
- "ci-info": "^2.0.0",
- "debug": "^4.1.1",
- "enquirer": "^2.3.0",
- "env-paths": "^2.2.0",
- "ethereum-cryptography": "^1.0.3",
- "ethereumjs-abi": "^0.6.8",
- "find-up": "^2.1.0",
- "fp-ts": "1.19.3",
- "fs-extra": "^7.0.1",
- "glob": "7.2.0",
- "immutable": "^4.0.0-rc.12",
- "io-ts": "1.10.4",
- "keccak": "^3.0.2",
- "lodash": "^4.17.11",
- "mnemonist": "^0.38.0",
- "mocha": "^10.0.0",
- "p-map": "^4.0.0",
- "qs": "^6.7.0",
- "raw-body": "^2.4.1",
- "resolve": "1.17.0",
- "semver": "^6.3.0",
- "solc": "0.7.3",
- "source-map-support": "^0.5.13",
- "stacktrace-parser": "^0.1.10",
- "tsort": "0.0.1",
- "undici": "^5.4.0",
- "uuid": "^8.3.2",
- "ws": "^7.4.6"
- },
- "bin": {
- "hardhat": "internal/cli/cli.js"
- },
- "engines": {
- "node": "^14.0.0 || ^16.0.0 || ^18.0.0"
- },
- "peerDependencies": {
- "ts-node": "*",
- "typescript": "*"
- },
- "peerDependenciesMeta": {
- "ts-node": {
- "optional": true
- },
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/hardhat-gas-reporter": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.9.tgz",
- "integrity": "sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==",
- "dev": true,
- "dependencies": {
- "array-uniq": "1.0.3",
- "eth-gas-reporter": "^0.2.25",
- "sha1": "^1.1.1"
- },
- "peerDependencies": {
- "hardhat": "^2.0.2"
- }
- },
- "node_modules/hardhat/node_modules/ethereum-cryptography": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz",
- "integrity": "sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ==",
- "dev": true,
- "dependencies": {
- "@noble/hashes": "1.1.2",
- "@noble/secp256k1": "1.6.3",
- "@scure/bip32": "1.1.0",
- "@scure/bip39": "1.1.0"
- }
- },
- "node_modules/hardhat/node_modules/fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/hardhat/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/hardhat/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hash-base": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
- "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "node_modules/he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "dev": true,
- "bin": {
- "he": "bin/he"
- }
- },
- "node_modules/hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
- "dev": true,
- "dependencies": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "node_modules/http-basic": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
- "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
- "dev": true,
- "dependencies": {
- "caseless": "^0.12.0",
- "concat-stream": "^1.6.2",
- "http-response-object": "^3.0.1",
- "parse-cache-control": "^1.0.1"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
- },
- "node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dev": true,
- "dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/http-https": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz",
- "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==",
- "dev": true
- },
- "node_modules/http-response-object": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
- "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
- "dev": true,
- "dependencies": {
- "@types/node": "^10.0.3"
- }
- },
- "node_modules/http-response-object/node_modules/@types/node": {
- "version": "10.17.60",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==",
- "dev": true
- },
- "node_modules/http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- },
- "engines": {
- "node": ">=0.8",
- "npm": ">=1.3.7"
- }
- },
- "node_modules/http2-wrapper": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
- "dev": true,
- "dependencies": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
- },
- "engines": {
- "node": ">=10.19.0"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/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,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/idna-uts46-hx": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz",
- "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==",
- "dev": true,
- "dependencies": {
- "punycode": "2.1.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/idna-uts46-hx/node_modules/punycode": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
- "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/immutable": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
- "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
- "dev": true
- },
- "node_modules/indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
- "node_modules/internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/io-ts": {
- "version": "1.10.4",
- "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz",
- "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==",
- "dev": true,
- "dependencies": {
- "fp-ts": "^1.0.0"
- }
- },
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-arguments": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
- "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
- "dependencies": {
- "has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/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,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/is-function": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
- "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==",
- "dev": true
- },
- "node_modules/is-generator-function": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
- "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-hex-prefixed": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz",
- "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==",
- "dev": true,
- "engines": {
- "node": ">=6.5.0",
- "npm": ">=3"
- }
- },
- "node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-node": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-node/-/is-node-1.0.2.tgz",
- "integrity": "sha512-U37UdVWHNH1wDFmlSauKRDL1nhaCVRIH1FoaZN94eGJvU832sjMHEO/4AITAkOT0aRD7oA1Fovn7PeNCHiqz0w==",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/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,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-observable": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz",
- "integrity": "sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz",
- "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==",
- "dev": true,
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
- "for-each": "^0.3.3",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
- "dev": true
- },
- "node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "node_modules/isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true
- },
- "node_modules/js-sha3": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz",
- "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==",
- "dev": true
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
- "dev": true
- },
- "node_modules/json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
- "dev": true
- },
- "node_modules/json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsonschema": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz",
- "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "dev": true,
- "dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
- "node_modules/keccak": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz",
- "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "node-addon-api": "^2.0.0",
- "node-gyp-build": "^4.2.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "dev": true,
- "dependencies": {
- "json-buffer": "3.0.0"
- }
- },
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.9"
- }
- },
- "node_modules/level": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz",
- "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==",
- "dev": true,
- "dependencies": {
- "browser-level": "^1.0.1",
- "classic-level": "^1.2.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/level"
- }
- },
- "node_modules/level-concat-iterator": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz",
- "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==",
- "dependencies": {
- "catering": "^2.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/level-errors": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-3.0.1.tgz",
- "integrity": "sha512-tqTL2DxzPDzpwl0iV5+rBCv65HWbHp6eutluHNcVIftKZlQN//b6GEnZDM2CvGZvzGYMwyPtYppYnydBQd2SMQ==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/level-iterator-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-5.0.0.tgz",
- "integrity": "sha512-wnb1+o+CVFUDdiSMR/ZymE2prPs3cjVLlXuDeSq9Zb8o032XrabGEXcTCsBxprAtseO3qvFeGzh6406z9sOTRA==",
- "dependencies": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/level-supports": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz",
- "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/level-transcoder": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz",
- "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==",
- "dev": true,
- "dependencies": {
- "buffer": "^6.0.3",
- "module-error": "^1.0.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/levelup": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/levelup/-/levelup-5.1.1.tgz",
- "integrity": "sha512-0mFCcHcEebOwsQuk00WJwjLI6oCjbBuEYdh/RaRqhjnyVlzqf41T1NnDtCedumZ56qyIh8euLFDqV1KfzTAVhg==",
- "dependencies": {
- "catering": "^2.0.0",
- "deferred-leveldown": "^7.0.0",
- "level-errors": "^3.0.1",
- "level-iterator-stream": "^5.0.0",
- "level-supports": "^2.0.1",
- "queue-microtask": "^1.2.3"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/levelup/node_modules/level-supports": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz",
- "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
- "dev": true,
- "dependencies": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "node_modules/lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
- "dev": true
- },
- "node_modules/lodash.truncate": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
- "dev": true
- },
- "node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-symbols/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/log-symbols/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/log-symbols/node_modules/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/log-symbols/node_modules/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
- },
- "node_modules/log-symbols/node_modules/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/log-symbols/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/loupe": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
- "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
- "dev": true,
- "dependencies": {
- "get-func-name": "^2.0.0"
- }
- },
- "node_modules/lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/lru_map": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz",
- "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==",
- "dev": true
- },
- "node_modules/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,
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/ltgt": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz",
- "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA=="
- },
- "node_modules/make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
- "node_modules/markdown-table": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
- "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==",
- "dev": true
- },
- "node_modules/mcl-wasm": {
- "version": "0.7.9",
- "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz",
- "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==",
- "dev": true,
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
- "dev": true,
- "dependencies": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/memdown": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/memdown/-/memdown-6.1.1.tgz",
- "integrity": "sha512-vh2RiuVrn6Vv73088C1KzLwy9+hhRwoZsgddYqIoVuFFrcoc2Rt+lq/KrmkFn6ulko7AtQ0AvqtYid35exb38A==",
- "dependencies": {
- "abstract-leveldown": "^7.2.0",
- "buffer": "^6.0.3",
- "functional-red-black-tree": "^1.0.1",
- "inherits": "^2.0.1",
- "ltgt": "^2.2.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/memory-level": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz",
- "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==",
- "dev": true,
- "dependencies": {
- "abstract-level": "^1.0.0",
- "functional-red-black-tree": "^1.0.1",
- "module-error": "^1.0.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/memorystream": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
- "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
- "dev": true,
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
- "dev": true
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- },
- "bin": {
- "miller-rabin": "bin/miller-rabin"
- }
- },
- "node_modules/miller-rabin/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/min-document": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
- "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
- "dev": true,
- "dependencies": {
- "dom-walk": "^0.1.0"
- }
- },
- "node_modules/minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true
- },
- "node_modules/minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
- "dev": true
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
- },
- "node_modules/minipass": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "node_modules/minizlib": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "dev": true,
- "dependencies": {
- "minipass": "^2.9.0"
- }
- },
- "node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/mkdirp-promise": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz",
- "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==",
- "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.",
- "dev": true,
- "dependencies": {
- "mkdirp": "*"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mnemonist": {
- "version": "0.38.5",
- "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz",
- "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==",
- "dev": true,
- "dependencies": {
- "obliterator": "^2.0.0"
- }
- },
- "node_modules/mocha": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
- "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
- "dev": true,
- "dependencies": {
- "@ungap/promise-all-settled": "1.1.2",
- "ansi-colors": "4.1.1",
- "browser-stdout": "1.3.1",
- "chokidar": "3.5.3",
- "debug": "4.3.4",
- "diff": "5.0.0",
- "escape-string-regexp": "4.0.0",
- "find-up": "5.0.0",
- "glob": "7.2.0",
- "he": "1.2.0",
- "js-yaml": "4.1.0",
- "log-symbols": "4.1.0",
- "minimatch": "5.0.1",
- "ms": "2.1.3",
- "nanoid": "3.3.3",
- "serialize-javascript": "6.0.0",
- "strip-json-comments": "3.1.1",
- "supports-color": "8.1.1",
- "workerpool": "6.2.1",
- "yargs": "16.2.0",
- "yargs-parser": "20.2.4",
- "yargs-unparser": "2.0.0"
- },
- "bin": {
- "_mocha": "bin/_mocha",
- "mocha": "bin/mocha.js"
- },
- "engines": {
- "node": ">= 14.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mochajs"
- }
- },
- "node_modules/mocha/node_modules/ansi-colors": {
- "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,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/mocha/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/mocha/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/mocha/node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/mocha/node_modules/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/mocha/node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/mocha/node_modules/minimatch": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
- "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/mocha/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- },
- "node_modules/mocha/node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/mocha/node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/mocha/node_modules/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/mocha/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/mock-fs": {
- "version": "4.14.0",
- "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz",
- "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==",
- "dev": true
- },
- "node_modules/module-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz",
- "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "node_modules/multibase": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz",
- "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==",
- "deprecated": "This module has been superseded by the multiformats module",
- "dev": true,
- "dependencies": {
- "base-x": "^3.0.8",
- "buffer": "^5.5.0"
- }
- },
- "node_modules/multibase/node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/multibase/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/multicodec": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz",
- "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==",
- "deprecated": "This module has been superseded by the multiformats module",
- "dev": true,
- "dependencies": {
- "varint": "^5.0.0"
- }
- },
- "node_modules/multihashes": {
- "version": "0.4.21",
- "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz",
- "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==",
- "dev": true,
- "dependencies": {
- "buffer": "^5.5.0",
- "multibase": "^0.7.0",
- "varint": "^5.0.0"
- }
- },
- "node_modules/multihashes/node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/multihashes/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/multihashes/node_modules/multibase": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz",
- "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==",
- "deprecated": "This module has been superseded by the multiformats module",
- "dev": true,
- "dependencies": {
- "base-x": "^3.0.8",
- "buffer": "^5.5.0"
- }
- },
- "node_modules/nano-json-stream-parser": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz",
- "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==",
- "dev": true
- },
- "node_modules/nanoid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
- "dev": true,
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/napi-macros": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz",
- "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==",
- "dev": true
- },
- "node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
- },
- "node_modules/next-tick": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
- "dev": true
- },
- "node_modules/node-addon-api": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz",
- "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==",
- "dev": true
- },
- "node_modules/node-emoji": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
- "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.21"
- }
- },
- "node_modules/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,
- "dependencies": {
- "object.getownpropertydescriptors": "^2.0.3",
- "semver": "^5.7.0"
- }
- },
- "node_modules/node-environment-flags/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
- "engines": {
- "node": "4.x || >=6.0.0"
- }
- },
- "node_modules/node-gyp-build": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz",
- "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==",
- "dev": true,
- "bin": {
- "node-gyp-build": "bin.js",
- "node-gyp-build-optional": "optional.js",
- "node-gyp-build-test": "build-test.js"
- }
- },
- "node_modules/nofilter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz",
- "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==",
- "dev": true,
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-url": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/number-to-bn": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz",
- "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==",
- "dev": true,
- "dependencies": {
- "bn.js": "4.11.6",
- "strip-hex-prefix": "1.0.0"
- },
- "engines": {
- "node": ">=6.5.0",
- "npm": ">=3"
- }
- },
- "node_modules/number-to-bn/node_modules/bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==",
- "dev": true
- },
- "node_modules/oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
- "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.getownpropertydescriptors": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz",
- "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==",
- "dev": true,
- "dependencies": {
- "array.prototype.reduce": "^1.0.4",
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.1"
- },
- "engines": {
- "node": ">= 0.8"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/obliterator": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz",
- "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==",
- "dev": true
- },
- "node_modules/oboe": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz",
- "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==",
- "dev": true,
- "dependencies": {
- "http-https": "^1.0.0"
- }
- },
- "node_modules/observable-fns": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz",
- "integrity": "sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg=="
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dev": true,
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "dependencies": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/ordinal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz",
- "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==",
- "dev": true
- },
- "node_modules/os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/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,
- "dependencies": {
- "p-try": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
- "dev": true,
- "dependencies": {
- "p-limit": "^1.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "dev": true,
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/parse-asn1": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
- "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
- "dev": true,
- "dependencies": {
- "asn1.js": "^5.2.0",
- "browserify-aes": "^1.0.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
- "node_modules/parse-cache-control": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
- "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==",
- "dev": true
- },
- "node_modules/parse-headers": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz",
- "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==",
- "dev": true
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
- "dev": true
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pathval": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
- "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/pbkdf2": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
- "dev": true,
- "dependencies": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- },
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
- "dev": true,
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "dev": true,
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "node_modules/promise": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz",
- "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==",
- "dev": true,
- "dependencies": {
- "asap": "~2.0.6"
- }
- },
- "node_modules/promise-readable": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/promise-readable/-/promise-readable-5.0.4.tgz",
- "integrity": "sha512-v1MqYyLQvopoi+FOVL+HErz4TB7lpaZf7H+pQo8vW6yAmJ1QZVDww7XTTwK+gqzQZylmhrlS3CaHQzLkKorZjA==",
- "dependencies": {
- "core-js": "^3.6.1"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "dev": true,
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true
- },
- "node_modules/public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/public-encrypt/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dev": true,
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/query-string": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
- "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
- "dev": true,
- "dependencies": {
- "decode-uri-component": "^0.2.0",
- "object-assign": "^4.1.0",
- "strict-uri-encode": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "dev": true,
- "dependencies": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
- "dev": true,
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/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==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
- "dev": true,
- "dependencies": {
- "resolve": "^1.1.6"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/recursive-readdir": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
- "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
- "dev": true,
- "dependencies": {
- "minimatch": "3.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/recursive-readdir/node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/reduce-flatten": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz",
- "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/req-cwd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz",
- "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==",
- "dev": true,
- "dependencies": {
- "req-from": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/req-from": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz",
- "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==",
- "dev": true,
- "dependencies": {
- "resolve-from": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
- "dev": true,
- "dependencies": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/request-promise-core": {
- "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,
- "dependencies": {
- "lodash": "^4.17.19"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "peerDependencies": {
- "request": "^2.34"
- }
- },
- "node_modules/request-promise-native": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
- "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
- "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142",
- "dev": true,
- "dependencies": {
- "request-promise-core": "1.1.4",
- "stealthy-require": "^1.1.1",
- "tough-cookie": "^2.3.3"
- },
- "engines": {
- "node": ">=0.12.0"
- },
- "peerDependencies": {
- "request": "^2.34"
- }
- },
- "node_modules/request/node_modules/qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/request/node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
- "dev": true,
- "bin": {
- "uuid": "bin/uuid"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
- "node_modules/resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
- "dev": true,
- "dependencies": {
- "path-parse": "^1.0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-alpn": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
- "dev": true
- },
- "node_modules/resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
- "dev": true,
- "dependencies": {
- "lowercase-keys": "^1.0.0"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
- "dependencies": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "node_modules/rlp": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz",
- "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.0"
- },
- "bin": {
- "rlp": "bin/rlp"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/run-parallel-limit": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz",
- "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/rustbn.js": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz",
- "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==",
- "dev": true
- },
- "node_modules/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==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-regex": "^1.1.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "node_modules/sc-istanbul": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz",
- "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==",
- "dev": true,
- "dependencies": {
- "abbrev": "1.0.x",
- "async": "1.x",
- "escodegen": "1.8.x",
- "esprima": "2.7.x",
- "glob": "^5.0.15",
- "handlebars": "^4.0.1",
- "js-yaml": "3.x",
- "mkdirp": "0.5.x",
- "nopt": "3.x",
- "once": "1.x",
- "resolve": "1.1.x",
- "supports-color": "^3.1.0",
- "which": "^1.1.1",
- "wordwrap": "^1.0.0"
- },
- "bin": {
- "istanbul": "lib/cli.js"
- }
- },
- "node_modules/sc-istanbul/node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/sc-istanbul/node_modules/async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==",
- "dev": true
- },
- "node_modules/sc-istanbul/node_modules/glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==",
- "dev": true,
- "dependencies": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/sc-istanbul/node_modules/has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sc-istanbul/node_modules/js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/sc-istanbul/node_modules/js-yaml/node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/sc-istanbul/node_modules/resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==",
- "dev": true
- },
- "node_modules/sc-istanbul/node_modules/supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==",
- "dev": true,
- "dependencies": {
- "has-flag": "^1.0.0"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/scrypt-js": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
- "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==",
- "dev": true
- },
- "node_modules/secp256k1": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz",
- "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "elliptic": "^6.5.4",
- "node-addon-api": "^2.0.0",
- "node-gyp-build": "^4.2.0"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "dev": true,
- "dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/send/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- },
- "node_modules/serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "dev": true,
- "dependencies": {
- "randombytes": "^2.1.0"
- }
- },
- "node_modules/serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
- "dev": true,
- "dependencies": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.18.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/servify": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz",
- "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==",
- "dev": true,
- "dependencies": {
- "body-parser": "^1.16.0",
- "cors": "^2.8.1",
- "express": "^4.14.0",
- "request": "^2.79.0",
- "xhr": "^2.3.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
- "dev": true
- },
- "node_modules/setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
- "dev": true
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "dev": true
- },
- "node_modules/sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- },
- "bin": {
- "sha.js": "bin.js"
- }
- },
- "node_modules/sha1": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
- "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==",
- "dev": true,
- "dependencies": {
- "charenc": ">= 0.0.1",
- "crypt": ">= 0.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/sha3": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz",
- "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==",
- "dependencies": {
- "buffer": "6.0.3"
- }
- },
- "node_modules/shelljs": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
- "dev": true,
- "dependencies": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- },
- "bin": {
- "shjs": "bin/shjs"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/simple-get": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz",
- "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==",
- "dev": true,
- "dependencies": {
- "decompress-response": "^3.3.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/slice-ansi/node_modules/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
- },
- "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/solc": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz",
- "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==",
- "dev": true,
- "dependencies": {
- "command-exists": "^1.2.8",
- "commander": "3.0.2",
- "follow-redirects": "^1.12.1",
- "fs-extra": "^0.30.0",
- "js-sha3": "0.8.0",
- "memorystream": "^0.3.1",
- "require-from-string": "^2.0.0",
- "semver": "^5.5.0",
- "tmp": "0.0.33"
- },
- "bin": {
- "solcjs": "solcjs"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/solc/node_modules/fs-extra": {
- "version": "0.30.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
- "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^2.1.0",
- "klaw": "^1.0.0",
- "path-is-absolute": "^1.0.0",
- "rimraf": "^2.2.8"
- }
- },
- "node_modules/solc/node_modules/jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/solc/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/solidity-coverage": {
- "version": "0.7.22",
- "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.22.tgz",
- "integrity": "sha512-I6Zd5tsFY+gmj1FDIp6w7OrUePx6ZpMgKQZg7dWgPaQHePLi3Jk+iJ8lwZxsWEoNy2Lcv91rMxATWHqRaFdQpw==",
- "dev": true,
- "dependencies": {
- "@solidity-parser/parser": "^0.14.0",
- "@truffle/provider": "^0.2.24",
- "chalk": "^2.4.2",
- "death": "^1.1.0",
- "detect-port": "^1.3.0",
- "fs-extra": "^8.1.0",
- "ghost-testrpc": "^0.0.2",
- "global-modules": "^2.0.0",
- "globby": "^10.0.1",
- "jsonschema": "^1.2.4",
- "lodash": "^4.17.15",
- "node-emoji": "^1.10.0",
- "pify": "^4.0.1",
- "recursive-readdir": "^2.2.2",
- "sc-istanbul": "^0.4.5",
- "semver": "^7.3.4",
- "shelljs": "^0.8.3",
- "web3-utils": "^1.3.0"
- },
- "bin": {
- "solidity-coverage": "plugins/bin.js"
- }
- },
- "node_modules/solidity-coverage/node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/solidity-coverage/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/solidity-coverage/node_modules/lru-cache": {
- "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,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/solidity-coverage/node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/solidity-coverage/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/solidity-coverage/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
- "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "amdefine": ">=0.0.4"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
- },
- "node_modules/sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dev": true,
- "dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sshpk/node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
- },
- "node_modules/stacktrace-parser": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz",
- "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.7.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/stacktrace-parser/node_modules/type-fest": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz",
- "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/stealthy-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/streamsearch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
- "dev": true,
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/strict-uri-encode": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
- "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-format": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz",
- "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==",
- "dev": true
- },
- "node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/string.prototype.trimend": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
- "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
- "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/strip-hex-prefix": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz",
- "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==",
- "dev": true,
- "dependencies": {
- "is-hex-prefixed": "1.0.0"
- },
- "engines": {
- "node": ">=6.5.0",
- "npm": ">=3"
- }
- },
- "node_modules/strip-json-comments": {
- "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,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/swarm-js": {
- "version": "0.1.42",
- "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz",
- "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==",
- "dev": true,
- "dependencies": {
- "bluebird": "^3.5.0",
- "buffer": "^5.0.5",
- "eth-lib": "^0.1.26",
- "fs-extra": "^4.0.2",
- "got": "^11.8.5",
- "mime-types": "^2.1.16",
- "mkdirp-promise": "^5.0.1",
- "mock-fs": "^4.1.0",
- "setimmediate": "^1.0.5",
- "tar": "^4.0.2",
- "xhr-request": "^1.0.1"
- }
- },
- "node_modules/swarm-js/node_modules/@sindresorhus/is": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/is?sponsor=1"
- }
- },
- "node_modules/swarm-js/node_modules/@szmarczak/http-timer": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
- "dev": true,
- "dependencies": {
- "defer-to-connect": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/swarm-js/node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/swarm-js/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/swarm-js/node_modules/cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
- "dev": true,
- "dependencies": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/swarm-js/node_modules/decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "dev": true,
- "dependencies": {
- "mimic-response": "^3.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/swarm-js/node_modules/defer-to-connect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/swarm-js/node_modules/fs-extra": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
- "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "node_modules/swarm-js/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/swarm-js/node_modules/got": {
- "version": "11.8.5",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
- "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
- "dev": true,
- "dependencies": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.2",
- "decompress-response": "^6.0.0",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.0.0"
- },
- "engines": {
- "node": ">=10.19.0"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/got?sponsor=1"
- }
- },
- "node_modules/swarm-js/node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
- },
- "node_modules/swarm-js/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/swarm-js/node_modules/keyv": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.0.tgz",
- "integrity": "sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==",
- "dev": true,
- "dependencies": {
- "json-buffer": "3.0.1"
- }
- },
- "node_modules/swarm-js/node_modules/lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/swarm-js/node_modules/mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/swarm-js/node_modules/normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/swarm-js/node_modules/p-cancelable": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/swarm-js/node_modules/responselike": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
- "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
- "dev": true,
- "dependencies": {
- "lowercase-keys": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/swarm-js/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/sync-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
- "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
- "dev": true,
- "dependencies": {
- "http-response-object": "^3.0.1",
- "sync-rpc": "^1.2.1",
- "then-request": "^6.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/sync-rpc": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
- "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
- "dev": true,
- "dependencies": {
- "get-port": "^3.1.0"
- }
- },
- "node_modules/table": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
- "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
- "dev": true,
- "dependencies": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/table-layout": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz",
- "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==",
- "dev": true,
- "dependencies": {
- "array-back": "^4.0.1",
- "deep-extend": "~0.6.0",
- "typical": "^5.2.0",
- "wordwrapjs": "^4.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/table-layout/node_modules/array-back": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
- "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/table-layout/node_modules/typical": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
- "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/table/node_modules/ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/table/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/table/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/table/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- },
- "node_modules/table/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/table/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tar": {
- "version": "4.4.19",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
- "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==",
- "dev": true,
- "dependencies": {
- "chownr": "^1.1.4",
- "fs-minipass": "^1.2.7",
- "minipass": "^2.9.0",
- "minizlib": "^1.3.3",
- "mkdirp": "^0.5.5",
- "safe-buffer": "^5.2.1",
- "yallist": "^3.1.1"
- },
- "engines": {
- "node": ">=4.5"
- }
- },
- "node_modules/then-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
- "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
- "dev": true,
- "dependencies": {
- "@types/concat-stream": "^1.6.0",
- "@types/form-data": "0.0.33",
- "@types/node": "^8.0.0",
- "@types/qs": "^6.2.31",
- "caseless": "~0.12.0",
- "concat-stream": "^1.6.0",
- "form-data": "^2.2.0",
- "http-basic": "^8.1.1",
- "http-response-object": "^3.0.1",
- "promise": "^8.0.0",
- "qs": "^6.4.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/then-request/node_modules/@types/node": {
- "version": "8.10.66",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
- "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==",
- "dev": true
- },
- "node_modules/threads": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz",
- "integrity": "sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==",
- "dependencies": {
- "callsites": "^3.1.0",
- "debug": "^4.2.0",
- "is-observable": "^2.1.0",
- "observable-fns": "^0.6.1"
- },
- "funding": {
- "url": "https://github.com/andywer/threads.js?sponsor=1"
- },
- "optionalDependencies": {
- "tiny-worker": ">= 2"
- }
- },
- "node_modules/timed-out": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
- "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/tiny-worker": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz",
- "integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==",
- "optional": true,
- "dependencies": {
- "esm": "^3.2.25"
- }
- },
- "node_modules/tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
- "node_modules/to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/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,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/tough-cookie": {
- "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,
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/ts-command-line-args": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.3.1.tgz",
- "integrity": "sha512-FR3y7pLl/fuUNSmnPhfLArGqRrpojQgIEEOVzYx9DhTmfIN7C9RWSfpkJEF4J+Gk7aVx5pak8I7vWZsaN4N84g==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.0",
- "command-line-args": "^5.1.1",
- "command-line-usage": "^6.1.0",
- "string-format": "^2.0.0"
- },
- "bin": {
- "write-markdown": "dist/write-markdown.js"
- }
- },
- "node_modules/ts-command-line-args/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/ts-command-line-args/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/ts-command-line-args/node_modules/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/ts-command-line-args/node_modules/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
- },
- "node_modules/ts-command-line-args/node_modules/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ts-command-line-args/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ts-essentials": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz",
- "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==",
- "dev": true,
- "peerDependencies": {
- "typescript": ">=3.7.0"
- }
- },
- "node_modules/ts-node": {
- "version": "10.9.1",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
- "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
- "dev": true,
- "dependencies": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
- }
- },
- "node_modules/ts-node/node_modules/diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- },
- "node_modules/tsort": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz",
- "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==",
- "dev": true
- },
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/tweetnacl": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
- "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==",
- "dev": true
- },
- "node_modules/tweetnacl-util": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz",
- "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==",
- "dev": true
- },
- "node_modules/type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- },
- "node_modules/type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typechain": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.0.tgz",
- "integrity": "sha512-5jToLgKTjHdI1VKqs/K8BLYy42Sr3o8bV5ojh4MnR9ExHO83cyyUdw+7+vMJCpKXUiVUvARM4qmHTFuyaCMAZQ==",
- "dev": true,
- "dependencies": {
- "@types/prettier": "^2.1.1",
- "debug": "^4.3.1",
- "fs-extra": "^7.0.0",
- "glob": "7.1.7",
- "js-sha3": "^0.8.0",
- "lodash": "^4.17.15",
- "mkdirp": "^1.0.4",
- "prettier": "^2.3.1",
- "ts-command-line-args": "^2.2.0",
- "ts-essentials": "^7.0.1"
- },
- "bin": {
- "typechain": "dist/cli/cli.js"
- },
- "peerDependencies": {
- "typescript": ">=4.3.0"
- }
- },
- "node_modules/typechain/node_modules/fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/typechain/node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "dependencies": {
- "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"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/typechain/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/typechain/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/typechain/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
- "dev": true
- },
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
- "node_modules/typescript": {
- "version": "4.8.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
- "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/typical": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
- "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/uglify-js": {
- "version": "3.17.3",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.3.tgz",
- "integrity": "sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg==",
- "dev": true,
- "optional": true,
- "bin": {
- "uglifyjs": "bin/uglifyjs"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
- "dev": true
- },
- "node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/undici": {
- "version": "5.11.0",
- "resolved": "https://registry.npmjs.org/undici/-/undici-5.11.0.tgz",
- "integrity": "sha512-oWjWJHzFet0Ow4YZBkyiJwiK5vWqEYoH7BINzJAJOLedZ++JpAlCbUktW2GQ2DS2FpKmxD/JMtWUUWl1BtghGw==",
- "dev": true,
- "dependencies": {
- "busboy": "^1.6.0"
- },
- "engines": {
- "node": ">=12.18"
- }
- },
- "node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
- "dev": true,
- "dependencies": {
- "prepend-http": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/url-set-query": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz",
- "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==",
- "dev": true
- },
- "node_modules/utf-8-validate": {
- "version": "5.0.9",
- "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz",
- "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "node-gyp-build": "^4.3.0"
- },
- "engines": {
- "node": ">=6.14.2"
- }
- },
- "node_modules/utf8": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz",
- "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==",
- "dev": true
- },
- "node_modules/util": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz",
- "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "is-arguments": "^1.0.4",
- "is-generator-function": "^1.0.7",
- "is-typed-array": "^1.1.3",
- "safe-buffer": "^5.1.2",
- "which-typed-array": "^1.1.2"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true,
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true
- },
- "node_modules/varint": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz",
- "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==",
- "dev": true
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "node_modules/web3": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.4.tgz",
- "integrity": "sha512-iFGK5jO32vnXM/ASaJBaI0+gVR6uHozvYdxkdhaeOCD6HIQ4iIXadbO2atVpE9oc/H8l2MovJ4LtPhG7lIBN8A==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "web3-bzz": "1.7.4",
- "web3-core": "1.7.4",
- "web3-eth": "1.7.4",
- "web3-eth-personal": "1.7.4",
- "web3-net": "1.7.4",
- "web3-shh": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-bzz": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.4.tgz",
- "integrity": "sha512-w9zRhyEqTK/yi0LGRHjZMcPCfP24LBjYXI/9YxFw9VqsIZ9/G0CRCnUt12lUx0A56LRAMpF7iQ8eA73aBcO29Q==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "@types/node": "^12.12.6",
- "got": "9.6.0",
- "swarm-js": "^0.1.40"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-bzz/node_modules/@types/node": {
- "version": "12.20.55",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
- "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
- "dev": true
- },
- "node_modules/web3-core": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.7.4.tgz",
- "integrity": "sha512-L0DCPlIh9bgIED37tYbe7bsWrddoXYc897ANGvTJ6MFkSNGiMwDkTLWSgYd9Mf8qu8b4iuPqXZHMwIo4atoh7Q==",
- "dev": true,
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^12.12.6",
- "bignumber.js": "^9.0.0",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-core-requestmanager": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-core-helpers": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.4.tgz",
- "integrity": "sha512-F8PH11qIkE/LpK4/h1fF/lGYgt4B6doeMi8rukeV/s4ivseZHHslv1L6aaijLX/g/j4PsFmR42byynBI/MIzFg==",
- "dev": true,
- "dependencies": {
- "web3-eth-iban": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-core-helpers/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-core-method": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.4.tgz",
- "integrity": "sha512-56K7pq+8lZRkxJyzf5MHQPI9/VL3IJLoy4L/+q8HRdZJ3CkB1DkXYaXGU2PeylG1GosGiSzgIfu1ljqS7CP9xQ==",
- "dev": true,
- "dependencies": {
- "@ethersproject/transactions": "^5.6.2",
- "web3-core-helpers": "1.7.4",
- "web3-core-promievent": "1.7.4",
- "web3-core-subscriptions": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-core-method/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-core-promievent": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.4.tgz",
- "integrity": "sha512-o4uxwXKDldN7ER7VUvDfWsqTx9nQSP1aDssi1XYXeYC2xJbVo0n+z6ryKtmcoWoRdRj7uSpVzal3nEmlr480mA==",
- "dev": true,
- "dependencies": {
- "eventemitter3": "4.0.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-core-requestmanager": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.4.tgz",
- "integrity": "sha512-IuXdAm65BQtPL4aI6LZJJOrKAs0SM5IK2Cqo2/lMNvVMT9Kssq6qOk68Uf7EBDH0rPuINi+ReLP+uH+0g3AnPA==",
- "dev": true,
- "dependencies": {
- "util": "^0.12.0",
- "web3-core-helpers": "1.7.4",
- "web3-providers-http": "1.7.4",
- "web3-providers-ipc": "1.7.4",
- "web3-providers-ws": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-core-subscriptions": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.4.tgz",
- "integrity": "sha512-VJvKWaXRyxk2nFWumOR94ut9xvjzMrRtS38c4qj8WBIRSsugrZr5lqUwgndtj0qx4F+50JhnU++QEqUEAtKm3g==",
- "dev": true,
- "dependencies": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-core/node_modules/@types/node": {
- "version": "12.20.55",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
- "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
- "dev": true
- },
- "node_modules/web3-core/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.4.tgz",
- "integrity": "sha512-JG0tTMv0Ijj039emXNHi07jLb0OiWSA9O24MRSk5vToTQyDNXihdF2oyq85LfHuF690lXZaAXrjhtLNlYqb7Ug==",
- "dev": true,
- "dependencies": {
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-core-subscriptions": "1.7.4",
- "web3-eth-abi": "1.7.4",
- "web3-eth-accounts": "1.7.4",
- "web3-eth-contract": "1.7.4",
- "web3-eth-ens": "1.7.4",
- "web3-eth-iban": "1.7.4",
- "web3-eth-personal": "1.7.4",
- "web3-net": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-abi": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.4.tgz",
- "integrity": "sha512-eMZr8zgTbqyL9MCTCAvb67RbVyN5ZX7DvA0jbLOqRWCiw+KlJKTGnymKO6jPE8n5yjk4w01e165Qb11hTDwHgg==",
- "dev": true,
- "dependencies": {
- "@ethersproject/abi": "^5.6.3",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-abi/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-accounts": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.4.tgz",
- "integrity": "sha512-Y9vYLRKP7VU7Cgq6wG1jFaG2k3/eIuiTKAG8RAuQnb6Cd9k5BRqTm5uPIiSo0AP/u11jDomZ8j7+WEgkU9+Btw==",
- "dev": true,
- "dependencies": {
- "@ethereumjs/common": "^2.5.0",
- "@ethereumjs/tx": "^3.3.2",
- "crypto-browserify": "3.12.0",
- "eth-lib": "0.2.8",
- "ethereumjs-util": "^7.0.10",
- "scrypt-js": "^3.0.1",
- "uuid": "3.3.2",
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-accounts/node_modules/eth-lib": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz",
- "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.11.6",
- "elliptic": "^6.4.0",
- "xhr-request-promise": "^0.1.2"
- }
- },
- "node_modules/web3-eth-accounts/node_modules/eth-lib/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "node_modules/web3-eth-accounts/node_modules/uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
- "dev": true,
- "bin": {
- "uuid": "bin/uuid"
- }
- },
- "node_modules/web3-eth-accounts/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-contract": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.4.tgz",
- "integrity": "sha512-ZgSZMDVI1pE9uMQpK0T0HDT2oewHcfTCv0osEqf5qyn5KrcQDg1GT96/+S0dfqZ4HKj4lzS5O0rFyQiLPQ8LzQ==",
- "dev": true,
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-core-promievent": "1.7.4",
- "web3-core-subscriptions": "1.7.4",
- "web3-eth-abi": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-contract/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-ens": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.4.tgz",
- "integrity": "sha512-Gw5CVU1+bFXP5RVXTCqJOmHn71X2ghNk9VcEH+9PchLr0PrKbHTA3hySpsPco1WJAyK4t8SNQVlNr3+bJ6/WZA==",
- "dev": true,
- "dependencies": {
- "content-hash": "^2.5.2",
- "eth-ens-namehash": "2.0.8",
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-promievent": "1.7.4",
- "web3-eth-abi": "1.7.4",
- "web3-eth-contract": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-ens/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-iban": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.4.tgz",
- "integrity": "sha512-XyrsgWlZQMv5gRcjXMsNvAoCRvV5wN7YCfFV5+tHUCqN8g9T/o4XUS20vDWD0k4HNiAcWGFqT1nrls02MGZ08w==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-iban/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-personal": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.4.tgz",
- "integrity": "sha512-O10C1Hln5wvLQsDhlhmV58RhXo+GPZ5+W76frSsyIrkJWLtYQTCr5WxHtRC9sMD1idXLqODKKgI2DL+7xeZ0/g==",
- "dev": true,
- "dependencies": {
- "@types/node": "^12.12.6",
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-net": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth-personal/node_modules/@types/node": {
- "version": "12.20.55",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
- "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
- "dev": true
- },
- "node_modules/web3-eth-personal/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-eth/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-net": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.7.4.tgz",
- "integrity": "sha512-d2Gj+DIARHvwIdmxFQ4PwAAXZVxYCR2lET0cxz4KXbE5Og3DNjJi+MoPkX+WqoUXqimu/EOd4Cd+7gefqVAFDg==",
- "dev": true,
- "dependencies": {
- "web3-core": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-net/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-providers-http": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.4.tgz",
- "integrity": "sha512-AU+/S+49rcogUER99TlhW+UBMk0N2DxvN54CJ2pK7alc2TQ7+cprNPLHJu4KREe8ndV0fT6JtWUfOMyTvl+FRA==",
- "dev": true,
- "dependencies": {
- "web3-core-helpers": "1.7.4",
- "xhr2-cookies": "1.1.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-providers-ipc": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.4.tgz",
- "integrity": "sha512-jhArOZ235dZy8fS8090t60nTxbd1ap92ibQw5xIrAQ9m7LcZKNfmLAQUVsD+3dTFvadRMi6z1vCO7zRi84gWHw==",
- "dev": true,
- "dependencies": {
- "oboe": "2.1.5",
- "web3-core-helpers": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-providers-ws": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.4.tgz",
- "integrity": "sha512-g72X77nrcHMFU8hRzQJzfgi/072n8dHwRCoTw+WQrGp+XCQ71fsk2qIu3Tp+nlp5BPn8bRudQbPblVm2uT4myQ==",
- "dev": true,
- "dependencies": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.7.4",
- "websocket": "^1.0.32"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-shh": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.4.tgz",
- "integrity": "sha512-mlSZxSYcMkuMCxqhTYnZkUdahZ11h+bBv/8TlkXp/IHpEe4/Gg+KAbmfudakq3EzG/04z70XQmPgWcUPrsEJ+A==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "web3-core": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-core-subscriptions": "1.7.4",
- "web3-net": "1.7.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3-utils": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.8.0.tgz",
- "integrity": "sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/web3/node_modules/web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/websocket": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
- "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
- "dev": true,
- "dependencies": {
- "bufferutil": "^4.0.1",
- "debug": "^2.2.0",
- "es5-ext": "^0.10.50",
- "typedarray-to-buffer": "^3.1.5",
- "utf-8-validate": "^5.0.2",
- "yaeti": "^0.0.6"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/websocket/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/websocket/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
- "node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
- "dependencies": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==",
- "dev": true
- },
- "node_modules/which-typed-array": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz",
- "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==",
- "dev": true,
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
- "for-each": "^0.3.3",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.9"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "dev": true,
- "dependencies": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
- "dev": true
- },
- "node_modules/wordwrapjs": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz",
- "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==",
- "dev": true,
- "dependencies": {
- "reduce-flatten": "^2.0.0",
- "typical": "^5.2.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/wordwrapjs/node_modules/typical": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
- "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/workerpool": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
- "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
- "dev": true
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/wrap-ansi/node_modules/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
- },
- "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "node_modules/ws": {
- "version": "7.4.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
- "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
- "dev": true,
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xhr": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
- "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
- "dev": true,
- "dependencies": {
- "global": "~4.4.0",
- "is-function": "^1.0.1",
- "parse-headers": "^2.0.0",
- "xtend": "^4.0.0"
- }
- },
- "node_modules/xhr-request": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz",
- "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==",
- "dev": true,
- "dependencies": {
- "buffer-to-arraybuffer": "^0.0.5",
- "object-assign": "^4.1.1",
- "query-string": "^5.0.1",
- "simple-get": "^2.7.0",
- "timed-out": "^4.0.1",
- "url-set-query": "^1.0.0",
- "xhr": "^2.0.4"
- }
- },
- "node_modules/xhr-request-promise": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz",
- "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==",
- "dev": true,
- "dependencies": {
- "xhr-request": "^1.1.0"
- }
- },
- "node_modules/xhr2-cookies": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz",
- "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==",
- "dev": true,
- "dependencies": {
- "cookiejar": "^2.1.1"
- }
- },
- "node_modules/xmlhttprequest": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
- "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true,
- "engines": {
- "node": ">=0.4"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yaeti": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
- "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==",
- "dev": true,
- "engines": {
- "node": ">=0.10.32"
- }
- },
- "node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
- },
- "node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-unparser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
- "dev": true,
- "dependencies": {
- "camelcase": "^6.0.0",
- "decamelize": "^4.0.0",
- "flat": "^5.0.2",
- "is-plain-obj": "^2.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- },
- "dependencies": {
- "@cspotcode/source-map-support": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
- "dev": true,
- "requires": {
- "@jridgewell/trace-mapping": "0.3.9"
- }
- },
- "@ethereumjs/common": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz",
- "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==",
- "dev": true,
- "requires": {
- "crc-32": "^1.2.0",
- "ethereumjs-util": "^7.1.5"
- }
- },
- "@ethereumjs/tx": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz",
- "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==",
- "dev": true,
- "requires": {
- "@ethereumjs/common": "^2.6.4",
- "ethereumjs-util": "^7.1.5"
- }
- },
- "@ethersproject/abi": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz",
- "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==",
- "dev": true,
- "requires": {
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/hash": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "@ethersproject/abstract-provider": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz",
- "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==",
- "dev": true,
- "requires": {
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/networks": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "@ethersproject/web": "^5.7.0"
- }
- },
- "@ethersproject/abstract-signer": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz",
- "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==",
- "dev": true,
- "requires": {
- "@ethersproject/abstract-provider": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0"
- }
- },
- "@ethersproject/address": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz",
- "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==",
- "dev": true,
- "requires": {
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/rlp": "^5.7.0"
- }
- },
- "@ethersproject/base64": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz",
- "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0"
- }
- },
- "@ethersproject/basex": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz",
- "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/properties": "^5.7.0"
- }
- },
- "@ethersproject/bignumber": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz",
- "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "bn.js": "^5.2.1"
- }
- },
- "@ethersproject/bytes": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz",
- "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==",
- "dev": true,
- "requires": {
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "@ethersproject/constants": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz",
- "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==",
- "dev": true,
- "requires": {
- "@ethersproject/bignumber": "^5.7.0"
- }
- },
- "@ethersproject/contracts": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz",
- "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==",
- "dev": true,
- "requires": {
- "@ethersproject/abi": "^5.7.0",
- "@ethersproject/abstract-provider": "^5.7.0",
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0"
- }
- },
- "@ethersproject/hash": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz",
- "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==",
- "dev": true,
- "requires": {
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/base64": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "@ethersproject/hdnode": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz",
- "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==",
- "dev": true,
- "requires": {
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/basex": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/pbkdf2": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/sha2": "^5.7.0",
- "@ethersproject/signing-key": "^5.7.0",
- "@ethersproject/strings": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "@ethersproject/wordlists": "^5.7.0"
- }
- },
- "@ethersproject/json-wallets": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz",
- "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==",
- "dev": true,
- "requires": {
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/hdnode": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/pbkdf2": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/random": "^5.7.0",
- "@ethersproject/strings": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "aes-js": "3.0.0",
- "scrypt-js": "3.0.1"
- }
- },
- "@ethersproject/keccak256": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz",
- "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "js-sha3": "0.8.0"
- }
- },
- "@ethersproject/logger": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz",
- "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==",
- "dev": true
- },
- "@ethersproject/networks": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz",
- "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==",
- "dev": true,
- "requires": {
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "@ethersproject/pbkdf2": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz",
- "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/sha2": "^5.7.0"
- }
- },
- "@ethersproject/properties": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz",
- "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==",
- "dev": true,
- "requires": {
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "@ethersproject/providers": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.1.tgz",
- "integrity": "sha512-vZveG/DLyo+wk4Ga1yx6jSEHrLPgmTt+dFv0dv8URpVCRf0jVhalps1jq/emN/oXnMRsC7cQgAF32DcXLL7BPQ==",
- "dev": true,
- "requires": {
- "@ethersproject/abstract-provider": "^5.7.0",
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/base64": "^5.7.0",
- "@ethersproject/basex": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/hash": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/networks": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/random": "^5.7.0",
- "@ethersproject/rlp": "^5.7.0",
- "@ethersproject/sha2": "^5.7.0",
- "@ethersproject/strings": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "@ethersproject/web": "^5.7.0",
- "bech32": "1.1.4",
- "ws": "7.4.6"
- }
- },
- "@ethersproject/random": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz",
- "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "@ethersproject/rlp": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz",
- "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "@ethersproject/sha2": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz",
- "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "hash.js": "1.1.7"
- }
- },
- "@ethersproject/signing-key": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz",
- "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "bn.js": "^5.2.1",
- "elliptic": "6.5.4",
- "hash.js": "1.1.7"
- }
- },
- "@ethersproject/solidity": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz",
- "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==",
- "dev": true,
- "requires": {
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/sha2": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "@ethersproject/strings": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz",
- "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "@ethersproject/transactions": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz",
- "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==",
- "dev": true,
- "requires": {
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/rlp": "^5.7.0",
- "@ethersproject/signing-key": "^5.7.0"
- }
- },
- "@ethersproject/units": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz",
- "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==",
- "dev": true,
- "requires": {
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/constants": "^5.7.0",
- "@ethersproject/logger": "^5.7.0"
- }
- },
- "@ethersproject/wallet": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz",
- "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==",
- "dev": true,
- "requires": {
- "@ethersproject/abstract-provider": "^5.7.0",
- "@ethersproject/abstract-signer": "^5.7.0",
- "@ethersproject/address": "^5.7.0",
- "@ethersproject/bignumber": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/hash": "^5.7.0",
- "@ethersproject/hdnode": "^5.7.0",
- "@ethersproject/json-wallets": "^5.7.0",
- "@ethersproject/keccak256": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/random": "^5.7.0",
- "@ethersproject/signing-key": "^5.7.0",
- "@ethersproject/transactions": "^5.7.0",
- "@ethersproject/wordlists": "^5.7.0"
- }
- },
- "@ethersproject/web": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz",
- "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==",
- "dev": true,
- "requires": {
- "@ethersproject/base64": "^5.7.0",
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "@ethersproject/wordlists": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz",
- "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==",
- "dev": true,
- "requires": {
- "@ethersproject/bytes": "^5.7.0",
- "@ethersproject/hash": "^5.7.0",
- "@ethersproject/logger": "^5.7.0",
- "@ethersproject/properties": "^5.7.0",
- "@ethersproject/strings": "^5.7.0"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "dev": true
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "dev": true
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "dev": true,
- "requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "@metamask/eth-sig-util": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz",
- "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==",
- "dev": true,
- "requires": {
- "ethereumjs-abi": "^0.6.8",
- "ethereumjs-util": "^6.2.1",
- "ethjs-util": "^0.1.6",
- "tweetnacl": "^1.0.3",
- "tweetnacl-util": "^0.15.1"
- },
- "dependencies": {
- "@types/bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "ethereumjs-util": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz",
- "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==",
- "dev": true,
- "requires": {
- "@types/bn.js": "^4.11.3",
- "bn.js": "^4.11.0",
- "create-hash": "^1.1.2",
- "elliptic": "^6.5.2",
- "ethereum-cryptography": "^0.1.3",
- "ethjs-util": "0.1.6",
- "rlp": "^2.2.3"
- }
- }
- }
- },
- "@noble/hashes": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.2.tgz",
- "integrity": "sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==",
- "dev": true
- },
- "@noble/secp256k1": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.3.tgz",
- "integrity": "sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ==",
- "dev": true
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@noir-lang/aztec_backend": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@noir-lang/aztec_backend/-/aztec_backend-0.12.0.tgz",
- "integrity": "sha512-X6Pa+qt/rroVwT1V4zPzKDEDU39jPXRhIKog3N6qaAdlF/V1Xsk/FPTPS6r7+3tjVhTquX0lDCRaxqSCdx/oqw=="
- },
- "@noir-lang/barretenberg": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/@noir-lang/barretenberg/-/barretenberg-2.19.0.tgz",
- "integrity": "sha512-AnqebO0HRk6kEFyhTh47VQqUTE+PrG5UuIATjAoCSSkpcoLIX58esouuYoLZbJ+89PCLTXeprJUp+vrlnmyRzQ==",
- "requires": {
- "@noir-lang/aztec_backend": "0.11.0",
- "@types/detect-node": "^2.0.0",
- "@types/levelup": "^4.3.0",
- "buffer-browserify": "^0.2.5",
- "debug": "^4.1.1",
- "detect-node": "^2.0.4",
- "fs-extra": "10.0.0",
- "is-node": "^1.0.2",
- "levelup": "^5.0.0",
- "memdown": "^6.0.0",
- "node-fetch": "2.6.1",
- "promise-readable": "^5.0.4",
- "sha3": "^2.1.3",
- "threads": "1.7.0",
- "tslib": "^2.0.0"
- },
- "dependencies": {
- "@noir-lang/aztec_backend": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@noir-lang/aztec_backend/-/aztec_backend-0.11.0.tgz",
- "integrity": "sha512-gJIdSOeUClJGGt7j1cTD0skd3UjO4eeg1OSjQyj36NNf9A68PDnvCen/uT2aQncCVanREUUXxP586voxElWRYA=="
- }
- }
- },
- "@noir-lang/noir_wasm": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/@noir-lang/noir_wasm/-/noir_wasm-0.10.0.tgz",
- "integrity": "sha512-ZoNlOqjGxf0YDCQP/tmD+2KsCePvjc0xcMiefmNREDyE3rpDCUiLt6B7kaXztFqPxpT7hi8+ARFUx7cZyqqZtg=="
- },
- "@nomicfoundation/ethereumjs-block": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.0.0.tgz",
- "integrity": "sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-tx": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "ethereum-cryptography": "0.1.3"
- }
- },
- "@nomicfoundation/ethereumjs-blockchain": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.0.0.tgz",
- "integrity": "sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-block": "^4.0.0",
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-ethash": "^2.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "abstract-level": "^1.0.3",
- "debug": "^4.3.3",
- "ethereum-cryptography": "0.1.3",
- "level": "^8.0.0",
- "lru-cache": "^5.1.1",
- "memory-level": "^1.0.0"
- }
- },
- "@nomicfoundation/ethereumjs-common": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.0.0.tgz",
- "integrity": "sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "crc-32": "^1.2.0"
- }
- },
- "@nomicfoundation/ethereumjs-ethash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.0.tgz",
- "integrity": "sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-block": "^4.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "abstract-level": "^1.0.3",
- "bigint-crypto-utils": "^3.0.23",
- "ethereum-cryptography": "0.1.3"
- }
- },
- "@nomicfoundation/ethereumjs-evm": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.0.0.tgz",
- "integrity": "sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "@types/async-eventemitter": "^0.2.1",
- "async-eventemitter": "^0.2.4",
- "debug": "^4.3.3",
- "ethereum-cryptography": "0.1.3",
- "mcl-wasm": "^0.7.1",
- "rustbn.js": "~0.2.0"
- }
- },
- "@nomicfoundation/ethereumjs-rlp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.0.tgz",
- "integrity": "sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw==",
- "dev": true
- },
- "@nomicfoundation/ethereumjs-statemanager": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.0.tgz",
- "integrity": "sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "debug": "^4.3.3",
- "ethereum-cryptography": "0.1.3",
- "functional-red-black-tree": "^1.0.1"
- }
- },
- "@nomicfoundation/ethereumjs-trie": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.0.tgz",
- "integrity": "sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "ethereum-cryptography": "0.1.3",
- "readable-stream": "^3.6.0"
- }
- },
- "@nomicfoundation/ethereumjs-tx": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.0.0.tgz",
- "integrity": "sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "ethereum-cryptography": "0.1.3"
- }
- },
- "@nomicfoundation/ethereumjs-util": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.0.tgz",
- "integrity": "sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0-beta.2",
- "ethereum-cryptography": "0.1.3"
- }
- },
- "@nomicfoundation/ethereumjs-vm": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.0.0.tgz",
- "integrity": "sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w==",
- "dev": true,
- "requires": {
- "@nomicfoundation/ethereumjs-block": "^4.0.0",
- "@nomicfoundation/ethereumjs-blockchain": "^6.0.0",
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-evm": "^1.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-statemanager": "^1.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-tx": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "@types/async-eventemitter": "^0.2.1",
- "async-eventemitter": "^0.2.4",
- "debug": "^4.3.3",
- "ethereum-cryptography": "0.1.3",
- "functional-red-black-tree": "^1.0.1",
- "mcl-wasm": "^0.7.1",
- "rustbn.js": "~0.2.0"
- }
- },
- "@nomicfoundation/hardhat-chai-matchers": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-1.0.3.tgz",
- "integrity": "sha512-qEE7Drs2HSY+krH09TXm6P9LFogs0BqbUq6wPD7nQRhmJ+p5zoDaIZjM5WL1pHqU5MpGqya3y+BdwmTYBfU5UA==",
- "dev": true,
- "requires": {
- "@ethersproject/abi": "^5.1.2",
- "@types/chai-as-promised": "^7.1.3",
- "chai-as-promised": "^7.1.1",
- "chalk": "^2.4.2",
- "deep-eql": "^4.0.1",
- "ordinal": "^1.0.3"
- }
- },
- "@nomicfoundation/hardhat-network-helpers": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.6.tgz",
- "integrity": "sha512-a35iVD4ycF6AoTfllAnKm96IPIzzHpgKX/ep4oKc2bsUKFfMlacWdyntgC/7d5blyCTXfFssgNAvXDZfzNWVGQ==",
- "dev": true,
- "requires": {
- "ethereumjs-util": "^7.1.4"
- }
- },
- "@nomicfoundation/hardhat-toolbox": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-1.0.2.tgz",
- "integrity": "sha512-8CEgWSKUK2aMit+76Sez8n7UB0Ze1lwT+LcWxj4EFP30lQWOwOws048t6MTPfThH0BlSWjC6hJRr0LncIkc1Sw==",
- "dev": true,
- "requires": {}
- },
- "@nomicfoundation/solidity-analyzer": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.0.3.tgz",
- "integrity": "sha512-VFMiOQvsw7nx5bFmrmVp2Q9rhIjw2AFST4DYvWVVO9PMHPE23BY2+kyfrQ4J3xCMFC8fcBbGLt7l4q7m1SlTqg==",
- "dev": true,
- "requires": {
- "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.0.3",
- "@nomicfoundation/solidity-analyzer-darwin-x64": "0.0.3",
- "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.0.3",
- "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.0.3",
- "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.0.3",
- "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.0.3",
- "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.0.3",
- "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.0.3",
- "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.0.3",
- "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.0.3"
- }
- },
- "@nomicfoundation/solidity-analyzer-darwin-arm64": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.0.3.tgz",
- "integrity": "sha512-W+bIiNiZmiy+MTYFZn3nwjyPUO6wfWJ0lnXx2zZrM8xExKObMrhCh50yy8pQING24mHfpPFCn89wEB/iG7vZDw==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-darwin-x64": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.0.3.tgz",
- "integrity": "sha512-HuJd1K+2MgmFIYEpx46uzwEFjvzKAI765mmoMxy4K+Aqq1p+q7hHRlsFU2kx3NB8InwotkkIq3A5FLU1sI1WDw==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-freebsd-x64": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.0.3.tgz",
- "integrity": "sha512-2cR8JNy23jZaO/vZrsAnWCsO73asU7ylrHIe0fEsXbZYqBP9sMr+/+xP3CELDHJxUbzBY8zqGvQt1ULpyrG+Kw==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.0.3.tgz",
- "integrity": "sha512-Eyv50EfYbFthoOb0I1568p+eqHGLwEUhYGOxcRNywtlTE9nj+c+MT1LA53HnxD9GsboH4YtOOmJOulrjG7KtbA==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-linux-arm64-musl": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.0.3.tgz",
- "integrity": "sha512-V8grDqI+ivNrgwEt2HFdlwqV2/EQbYAdj3hbOvjrA8Qv+nq4h9jhQUxFpegYMDtpU8URJmNNlXgtfucSrAQwtQ==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-linux-x64-gnu": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.0.3.tgz",
- "integrity": "sha512-uRfVDlxtwT1vIy7MAExWAkRD4r9M79zMG7S09mCrWUn58DbLs7UFl+dZXBX0/8FTGYWHhOT/1Etw1ZpAf5DTrg==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-linux-x64-musl": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.0.3.tgz",
- "integrity": "sha512-8HPwYdLbhcPpSwsE0yiU/aZkXV43vlXT2ycH+XlOjWOnLfH8C41z0njK8DHRtEFnp4OVN6E7E5lHBBKDZXCliA==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.0.3.tgz",
- "integrity": "sha512-5WWcT6ZNvfCuxjlpZOY7tdvOqT1kIQYlDF9Q42wMpZ5aTm4PvjdCmFDDmmTvyXEBJ4WTVmY5dWNWaxy8h/E28g==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.0.3.tgz",
- "integrity": "sha512-P/LWGZwWkyjSwkzq6skvS2wRc3gabzAbk6Akqs1/Iiuggql2CqdLBkcYWL5Xfv3haynhL+2jlNkak+v2BTZI4A==",
- "dev": true,
- "optional": true
- },
- "@nomicfoundation/solidity-analyzer-win32-x64-msvc": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.0.3.tgz",
- "integrity": "sha512-4AcTtLZG1s/S5mYAIr/sdzywdNwJpOcdStGF3QMBzEt+cGn3MchMaS9b1gyhb2KKM2c39SmPF5fUuWq1oBSQZQ==",
- "dev": true,
- "optional": true
- },
- "@nomiclabs/hardhat-ethers": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.1.1.tgz",
- "integrity": "sha512-Gg0IFkT/DW3vOpih4/kMjeZCLYqtfgECLeLXTs7ZDPzcK0cfoc5wKk4nq5n/izCUzdhidO/Utd6ptF9JrWwWVA==",
- "dev": true,
- "requires": {}
- },
- "@nomiclabs/hardhat-etherscan": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.0.tgz",
- "integrity": "sha512-JroYgfN1AlYFkQTQ3nRwFi4o8NtZF7K/qFR2dxDUgHbCtIagkUseca9L4E/D2ScUm4XT40+8PbCdqZi+XmHyQA==",
- "dev": true,
- "requires": {
- "@ethersproject/abi": "^5.1.2",
- "@ethersproject/address": "^5.0.2",
- "cbor": "^5.0.2",
- "chalk": "^2.4.2",
- "debug": "^4.1.1",
- "fs-extra": "^7.0.1",
- "lodash": "^4.17.11",
- "semver": "^6.3.0",
- "table": "^6.8.0",
- "undici": "^5.4.0"
- },
- "dependencies": {
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- }
- }
- },
- "@scure/base": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz",
- "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==",
- "dev": true
- },
- "@scure/bip32": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.0.tgz",
- "integrity": "sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q==",
- "dev": true,
- "requires": {
- "@noble/hashes": "~1.1.1",
- "@noble/secp256k1": "~1.6.0",
- "@scure/base": "~1.1.0"
- }
- },
- "@scure/bip39": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
- "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
- "dev": true,
- "requires": {
- "@noble/hashes": "~1.1.1",
- "@scure/base": "~1.1.0"
- }
- },
- "@sentry/core": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz",
- "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==",
- "dev": true,
- "requires": {
- "@sentry/hub": "5.30.0",
- "@sentry/minimal": "5.30.0",
- "@sentry/types": "5.30.0",
- "@sentry/utils": "5.30.0",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
- "@sentry/hub": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz",
- "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==",
- "dev": true,
- "requires": {
- "@sentry/types": "5.30.0",
- "@sentry/utils": "5.30.0",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
- "@sentry/minimal": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz",
- "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==",
- "dev": true,
- "requires": {
- "@sentry/hub": "5.30.0",
- "@sentry/types": "5.30.0",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
- "@sentry/node": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz",
- "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==",
- "dev": true,
- "requires": {
- "@sentry/core": "5.30.0",
- "@sentry/hub": "5.30.0",
- "@sentry/tracing": "5.30.0",
- "@sentry/types": "5.30.0",
- "@sentry/utils": "5.30.0",
- "cookie": "^0.4.1",
- "https-proxy-agent": "^5.0.0",
- "lru_map": "^0.3.3",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
- "@sentry/tracing": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz",
- "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==",
- "dev": true,
- "requires": {
- "@sentry/hub": "5.30.0",
- "@sentry/minimal": "5.30.0",
- "@sentry/types": "5.30.0",
- "@sentry/utils": "5.30.0",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
- "@sentry/types": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz",
- "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==",
- "dev": true
- },
- "@sentry/utils": {
- "version": "5.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz",
- "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==",
- "dev": true,
- "requires": {
- "@sentry/types": "5.30.0",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
- "@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
- "dev": true
- },
- "@solidity-parser/parser": {
- "version": "0.14.3",
- "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.3.tgz",
- "integrity": "sha512-29g2SZ29HtsqA58pLCtopI1P/cPy5/UAzlcAXO6T/CNJimG6yA8kx4NaseMyJULiC+TEs02Y9/yeHzClqoA0hw==",
- "dev": true,
- "requires": {
- "antlr4ts": "^0.5.0-alpha.4"
- }
- },
- "@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
- "requires": {
- "defer-to-connect": "^1.0.1"
- }
- },
- "@truffle/error": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.1.tgz",
- "integrity": "sha512-sE7c9IHIGdbK4YayH4BC8i8qMjoAOeg6nUXUDZZp8wlU21/EMpaG+CLx+KqcIPyR+GSWIW3Dm0PXkr2nlggFDA==",
- "dev": true
- },
- "@truffle/interface-adapter": {
- "version": "0.5.22",
- "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.22.tgz",
- "integrity": "sha512-Bgl5Afb1mPVNedI8CJzZQzVIdrZWSXISTBrXPZmppD4Q+6V1RUzlLxiaGGB4gYHOA+U0pBzD8MCcSycPAD9RsA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.1.3",
- "ethers": "^4.0.32",
- "web3": "1.7.4"
- },
- "dependencies": {
- "ethers": {
- "version": "4.0.49",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz",
- "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==",
- "dev": true,
- "requires": {
- "aes-js": "3.0.0",
- "bn.js": "^4.11.9",
- "elliptic": "6.5.4",
- "hash.js": "1.1.3",
- "js-sha3": "0.5.7",
- "scrypt-js": "2.0.4",
- "setimmediate": "1.0.4",
- "uuid": "2.0.1",
- "xmlhttprequest": "1.8.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- }
- }
- },
- "hash.js": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "js-sha3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
- "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==",
- "dev": true
- },
- "scrypt-js": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz",
- "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==",
- "dev": true
- },
- "setimmediate": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz",
- "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==",
- "dev": true
- },
- "uuid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz",
- "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==",
- "dev": true
- }
- }
- },
- "@truffle/provider": {
- "version": "0.2.60",
- "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.60.tgz",
- "integrity": "sha512-DJrSxmMuJhC8/m7HUMo5E4wq+SUhg6iK/r9dYAHfnGOUZVj4Pxl0hiqYCDm9jU1iZwk3BmzkctoMS5+qJYST0A==",
- "dev": true,
- "requires": {
- "@truffle/error": "^0.1.1",
- "@truffle/interface-adapter": "^0.5.22",
- "debug": "^4.3.1",
- "web3": "1.7.4"
- }
- },
- "@tsconfig/node10": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
- "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
- "dev": true
- },
- "@tsconfig/node12": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
- "dev": true
- },
- "@tsconfig/node14": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
- "dev": true
- },
- "@tsconfig/node16": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
- "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
- "dev": true
- },
- "@typechain/ethers-v5": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.1.0.tgz",
- "integrity": "sha512-3LIb+eUpV3mNCrjUKT5oqp8PBsZYSnVrkfk6pY/ZM0boRs2mKxjFZ7bktx42vfDye8PPz3NxtW4DL5NsNsFqlg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.15",
- "ts-essentials": "^7.0.1"
- }
- },
- "@typechain/hardhat": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.3.tgz",
- "integrity": "sha512-e1H9MVl286ma0HuD9CBL248+pbdA7lWF6+I7FYwzykIrjilKhvLUv0Q7LtcyZztzgbP2g4Tyg1UPE+xy+qR7cA==",
- "dev": true,
- "requires": {
- "fs-extra": "^9.1.0"
- },
- "dependencies": {
- "fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "requires": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- }
- }
- },
- "@types/abstract-leveldown": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz",
- "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ=="
- },
- "@types/async-eventemitter": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz",
- "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==",
- "dev": true
- },
- "@types/bn.js": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz",
- "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
- "dev": true,
- "requires": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "*",
- "@types/node": "*",
- "@types/responselike": "*"
- }
- },
- "@types/chai": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz",
- "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==",
- "dev": true
- },
- "@types/chai-as-promised": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz",
- "integrity": "sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==",
- "dev": true,
- "requires": {
- "@types/chai": "*"
- }
- },
- "@types/concat-stream": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
- "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/detect-node": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/detect-node/-/detect-node-2.0.0.tgz",
- "integrity": "sha512-+BozjlbPTACYITf1PWf62HLtDV79HbmZosUN1mv1gGrnjDCRwBXkDKka1sf6YQJvspmfPXVcy+X6tFW62KteeQ=="
- },
- "@types/form-data": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
- "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
- "dev": true,
- "requires": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "@types/http-cache-semantics": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
- "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==",
- "dev": true
- },
- "@types/keyv": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
- "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/level-errors": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz",
- "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ=="
- },
- "@types/levelup": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz",
- "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==",
- "requires": {
- "@types/abstract-leveldown": "*",
- "@types/level-errors": "*",
- "@types/node": "*"
- }
- },
- "@types/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==",
- "dev": true
- },
- "@types/minimatch": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
- "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
- "dev": true
- },
- "@types/mocha": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz",
- "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==",
- "dev": true
- },
- "@types/node": {
- "version": "18.8.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz",
- "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w=="
- },
- "@types/pbkdf2": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz",
- "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==",
- "dev": true
- },
- "@types/qs": {
- "version": "6.9.7",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
- "dev": true
- },
- "@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/secp256k1": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz",
- "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@ungap/promise-all-settled": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
- "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
- "dev": true
- },
- "abbrev": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==",
- "dev": true
- },
- "abort-controller": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
- "dev": true,
- "requires": {
- "event-target-shim": "^5.0.0"
- }
- },
- "abstract-level": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz",
- "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==",
- "dev": true,
- "requires": {
- "buffer": "^6.0.3",
- "catering": "^2.1.0",
- "is-buffer": "^2.0.5",
- "level-supports": "^4.0.0",
- "level-transcoder": "^1.0.1",
- "module-error": "^1.0.1",
- "queue-microtask": "^1.2.3"
- }
- },
- "abstract-leveldown": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz",
- "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==",
- "requires": {
- "buffer": "^6.0.3",
- "catering": "^2.0.0",
- "is-buffer": "^2.0.5",
- "level-concat-iterator": "^3.0.0",
- "level-supports": "^2.0.1",
- "queue-microtask": "^1.2.3"
- },
- "dependencies": {
- "level-supports": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz",
- "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA=="
- }
- }
- },
- "accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dev": true,
- "requires": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- }
- },
- "acorn": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
- "dev": true
- },
- "acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "dev": true
- },
- "address": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz",
- "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==",
- "dev": true
- },
- "adm-zip": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz",
- "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==",
- "dev": true
- },
- "aes-js": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz",
- "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==",
- "dev": true
- },
- "agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "requires": {
- "debug": "4"
- }
- },
- "aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
- "dev": true,
- "optional": true
- },
- "ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true
- },
- "ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
- "requires": {
- "type-fest": "^0.21.3"
- }
- },
- "ansi-regex": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
- "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "antlr4ts": {
- "version": "0.5.0-alpha.4",
- "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz",
- "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==",
- "dev": true
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "array-back": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
- "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
- "dev": true
- },
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
- "dev": true
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
- "dev": true
- },
- "array.prototype.reduce": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz",
- "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.2",
- "es-array-method-boxes-properly": "^1.0.0",
- "is-string": "^1.0.7"
- }
- },
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
- },
- "asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "asn1.js": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
- "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
- "dev": true,
- "requires": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "safer-buffer": "^2.1.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- }
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "dev": true
- },
- "assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
- "dev": true
- },
- "astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true
- },
- "async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.14"
- }
- },
- "async-eventemitter": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz",
- "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==",
- "dev": true,
- "requires": {
- "async": "^2.4.0"
- }
- },
- "async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "dev": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
- },
- "at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true
- },
- "available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
- "dev": true
- },
- "aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "base64-js": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
- "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw=="
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
- "dev": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- },
- "dependencies": {
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
- }
- }
- },
- "bech32": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
- "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==",
- "dev": true
- },
- "bigint-crypto-utils": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.7.tgz",
- "integrity": "sha512-zpCQpIE2Oy5WIQpjC9iYZf8Uh9QqoS51ZCooAcNvzv1AQ3VWdT52D0ksr1+/faeK8HVIej1bxXcP75YcqH3KPA==",
- "dev": true,
- "requires": {
- "bigint-mod-arith": "^3.1.0"
- }
- },
- "bigint-mod-arith": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz",
- "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==",
- "dev": true
- },
- "bignumber.js": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz",
- "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==",
- "dev": true
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true
- },
- "blakejs": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz",
- "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==",
- "dev": true
- },
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
- "bn.js": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
- "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
- "dev": true
- },
- "body-parser": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
- "dev": true,
- "requires": {
- "bytes": "3.1.2",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.11.0",
- "raw-body": "2.5.1",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "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"
- }
- },
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
- "dev": true
- },
- "browser-level": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz",
- "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==",
- "dev": true,
- "requires": {
- "abstract-level": "^1.0.2",
- "catering": "^2.1.1",
- "module-error": "^1.0.2",
- "run-parallel-limit": "^1.1.0"
- }
- },
- "browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
- },
- "browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
- "requires": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true,
- "requires": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "browserify-rsa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
- "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
- "dev": true,
- "requires": {
- "bn.js": "^5.0.0",
- "randombytes": "^2.0.1"
- }
- },
- "browserify-sign": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
- "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.3",
- "inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- }
- },
- "bs58": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
- "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==",
- "dev": true,
- "requires": {
- "base-x": "^3.0.2"
- }
- },
- "bs58check": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
- "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
- "dev": true,
- "requires": {
- "bs58": "^4.0.0",
- "create-hash": "^1.1.0",
- "safe-buffer": "^5.1.2"
- }
- },
- "buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- },
- "dependencies": {
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
- }
- }
- },
- "buffer-browserify": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.2.5.tgz",
- "integrity": "sha512-3ko6TTBwXb15w2OgZuyAzLJwUFClBMvcKcmhF+iQ79G71K8Fc3RqKzroCN0a0DbZw2GM3q9lNoqfYYCTq6w7QA==",
- "requires": {
- "base64-js": "0.0.8"
- }
- },
- "buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true
- },
- "buffer-to-arraybuffer": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz",
- "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==",
- "dev": true
- },
- "buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
- "dev": true
- },
- "bufferutil": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz",
- "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==",
- "dev": true,
- "requires": {
- "node-gyp-build": "^4.3.0"
- }
- },
- "busboy": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
- "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "dev": true,
- "requires": {
- "streamsearch": "^1.1.0"
- }
- },
- "bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true
- },
- "cacheable-lookup": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
- "dev": true
- },
- "cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "dev": true,
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true
- }
- }
- },
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
- },
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true
- },
- "catering": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz",
- "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w=="
- },
- "cbor": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz",
- "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==",
- "dev": true,
- "requires": {
- "bignumber.js": "^9.0.1",
- "nofilter": "^1.0.4"
- }
- },
- "chai": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
- "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
- "dev": true,
- "requires": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.2",
- "deep-eql": "^3.0.1",
- "get-func-name": "^2.0.0",
- "loupe": "^2.3.1",
- "pathval": "^1.1.1",
- "type-detect": "^4.0.5"
- },
- "dependencies": {
- "deep-eql": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
- "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
- "dev": true,
- "requires": {
- "type-detect": "^4.0.0"
- }
- }
- }
- },
- "chai-as-promised": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz",
- "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==",
- "dev": true,
- "requires": {
- "check-error": "^1.0.2"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
- "dev": true
- },
- "check-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
- "dev": true
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- }
- },
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
- "cids": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz",
- "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==",
- "dev": true,
- "requires": {
- "buffer": "^5.5.0",
- "class-is": "^1.1.0",
- "multibase": "~0.6.0",
- "multicodec": "^1.0.0",
- "multihashes": "~0.4.15"
- },
- "dependencies": {
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "multicodec": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz",
- "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==",
- "dev": true,
- "requires": {
- "buffer": "^5.6.0",
- "varint": "^5.0.0"
- }
- }
- }
- },
- "cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "class-is": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz",
- "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==",
- "dev": true
- },
- "classic-level": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz",
- "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==",
- "dev": true,
- "requires": {
- "abstract-level": "^1.0.2",
- "catering": "^2.1.0",
- "module-error": "^1.0.1",
- "napi-macros": "~2.0.0",
- "node-gyp-build": "^4.3.0"
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true
- },
- "cli-table3": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz",
- "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==",
- "dev": true,
- "requires": {
- "colors": "^1.1.2",
- "object-assign": "^4.1.0",
- "string-width": "^2.1.1"
- }
- },
- "cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- },
- "clone-response": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
- "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "command-exists": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
- "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==",
- "dev": true
- },
- "command-line-args": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
- "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
- "dev": true,
- "requires": {
- "array-back": "^3.1.0",
- "find-replace": "^3.0.0",
- "lodash.camelcase": "^4.3.0",
- "typical": "^4.0.0"
- }
- },
- "command-line-usage": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz",
- "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==",
- "dev": true,
- "requires": {
- "array-back": "^4.0.2",
- "chalk": "^2.4.2",
- "table-layout": "^1.0.2",
- "typical": "^5.2.0"
- },
- "dependencies": {
- "array-back": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
- "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
- "dev": true
- },
- "typical": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
- "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
- "dev": true
- }
- }
- },
- "commander": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",
- "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": 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"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "5.2.1"
- }
- },
- "content-hash": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz",
- "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==",
- "dev": true,
- "requires": {
- "cids": "^0.7.1",
- "multicodec": "^0.5.5",
- "multihashes": "^0.4.15"
- }
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "dev": true
- },
- "cookie": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
- "dev": true
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
- "dev": true
- },
- "cookiejar": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
- "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==",
- "dev": true
- },
- "core-js": {
- "version": "3.25.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz",
- "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw=="
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
- "dev": true
- },
- "cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "dev": true,
- "requires": {
- "object-assign": "^4",
- "vary": "^1"
- }
- },
- "crc-32": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
- "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
- "dev": true
- },
- "create-ecdh": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
- "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.5.3"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- }
- }
- },
- "create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true
- },
- "crypt": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
- "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
- "dev": true
- },
- "crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true,
- "requires": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
- }
- },
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "death": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz",
- "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==",
- "dev": true
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
- "dev": true
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==",
- "dev": true
- },
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "deep-eql": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.1.tgz",
- "integrity": "sha512-rc6HkZswtl+KMi/IODZ8k7C/P37clC2Rf1HYI11GqdbgvggIyHjsU5MdjlTlaP6eu24c0sR3mcW2SqsVZ1sXUw==",
- "dev": true,
- "requires": {
- "type-detect": "^4.0.0"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true
- },
- "deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
- },
- "deferred-leveldown": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-7.0.0.tgz",
- "integrity": "sha512-QKN8NtuS3BC6m0B8vAnBls44tX1WXAFATUsJlruyAYbZpysWV3siH6o/i3g9DCHauzodksO60bdj5NazNbjCmg==",
- "requires": {
- "abstract-leveldown": "^7.2.0",
- "inherits": "^2.0.3"
- }
- },
- "define-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
- "dev": true,
- "requires": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true
- },
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "dev": true
- },
- "des.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
- "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true
- },
- "detect-node": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
- },
- "detect-port": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz",
- "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==",
- "dev": true,
- "requires": {
- "address": "^1.0.1",
- "debug": "4"
- }
- },
- "diff": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
- "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
- "dev": true
- },
- "diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- }
- }
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "dom-walk": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
- "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==",
- "dev": true
- },
- "duplexer3": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
- "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
- "dev": true
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
- "dev": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "dev": true
- },
- "elliptic": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
- "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
- "dev": true,
- "requires": {
- "bn.js": "^4.11.9",
- "brorand": "^1.1.0",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.1",
- "inherits": "^2.0.4",
- "minimalistic-assert": "^1.0.1",
- "minimalistic-crypto-utils": "^1.0.1"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- }
- }
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "dev": true
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.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"
- }
- },
- "env-paths": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
- "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
- "dev": true
- },
- "es-abstract": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
- "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.3",
- "get-symbol-description": "^1.0.0",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.2",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
- }
- },
- "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-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "es5-ext": {
- "version": "0.10.62",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
- "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
- "dev": true,
- "requires": {
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.3",
- "next-tick": "^1.1.0"
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dev": true,
- "requires": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==",
- "dev": true,
- "requires": {
- "esprima": "^2.7.1",
- "estraverse": "^1.9.1",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.2.0"
- }
- },
- "esm": {
- "version": "3.2.25",
- "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
- "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
- "optional": true
- },
- "esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==",
- "dev": true
- },
- "estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "dev": true
- },
- "eth-ens-namehash": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz",
- "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==",
- "dev": true,
- "requires": {
- "idna-uts46-hx": "^2.3.1",
- "js-sha3": "^0.5.7"
- },
- "dependencies": {
- "js-sha3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
- "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==",
- "dev": true
- }
- }
- },
- "eth-gas-reporter": {
- "version": "0.2.25",
- "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz",
- "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==",
- "dev": true,
- "requires": {
- "@ethersproject/abi": "^5.0.0-beta.146",
- "@solidity-parser/parser": "^0.14.0",
- "cli-table3": "^0.5.0",
- "colors": "1.4.0",
- "ethereum-cryptography": "^1.0.3",
- "ethers": "^4.0.40",
- "fs-readdir-recursive": "^1.1.0",
- "lodash": "^4.17.14",
- "markdown-table": "^1.1.3",
- "mocha": "^7.1.1",
- "req-cwd": "^2.0.0",
- "request": "^2.88.0",
- "request-promise-native": "^1.0.5",
- "sha1": "^1.1.1",
- "sync-request": "^6.0.0"
- },
- "dependencies": {
- "ansi-colors": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
- "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
- "dev": true
- },
- "ansi-regex": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
- "dev": true
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "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"
- }
- },
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
- "dev": true
- },
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true
- },
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "ethereum-cryptography": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz",
- "integrity": "sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ==",
- "dev": true,
- "requires": {
- "@noble/hashes": "1.1.2",
- "@noble/secp256k1": "1.6.3",
- "@scure/bip32": "1.1.0",
- "@scure/bip39": "1.1.0"
- }
- },
- "ethers": {
- "version": "4.0.49",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz",
- "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==",
- "dev": true,
- "requires": {
- "aes-js": "3.0.0",
- "bn.js": "^4.11.9",
- "elliptic": "6.5.4",
- "hash.js": "1.1.3",
- "js-sha3": "0.5.7",
- "scrypt-js": "2.0.4",
- "setimmediate": "1.0.4",
- "uuid": "2.0.1",
- "xmlhttprequest": "1.8.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"
- }
- },
- "flat": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz",
- "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==",
- "dev": true,
- "requires": {
- "is-buffer": "~2.0.3"
- }
- },
- "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==",
- "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"
- }
- },
- "hash.js": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "js-sha3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
- "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==",
- "dev": true
- },
- "js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.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"
- }
- },
- "log-symbols": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
- "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "mocha": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz",
- "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==",
- "dev": true,
- "requires": {
- "ansi-colors": "3.2.3",
- "browser-stdout": "1.3.1",
- "chokidar": "3.3.0",
- "debug": "3.2.6",
- "diff": "3.5.0",
- "escape-string-regexp": "1.0.5",
- "find-up": "3.0.0",
- "glob": "7.1.3",
- "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",
- "object.assign": "4.1.0",
- "strip-json-comments": "2.0.1",
- "supports-color": "6.0.0",
- "which": "1.3.1",
- "wide-align": "1.1.3",
- "yargs": "13.3.2",
- "yargs-parser": "13.1.2",
- "yargs-unparser": "1.6.0"
- }
- },
- "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
- },
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.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"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "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==",
- "dev": true,
- "requires": {
- "picomatch": "^2.0.4"
- }
- },
- "scrypt-js": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz",
- "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==",
- "dev": true
- },
- "setimmediate": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz",
- "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "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"
- }
- },
- "uuid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz",
- "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- }
- },
- "y18n": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
- "dev": true
- },
- "yargs": {
- "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",
- "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.2"
- }
- },
- "yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- },
- "yargs-unparser": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
- "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
- "dev": true,
- "requires": {
- "flat": "^4.1.0",
- "lodash": "^4.17.15",
- "yargs": "^13.3.0"
- }
- }
- }
- },
- "eth-lib": {
- "version": "0.1.29",
- "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz",
- "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==",
- "dev": true,
- "requires": {
- "bn.js": "^4.11.6",
- "elliptic": "^6.4.0",
- "nano-json-stream-parser": "^0.1.2",
- "servify": "^0.1.12",
- "ws": "^3.0.0",
- "xhr-request-promise": "^0.1.2"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
- }
- }
- }
- },
- "ethereum-bloom-filters": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz",
- "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==",
- "dev": true,
- "requires": {
- "js-sha3": "^0.8.0"
- }
- },
- "ethereum-cryptography": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz",
- "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==",
- "dev": true,
- "requires": {
- "@types/pbkdf2": "^3.0.0",
- "@types/secp256k1": "^4.0.1",
- "blakejs": "^1.1.0",
- "browserify-aes": "^1.2.0",
- "bs58check": "^2.1.2",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "hash.js": "^1.1.7",
- "keccak": "^3.0.0",
- "pbkdf2": "^3.0.17",
- "randombytes": "^2.1.0",
- "safe-buffer": "^5.1.2",
- "scrypt-js": "^3.0.0",
- "secp256k1": "^4.0.1",
- "setimmediate": "^1.0.5"
- }
- },
- "ethereumjs-abi": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz",
- "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==",
- "dev": true,
- "requires": {
- "bn.js": "^4.11.8",
- "ethereumjs-util": "^6.0.0"
- },
- "dependencies": {
- "@types/bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- },
- "ethereumjs-util": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz",
- "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==",
- "dev": true,
- "requires": {
- "@types/bn.js": "^4.11.3",
- "bn.js": "^4.11.0",
- "create-hash": "^1.1.2",
- "elliptic": "^6.5.2",
- "ethereum-cryptography": "^0.1.3",
- "ethjs-util": "0.1.6",
- "rlp": "^2.2.3"
- }
- }
- }
- },
- "ethereumjs-util": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz",
- "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==",
- "dev": true,
- "requires": {
- "@types/bn.js": "^5.1.0",
- "bn.js": "^5.1.2",
- "create-hash": "^1.1.2",
- "ethereum-cryptography": "^0.1.3",
- "rlp": "^2.2.4"
- }
- },
- "ethers": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.1.tgz",
- "integrity": "sha512-5krze4dRLITX7FpU8J4WscXqADiKmyeNlylmmDLbS95DaZpBhDe2YSwRQwKXWNyXcox7a3gBgm/MkGXV1O1S/Q==",
- "dev": true,
- "requires": {
- "@ethersproject/abi": "5.7.0",
- "@ethersproject/abstract-provider": "5.7.0",
- "@ethersproject/abstract-signer": "5.7.0",
- "@ethersproject/address": "5.7.0",
- "@ethersproject/base64": "5.7.0",
- "@ethersproject/basex": "5.7.0",
- "@ethersproject/bignumber": "5.7.0",
- "@ethersproject/bytes": "5.7.0",
- "@ethersproject/constants": "5.7.0",
- "@ethersproject/contracts": "5.7.0",
- "@ethersproject/hash": "5.7.0",
- "@ethersproject/hdnode": "5.7.0",
- "@ethersproject/json-wallets": "5.7.0",
- "@ethersproject/keccak256": "5.7.0",
- "@ethersproject/logger": "5.7.0",
- "@ethersproject/networks": "5.7.1",
- "@ethersproject/pbkdf2": "5.7.0",
- "@ethersproject/properties": "5.7.0",
- "@ethersproject/providers": "5.7.1",
- "@ethersproject/random": "5.7.0",
- "@ethersproject/rlp": "5.7.0",
- "@ethersproject/sha2": "5.7.0",
- "@ethersproject/signing-key": "5.7.0",
- "@ethersproject/solidity": "5.7.0",
- "@ethersproject/strings": "5.7.0",
- "@ethersproject/transactions": "5.7.0",
- "@ethersproject/units": "5.7.0",
- "@ethersproject/wallet": "5.7.0",
- "@ethersproject/web": "5.7.1",
- "@ethersproject/wordlists": "5.7.0"
- }
- },
- "ethjs-unit": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz",
- "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==",
- "dev": true,
- "requires": {
- "bn.js": "4.11.6",
- "number-to-bn": "1.7.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==",
- "dev": true
- }
- }
- },
- "ethjs-util": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz",
- "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==",
- "dev": true,
- "requires": {
- "is-hex-prefixed": "1.0.0",
- "strip-hex-prefix": "1.0.0"
- }
- },
- "event-target-shim": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
- "dev": true
- },
- "eventemitter3": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
- "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
- "dev": true
- },
- "evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "express": {
- "version": "4.18.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.1",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.5.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.2.0",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.11.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "dev": true
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
- "ext": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
- "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
- "dev": true,
- "requires": {
- "type": "^2.7.2"
- },
- "dependencies": {
- "type": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
- "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
- "dev": true
- }
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
- },
- "fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "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"
- }
- },
- "finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
- "find-replace": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
- "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
- "dev": true,
- "requires": {
- "array-back": "^3.0.1"
- }
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "dev": true
- },
- "follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
- "dev": true
- },
- "for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.3"
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
- "dev": true
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "dev": true
- },
- "fp-ts": {
- "version": "1.19.3",
- "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz",
- "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==",
- "dev": true
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "dev": true
- },
- "fs-extra": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
- "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "fs-minipass": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
- "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
- "dev": true,
- "requires": {
- "minipass": "^2.6.0"
- }
- },
- "fs-readdir-recursive": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
- "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
- "dev": true
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- }
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
- },
- "functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "get-func-name": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
- "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==",
- "dev": true
- },
- "get-intrinsic": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
- "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
- }
- },
- "get-port": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
- "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==",
- "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-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- }
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "ghost-testrpc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz",
- "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "node-emoji": "^1.10.0"
- }
- },
- "glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "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"
- }
- },
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "global": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
- "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
- "dev": true,
- "requires": {
- "min-document": "^2.19.0",
- "process": "^0.11.10"
- }
- },
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "requires": {
- "global-prefix": "^3.0.0"
- }
- },
- "global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- }
- },
- "globby": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
- "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.0.3",
- "glob": "^7.1.3",
- "ignore": "^5.1.1",
- "merge2": "^1.2.3",
- "slash": "^3.0.0"
- }
- },
- "got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
- "requires": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
- },
- "growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
- "dev": true
- },
- "handlebars": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
- "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.0",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4",
- "wordwrap": "^1.0.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
- "hardhat": {
- "version": "2.11.2",
- "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.11.2.tgz",
- "integrity": "sha512-BdsXC1CFJQDJKmAgCwpmGhFuVU6dcqlgMgT0Kg/xmFAFVugkpYu6NRmh4AaJ3Fah0/BR9DOR4XgQGIbg4eon/Q==",
- "dev": true,
- "requires": {
- "@ethersproject/abi": "^5.1.2",
- "@metamask/eth-sig-util": "^4.0.0",
- "@nomicfoundation/ethereumjs-block": "^4.0.0",
- "@nomicfoundation/ethereumjs-blockchain": "^6.0.0",
- "@nomicfoundation/ethereumjs-common": "^3.0.0",
- "@nomicfoundation/ethereumjs-evm": "^1.0.0",
- "@nomicfoundation/ethereumjs-rlp": "^4.0.0",
- "@nomicfoundation/ethereumjs-statemanager": "^1.0.0",
- "@nomicfoundation/ethereumjs-trie": "^5.0.0",
- "@nomicfoundation/ethereumjs-tx": "^4.0.0",
- "@nomicfoundation/ethereumjs-util": "^8.0.0",
- "@nomicfoundation/ethereumjs-vm": "^6.0.0",
- "@nomicfoundation/solidity-analyzer": "^0.0.3",
- "@sentry/node": "^5.18.1",
- "@types/bn.js": "^5.1.0",
- "@types/lru-cache": "^5.1.0",
- "abort-controller": "^3.0.0",
- "adm-zip": "^0.4.16",
- "aggregate-error": "^3.0.0",
- "ansi-escapes": "^4.3.0",
- "chalk": "^2.4.2",
- "chokidar": "^3.4.0",
- "ci-info": "^2.0.0",
- "debug": "^4.1.1",
- "enquirer": "^2.3.0",
- "env-paths": "^2.2.0",
- "ethereum-cryptography": "^1.0.3",
- "ethereumjs-abi": "^0.6.8",
- "find-up": "^2.1.0",
- "fp-ts": "1.19.3",
- "fs-extra": "^7.0.1",
- "glob": "7.2.0",
- "immutable": "^4.0.0-rc.12",
- "io-ts": "1.10.4",
- "keccak": "^3.0.2",
- "lodash": "^4.17.11",
- "mnemonist": "^0.38.0",
- "mocha": "^10.0.0",
- "p-map": "^4.0.0",
- "qs": "^6.7.0",
- "raw-body": "^2.4.1",
- "resolve": "1.17.0",
- "semver": "^6.3.0",
- "solc": "0.7.3",
- "source-map-support": "^0.5.13",
- "stacktrace-parser": "^0.1.10",
- "tsort": "0.0.1",
- "undici": "^5.4.0",
- "uuid": "^8.3.2",
- "ws": "^7.4.6"
- },
- "dependencies": {
- "ethereum-cryptography": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz",
- "integrity": "sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ==",
- "dev": true,
- "requires": {
- "@noble/hashes": "1.1.2",
- "@noble/secp256k1": "1.6.3",
- "@scure/bip32": "1.1.0",
- "@scure/bip39": "1.1.0"
- }
- },
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- }
- }
- },
- "hardhat-gas-reporter": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.9.tgz",
- "integrity": "sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==",
- "dev": true,
- "requires": {
- "array-uniq": "1.0.3",
- "eth-gas-reporter": "^0.2.25",
- "sha1": "^1.1.1"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.1.1"
- }
- },
- "has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true
- },
- "has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "hash-base": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
- "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- }
- },
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "dev": true
- },
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
- "dev": true,
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "http-basic": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
- "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
- "dev": true,
- "requires": {
- "caseless": "^0.12.0",
- "concat-stream": "^1.6.2",
- "http-response-object": "^3.0.1",
- "parse-cache-control": "^1.0.1"
- }
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
- },
- "http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dev": true,
- "requires": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- }
- },
- "http-https": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz",
- "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==",
- "dev": true
- },
- "http-response-object": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
- "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
- "dev": true,
- "requires": {
- "@types/node": "^10.0.3"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.17.60",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==",
- "dev": true
- }
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "http2-wrapper": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
- "dev": true,
- "requires": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "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"
- }
- },
- "idna-uts46-hx": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz",
- "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==",
- "dev": true,
- "requires": {
- "punycode": "2.1.0"
- },
- "dependencies": {
- "punycode": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
- "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==",
- "dev": true
- }
- }
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true
- },
- "immutable": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
- "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
- "dev": true
- },
- "indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
- "internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- }
- },
- "interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "dev": true
- },
- "io-ts": {
- "version": "1.10.4",
- "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz",
- "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==",
- "dev": true,
- "requires": {
- "fp-ts": "^1.0.0"
- }
- },
- "ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "dev": true
- },
- "is-arguments": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
- "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
- "requires": {
- "has-bigints": "^1.0.1"
- }
- },
- "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"
- }
- },
- "is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
- },
- "is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true
- },
- "is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true
- },
- "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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
- "dev": true
- },
- "is-function": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
- "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==",
- "dev": true
- },
- "is-generator-function": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
- "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-hex-prefixed": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz",
- "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==",
- "dev": true
- },
- "is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true
- },
- "is-node": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-node/-/is-node-1.0.2.tgz",
- "integrity": "sha512-U37UdVWHNH1wDFmlSauKRDL1nhaCVRIH1FoaZN94eGJvU832sjMHEO/4AITAkOT0aRD7oA1Fovn7PeNCHiqz0w=="
- },
- "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
- },
- "is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-observable": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz",
- "integrity": "sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw=="
- },
- "is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
- "dev": true
- },
- "is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "is-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz",
- "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==",
- "dev": true,
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
- "for-each": "^0.3.3",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
- "dev": true
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "dev": true
- },
- "is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true
- },
- "js-sha3": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz",
- "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==",
- "dev": true
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
- "dev": true
- },
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
- "dev": true
- },
- "json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
- "jsonschema": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz",
- "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==",
- "dev": true
- },
- "jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- }
- },
- "keccak": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz",
- "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==",
- "dev": true,
- "requires": {
- "node-addon-api": "^2.0.0",
- "node-gyp-build": "^4.2.0",
- "readable-stream": "^3.6.0"
- }
- },
- "keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.0"
- }
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true
- },
- "klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.9"
- }
- },
- "level": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz",
- "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==",
- "dev": true,
- "requires": {
- "browser-level": "^1.0.1",
- "classic-level": "^1.2.0"
- }
- },
- "level-concat-iterator": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz",
- "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==",
- "requires": {
- "catering": "^2.1.0"
- }
- },
- "level-errors": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-3.0.1.tgz",
- "integrity": "sha512-tqTL2DxzPDzpwl0iV5+rBCv65HWbHp6eutluHNcVIftKZlQN//b6GEnZDM2CvGZvzGYMwyPtYppYnydBQd2SMQ=="
- },
- "level-iterator-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-5.0.0.tgz",
- "integrity": "sha512-wnb1+o+CVFUDdiSMR/ZymE2prPs3cjVLlXuDeSq9Zb8o032XrabGEXcTCsBxprAtseO3qvFeGzh6406z9sOTRA==",
- "requires": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "level-supports": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz",
- "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==",
- "dev": true
- },
- "level-transcoder": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz",
- "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==",
- "dev": true,
- "requires": {
- "buffer": "^6.0.3",
- "module-error": "^1.0.1"
- }
- },
- "levelup": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/levelup/-/levelup-5.1.1.tgz",
- "integrity": "sha512-0mFCcHcEebOwsQuk00WJwjLI6oCjbBuEYdh/RaRqhjnyVlzqf41T1NnDtCedumZ56qyIh8euLFDqV1KfzTAVhg==",
- "requires": {
- "catering": "^2.0.0",
- "deferred-leveldown": "^7.0.0",
- "level-errors": "^3.0.1",
- "level-iterator-stream": "^5.0.0",
- "level-supports": "^2.0.1",
- "queue-microtask": "^1.2.3"
- },
- "dependencies": {
- "level-supports": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz",
- "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA=="
- }
- }
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
- "dev": true,
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
- "dev": true
- },
- "lodash.truncate": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
- "dev": true
- },
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "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.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "loupe": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
- "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
- "dev": true,
- "requires": {
- "get-func-name": "^2.0.0"
- }
- },
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true
- },
- "lru_map": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz",
- "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==",
- "dev": true
- },
- "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"
- }
- },
- "ltgt": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz",
- "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA=="
- },
- "make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
- "markdown-table": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
- "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==",
- "dev": true
- },
- "mcl-wasm": {
- "version": "0.7.9",
- "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz",
- "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==",
- "dev": true
- },
- "md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
- "dev": true,
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "dev": true
- },
- "memdown": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/memdown/-/memdown-6.1.1.tgz",
- "integrity": "sha512-vh2RiuVrn6Vv73088C1KzLwy9+hhRwoZsgddYqIoVuFFrcoc2Rt+lq/KrmkFn6ulko7AtQ0AvqtYid35exb38A==",
- "requires": {
- "abstract-leveldown": "^7.2.0",
- "buffer": "^6.0.3",
- "functional-red-black-tree": "^1.0.1",
- "inherits": "^2.0.1",
- "ltgt": "^2.2.0"
- }
- },
- "memory-level": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz",
- "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==",
- "dev": true,
- "requires": {
- "abstract-level": "^1.0.0",
- "functional-red-black-tree": "^1.0.1",
- "module-error": "^1.0.1"
- }
- },
- "memorystream": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
- "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
- "dev": true
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
- "dev": true
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "dev": true,
- "requires": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- }
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "dev": true
- },
- "min-document": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
- "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
- "dev": true,
- "requires": {
- "dom-walk": "^0.1.0"
- }
- },
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true
- },
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
- "dev": true
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
- },
- "minipass": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "dev": true,
- "requires": {
- "minipass": "^2.9.0"
- }
- },
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.6"
- }
- },
- "mkdirp-promise": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz",
- "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==",
- "dev": true,
- "requires": {
- "mkdirp": "*"
- }
- },
- "mnemonist": {
- "version": "0.38.5",
- "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz",
- "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==",
- "dev": true,
- "requires": {
- "obliterator": "^2.0.0"
- }
- },
- "mocha": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
- "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
- "dev": true,
- "requires": {
- "@ungap/promise-all-settled": "1.1.2",
- "ansi-colors": "4.1.1",
- "browser-stdout": "1.3.1",
- "chokidar": "3.5.3",
- "debug": "4.3.4",
- "diff": "5.0.0",
- "escape-string-regexp": "4.0.0",
- "find-up": "5.0.0",
- "glob": "7.2.0",
- "he": "1.2.0",
- "js-yaml": "4.1.0",
- "log-symbols": "4.1.0",
- "minimatch": "5.0.1",
- "ms": "2.1.3",
- "nanoid": "3.3.3",
- "serialize-javascript": "6.0.0",
- "strip-json-comments": "3.1.1",
- "supports-color": "8.1.1",
- "workerpool": "6.2.1",
- "yargs": "16.2.0",
- "yargs-parser": "20.2.4",
- "yargs-unparser": "2.0.0"
- },
- "dependencies": {
- "ansi-colors": {
- "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
- },
- "brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.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
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "minimatch": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
- "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "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
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "mock-fs": {
- "version": "4.14.0",
- "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz",
- "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==",
- "dev": true
- },
- "module-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz",
- "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "multibase": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz",
- "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==",
- "dev": true,
- "requires": {
- "base-x": "^3.0.8",
- "buffer": "^5.5.0"
- },
- "dependencies": {
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- }
- }
- },
- "multicodec": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz",
- "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==",
- "dev": true,
- "requires": {
- "varint": "^5.0.0"
- }
- },
- "multihashes": {
- "version": "0.4.21",
- "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz",
- "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==",
- "dev": true,
- "requires": {
- "buffer": "^5.5.0",
- "multibase": "^0.7.0",
- "varint": "^5.0.0"
- },
- "dependencies": {
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "multibase": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz",
- "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==",
- "dev": true,
- "requires": {
- "base-x": "^3.0.8",
- "buffer": "^5.5.0"
- }
- }
- }
- },
- "nano-json-stream-parser": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz",
- "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==",
- "dev": true
- },
- "nanoid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
- "dev": true
- },
- "napi-macros": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz",
- "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==",
- "dev": true
- },
- "negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "dev": true
- },
- "neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
- },
- "next-tick": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
- "dev": true
- },
- "node-addon-api": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz",
- "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==",
- "dev": true
- },
- "node-emoji": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
- "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.21"
- }
- },
- "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"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
- },
- "node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
- },
- "node-gyp-build": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz",
- "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==",
- "dev": true
- },
- "nofilter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz",
- "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==",
- "dev": true
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "normalize-url": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
- "dev": true
- },
- "number-to-bn": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz",
- "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==",
- "dev": true,
- "requires": {
- "bn.js": "4.11.6",
- "strip-hex-prefix": "1.0.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==",
- "dev": true
- }
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true
- },
- "object-inspect": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
- "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
- "dev": true
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
- },
- "object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- }
- },
- "object.getownpropertydescriptors": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz",
- "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==",
- "dev": true,
- "requires": {
- "array.prototype.reduce": "^1.0.4",
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.1"
- }
- },
- "obliterator": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz",
- "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==",
- "dev": true
- },
- "oboe": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz",
- "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==",
- "dev": true,
- "requires": {
- "http-https": "^1.0.0"
- }
- },
- "observable-fns": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz",
- "integrity": "sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg=="
- },
- "on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dev": true,
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "ordinal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz",
- "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==",
- "dev": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
- "dev": true
- },
- "p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
- "dev": true
- },
- "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": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "dev": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
- "dev": true
- },
- "parse-asn1": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
- "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
- "dev": true,
- "requires": {
- "asn1.js": "^5.2.0",
- "browserify-aes": "^1.0.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
- "parse-cache-control": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
- "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==",
- "dev": true
- },
- "parse-headers": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz",
- "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==",
- "dev": true
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
- "dev": true
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
- "pathval": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
- "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
- "dev": true
- },
- "pbkdf2": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
- "dev": true,
- "requires": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
- "dev": true
- },
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
- "dev": true
- },
- "prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
- "dev": true
- },
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "promise": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz",
- "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==",
- "dev": true,
- "requires": {
- "asap": "~2.0.6"
- }
- },
- "promise-readable": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/promise-readable/-/promise-readable-5.0.4.tgz",
- "integrity": "sha512-v1MqYyLQvopoi+FOVL+HErz4TB7lpaZf7H+pQo8vW6yAmJ1QZVDww7XTTwK+gqzQZylmhrlS3CaHQzLkKorZjA==",
- "requires": {
- "core-js": "^3.6.1"
- }
- },
- "proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "dev": true,
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- }
- },
- "psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true
- },
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- }
- }
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dev": true,
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "query-string": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
- "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
- "dev": true,
- "requires": {
- "decode-uri-component": "^0.2.0",
- "object-assign": "^4.1.0",
- "strict-uri-encode": "^1.0.0"
- }
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
- },
- "quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "dev": true
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "dev": true,
- "requires": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true
- },
- "raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
- "dev": true,
- "requires": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "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==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
- "dev": true,
- "requires": {
- "resolve": "^1.1.6"
- }
- },
- "recursive-readdir": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
- "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
- "dev": true,
- "requires": {
- "minimatch": "3.0.4"
- },
- "dependencies": {
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "reduce-flatten": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz",
- "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==",
- "dev": true
- },
- "regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
- }
- },
- "req-cwd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz",
- "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==",
- "dev": true,
- "requires": {
- "req-from": "^2.0.0"
- }
- },
- "req-from": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz",
- "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==",
- "dev": true,
- "requires": {
- "resolve-from": "^3.0.0"
- }
- },
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
- "dev": true
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true
- }
- }
- },
- "request-promise-core": {
- "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.19"
- }
- },
- "request-promise-native": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
- "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
- "dev": true,
- "requires": {
- "request-promise-core": "1.1.4",
- "stealthy-require": "^1.1.1",
- "tough-cookie": "^2.3.3"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true
- },
- "require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true
- },
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
- "resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- },
- "resolve-alpn": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
- "dev": true
- },
- "resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==",
- "dev": true
- },
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
- "dev": true,
- "requires": {
- "lowercase-keys": "^1.0.0"
- }
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "rlp": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz",
- "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.0"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "run-parallel-limit": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz",
- "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "rustbn.js": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz",
- "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==",
- "dev": true
- },
- "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=="
- },
- "safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-regex": "^1.1.4"
- }
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "sc-istanbul": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz",
- "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==",
- "dev": true,
- "requires": {
- "abbrev": "1.0.x",
- "async": "1.x",
- "escodegen": "1.8.x",
- "esprima": "2.7.x",
- "glob": "^5.0.15",
- "handlebars": "^4.0.1",
- "js-yaml": "3.x",
- "mkdirp": "0.5.x",
- "nopt": "3.x",
- "once": "1.x",
- "resolve": "1.1.x",
- "supports-color": "^3.1.0",
- "which": "^1.1.1",
- "wordwrap": "^1.0.0"
- },
- "dependencies": {
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
- "dev": true
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "dependencies": {
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- }
- }
- },
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==",
- "dev": true
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==",
- "dev": true,
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "scrypt-js": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
- "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==",
- "dev": true
- },
- "secp256k1": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz",
- "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==",
- "dev": true,
- "requires": {
- "elliptic": "^6.5.4",
- "node-addon-api": "^2.0.0",
- "node-gyp-build": "^4.2.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- }
- }
- },
- "serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "dev": true,
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
- "dev": true,
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.18.0"
- }
- },
- "servify": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz",
- "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==",
- "dev": true,
- "requires": {
- "body-parser": "^1.16.0",
- "cors": "^2.8.1",
- "express": "^4.14.0",
- "request": "^2.79.0",
- "xhr": "^2.3.3"
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
- "dev": true
- },
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
- "dev": true
- },
- "setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "dev": true
- },
- "sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "sha1": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
- "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==",
- "dev": true,
- "requires": {
- "charenc": ">= 0.0.1",
- "crypt": ">= 0.0.1"
- }
- },
- "sha3": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz",
- "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==",
- "requires": {
- "buffer": "6.0.3"
- }
- },
- "shelljs": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
- "dev": true,
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "dev": true
- },
- "simple-get": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz",
- "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==",
- "dev": true,
- "requires": {
- "decompress-response": "^3.3.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "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
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- }
- }
- },
- "solc": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz",
- "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==",
- "dev": true,
- "requires": {
- "command-exists": "^1.2.8",
- "commander": "3.0.2",
- "follow-redirects": "^1.12.1",
- "fs-extra": "^0.30.0",
- "js-sha3": "0.8.0",
- "memorystream": "^0.3.1",
- "require-from-string": "^2.0.0",
- "semver": "^5.5.0",
- "tmp": "0.0.33"
- },
- "dependencies": {
- "fs-extra": {
- "version": "0.30.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
- "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^2.1.0",
- "klaw": "^1.0.0",
- "path-is-absolute": "^1.0.0",
- "rimraf": "^2.2.8"
- }
- },
- "jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
- },
- "solidity-coverage": {
- "version": "0.7.22",
- "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.22.tgz",
- "integrity": "sha512-I6Zd5tsFY+gmj1FDIp6w7OrUePx6ZpMgKQZg7dWgPaQHePLi3Jk+iJ8lwZxsWEoNy2Lcv91rMxATWHqRaFdQpw==",
- "dev": true,
- "requires": {
- "@solidity-parser/parser": "^0.14.0",
- "@truffle/provider": "^0.2.24",
- "chalk": "^2.4.2",
- "death": "^1.1.0",
- "detect-port": "^1.3.0",
- "fs-extra": "^8.1.0",
- "ghost-testrpc": "^0.0.2",
- "global-modules": "^2.0.0",
- "globby": "^10.0.1",
- "jsonschema": "^1.2.4",
- "lodash": "^4.17.15",
- "node-emoji": "^1.10.0",
- "pify": "^4.0.1",
- "recursive-readdir": "^2.2.2",
- "sc-istanbul": "^0.4.5",
- "semver": "^7.3.4",
- "shelljs": "^0.8.3",
- "web3-utils": "^1.3.0"
- },
- "dependencies": {
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "lru-cache": {
- "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": "^4.0.0"
- }
- },
- "semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- }
- }
- },
- "source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
- "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==",
- "dev": true,
- "optional": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- },
- "source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
- },
- "sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "dependencies": {
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
- }
- }
- },
- "stacktrace-parser": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz",
- "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==",
- "dev": true,
- "requires": {
- "type-fest": "^0.7.1"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz",
- "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==",
- "dev": true
- }
- }
- },
- "statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "dev": true
- },
- "stealthy-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==",
- "dev": true
- },
- "streamsearch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
- "dev": true
- },
- "strict-uri-encode": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
- "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
- "string-format": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz",
- "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "string.prototype.trimend": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
- "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
- "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "strip-hex-prefix": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz",
- "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==",
- "dev": true,
- "requires": {
- "is-hex-prefixed": "1.0.0"
- }
- },
- "strip-json-comments": {
- "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": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "swarm-js": {
- "version": "0.1.42",
- "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz",
- "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.0",
- "buffer": "^5.0.5",
- "eth-lib": "^0.1.26",
- "fs-extra": "^4.0.2",
- "got": "^11.8.5",
- "mime-types": "^2.1.16",
- "mkdirp-promise": "^5.0.1",
- "mock-fs": "^4.1.0",
- "setimmediate": "^1.0.5",
- "tar": "^4.0.2",
- "xhr-request": "^1.0.1"
- },
- "dependencies": {
- "@sindresorhus/is": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
- "dev": true
- },
- "@szmarczak/http-timer": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
- "dev": true,
- "requires": {
- "defer-to-connect": "^2.0.0"
- }
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
- "dev": true,
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
- }
- },
- "decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "dev": true,
- "requires": {
- "mimic-response": "^3.1.0"
- }
- },
- "defer-to-connect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
- "dev": true
- },
- "fs-extra": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
- "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "got": {
- "version": "11.8.5",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
- "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
- "dev": true,
- "requires": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.2",
- "decompress-response": "^6.0.0",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.0.0"
- }
- },
- "json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "keyv": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.0.tgz",
- "integrity": "sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.1"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true
- },
- "mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
- "dev": true
- },
- "normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
- "dev": true
- },
- "p-cancelable": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
- "dev": true
- },
- "responselike": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
- "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
- "dev": true,
- "requires": {
- "lowercase-keys": "^2.0.0"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- }
- }
- },
- "sync-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
- "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
- "dev": true,
- "requires": {
- "http-response-object": "^3.0.1",
- "sync-rpc": "^1.2.1",
- "then-request": "^6.0.0"
- }
- },
- "sync-rpc": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
- "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
- "dev": true,
- "requires": {
- "get-port": "^3.1.0"
- }
- },
- "table": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
- "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
- "dev": true,
- "requires": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "dependencies": {
- "ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- },
- "table-layout": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz",
- "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==",
- "dev": true,
- "requires": {
- "array-back": "^4.0.1",
- "deep-extend": "~0.6.0",
- "typical": "^5.2.0",
- "wordwrapjs": "^4.0.0"
- },
- "dependencies": {
- "array-back": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
- "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
- "dev": true
- },
- "typical": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
- "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
- "dev": true
- }
- }
- },
- "tar": {
- "version": "4.4.19",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
- "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==",
- "dev": true,
- "requires": {
- "chownr": "^1.1.4",
- "fs-minipass": "^1.2.7",
- "minipass": "^2.9.0",
- "minizlib": "^1.3.3",
- "mkdirp": "^0.5.5",
- "safe-buffer": "^5.2.1",
- "yallist": "^3.1.1"
- }
- },
- "then-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
- "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
- "dev": true,
- "requires": {
- "@types/concat-stream": "^1.6.0",
- "@types/form-data": "0.0.33",
- "@types/node": "^8.0.0",
- "@types/qs": "^6.2.31",
- "caseless": "~0.12.0",
- "concat-stream": "^1.6.0",
- "form-data": "^2.2.0",
- "http-basic": "^8.1.1",
- "http-response-object": "^3.0.1",
- "promise": "^8.0.0",
- "qs": "^6.4.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "8.10.66",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
- "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==",
- "dev": true
- }
- }
- },
- "threads": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz",
- "integrity": "sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==",
- "requires": {
- "callsites": "^3.1.0",
- "debug": "^4.2.0",
- "is-observable": "^2.1.0",
- "observable-fns": "^0.6.1",
- "tiny-worker": ">= 2"
- }
- },
- "timed-out": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
- "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==",
- "dev": true
- },
- "tiny-worker": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz",
- "integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==",
- "optional": true,
- "requires": {
- "esm": "^3.2.25"
- }
- },
- "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-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
- "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"
- }
- },
- "toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "dev": true
- },
- "tough-cookie": {
- "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.28",
- "punycode": "^2.1.1"
- }
- },
- "ts-command-line-args": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.3.1.tgz",
- "integrity": "sha512-FR3y7pLl/fuUNSmnPhfLArGqRrpojQgIEEOVzYx9DhTmfIN7C9RWSfpkJEF4J+Gk7aVx5pak8I7vWZsaN4N84g==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "command-line-args": "^5.1.1",
- "command-line-usage": "^6.1.0",
- "string-format": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "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.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "ts-essentials": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz",
- "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==",
- "dev": true,
- "requires": {}
- },
- "ts-node": {
- "version": "10.9.1",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
- "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
- "dev": true,
- "requires": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "dependencies": {
- "diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true
- }
- }
- },
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- },
- "tsort": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz",
- "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
- "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==",
- "dev": true
- },
- "tweetnacl-util": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz",
- "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==",
- "dev": true
- },
- "type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2"
- }
- },
- "type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true
- },
- "type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typechain": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.0.tgz",
- "integrity": "sha512-5jToLgKTjHdI1VKqs/K8BLYy42Sr3o8bV5ojh4MnR9ExHO83cyyUdw+7+vMJCpKXUiVUvARM4qmHTFuyaCMAZQ==",
- "dev": true,
- "requires": {
- "@types/prettier": "^2.1.1",
- "debug": "^4.3.1",
- "fs-extra": "^7.0.0",
- "glob": "7.1.7",
- "js-sha3": "^0.8.0",
- "lodash": "^4.17.15",
- "mkdirp": "^1.0.4",
- "prettier": "^2.3.1",
- "ts-command-line-args": "^2.2.0",
- "ts-essentials": "^7.0.1"
- },
- "dependencies": {
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "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"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- }
- }
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
- "dev": true
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typescript": {
- "version": "4.8.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
- "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
- "dev": true
- },
- "typical": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
- "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
- "dev": true
- },
- "uglify-js": {
- "version": "3.17.3",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.3.tgz",
- "integrity": "sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg==",
- "dev": true,
- "optional": true
- },
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
- "dev": true
- },
- "unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- }
- },
- "undici": {
- "version": "5.11.0",
- "resolved": "https://registry.npmjs.org/undici/-/undici-5.11.0.tgz",
- "integrity": "sha512-oWjWJHzFet0Ow4YZBkyiJwiK5vWqEYoH7BINzJAJOLedZ++JpAlCbUktW2GQ2DS2FpKmxD/JMtWUUWl1BtghGw==",
- "dev": true,
- "requires": {
- "busboy": "^1.6.0"
- }
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "dev": true
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
- "dev": true,
- "requires": {
- "prepend-http": "^2.0.0"
- }
- },
- "url-set-query": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz",
- "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==",
- "dev": true
- },
- "utf-8-validate": {
- "version": "5.0.9",
- "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz",
- "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==",
- "dev": true,
- "requires": {
- "node-gyp-build": "^4.3.0"
- }
- },
- "utf8": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz",
- "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==",
- "dev": true
- },
- "util": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz",
- "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "is-arguments": "^1.0.4",
- "is-generator-function": "^1.0.7",
- "is-typed-array": "^1.1.3",
- "safe-buffer": "^5.1.2",
- "which-typed-array": "^1.1.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
- "dev": true
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true
- },
- "v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true
- },
- "varint": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz",
- "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==",
- "dev": true
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "dev": true
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "web3": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.4.tgz",
- "integrity": "sha512-iFGK5jO32vnXM/ASaJBaI0+gVR6uHozvYdxkdhaeOCD6HIQ4iIXadbO2atVpE9oc/H8l2MovJ4LtPhG7lIBN8A==",
- "dev": true,
- "requires": {
- "web3-bzz": "1.7.4",
- "web3-core": "1.7.4",
- "web3-eth": "1.7.4",
- "web3-eth-personal": "1.7.4",
- "web3-net": "1.7.4",
- "web3-shh": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-bzz": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.4.tgz",
- "integrity": "sha512-w9zRhyEqTK/yi0LGRHjZMcPCfP24LBjYXI/9YxFw9VqsIZ9/G0CRCnUt12lUx0A56LRAMpF7iQ8eA73aBcO29Q==",
- "dev": true,
- "requires": {
- "@types/node": "^12.12.6",
- "got": "9.6.0",
- "swarm-js": "^0.1.40"
- },
- "dependencies": {
- "@types/node": {
- "version": "12.20.55",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
- "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
- "dev": true
- }
- }
- },
- "web3-core": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.7.4.tgz",
- "integrity": "sha512-L0DCPlIh9bgIED37tYbe7bsWrddoXYc897ANGvTJ6MFkSNGiMwDkTLWSgYd9Mf8qu8b4iuPqXZHMwIo4atoh7Q==",
- "dev": true,
- "requires": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^12.12.6",
- "bignumber.js": "^9.0.0",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-core-requestmanager": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "@types/node": {
- "version": "12.20.55",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
- "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
- "dev": true
- },
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-core-helpers": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.4.tgz",
- "integrity": "sha512-F8PH11qIkE/LpK4/h1fF/lGYgt4B6doeMi8rukeV/s4ivseZHHslv1L6aaijLX/g/j4PsFmR42byynBI/MIzFg==",
- "dev": true,
- "requires": {
- "web3-eth-iban": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-core-method": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.4.tgz",
- "integrity": "sha512-56K7pq+8lZRkxJyzf5MHQPI9/VL3IJLoy4L/+q8HRdZJ3CkB1DkXYaXGU2PeylG1GosGiSzgIfu1ljqS7CP9xQ==",
- "dev": true,
- "requires": {
- "@ethersproject/transactions": "^5.6.2",
- "web3-core-helpers": "1.7.4",
- "web3-core-promievent": "1.7.4",
- "web3-core-subscriptions": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-core-promievent": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.4.tgz",
- "integrity": "sha512-o4uxwXKDldN7ER7VUvDfWsqTx9nQSP1aDssi1XYXeYC2xJbVo0n+z6ryKtmcoWoRdRj7uSpVzal3nEmlr480mA==",
- "dev": true,
- "requires": {
- "eventemitter3": "4.0.4"
- }
- },
- "web3-core-requestmanager": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.4.tgz",
- "integrity": "sha512-IuXdAm65BQtPL4aI6LZJJOrKAs0SM5IK2Cqo2/lMNvVMT9Kssq6qOk68Uf7EBDH0rPuINi+ReLP+uH+0g3AnPA==",
- "dev": true,
- "requires": {
- "util": "^0.12.0",
- "web3-core-helpers": "1.7.4",
- "web3-providers-http": "1.7.4",
- "web3-providers-ipc": "1.7.4",
- "web3-providers-ws": "1.7.4"
- }
- },
- "web3-core-subscriptions": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.4.tgz",
- "integrity": "sha512-VJvKWaXRyxk2nFWumOR94ut9xvjzMrRtS38c4qj8WBIRSsugrZr5lqUwgndtj0qx4F+50JhnU++QEqUEAtKm3g==",
- "dev": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.7.4"
- }
- },
- "web3-eth": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.4.tgz",
- "integrity": "sha512-JG0tTMv0Ijj039emXNHi07jLb0OiWSA9O24MRSk5vToTQyDNXihdF2oyq85LfHuF690lXZaAXrjhtLNlYqb7Ug==",
- "dev": true,
- "requires": {
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-core-subscriptions": "1.7.4",
- "web3-eth-abi": "1.7.4",
- "web3-eth-accounts": "1.7.4",
- "web3-eth-contract": "1.7.4",
- "web3-eth-ens": "1.7.4",
- "web3-eth-iban": "1.7.4",
- "web3-eth-personal": "1.7.4",
- "web3-net": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-eth-abi": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.4.tgz",
- "integrity": "sha512-eMZr8zgTbqyL9MCTCAvb67RbVyN5ZX7DvA0jbLOqRWCiw+KlJKTGnymKO6jPE8n5yjk4w01e165Qb11hTDwHgg==",
- "dev": true,
- "requires": {
- "@ethersproject/abi": "^5.6.3",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-eth-accounts": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.4.tgz",
- "integrity": "sha512-Y9vYLRKP7VU7Cgq6wG1jFaG2k3/eIuiTKAG8RAuQnb6Cd9k5BRqTm5uPIiSo0AP/u11jDomZ8j7+WEgkU9+Btw==",
- "dev": true,
- "requires": {
- "@ethereumjs/common": "^2.5.0",
- "@ethereumjs/tx": "^3.3.2",
- "crypto-browserify": "3.12.0",
- "eth-lib": "0.2.8",
- "ethereumjs-util": "^7.0.10",
- "scrypt-js": "^3.0.1",
- "uuid": "3.3.2",
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "eth-lib": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz",
- "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==",
- "dev": true,
- "requires": {
- "bn.js": "^4.11.6",
- "elliptic": "^6.4.0",
- "xhr-request-promise": "^0.1.2"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true
- }
- }
- },
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true
- },
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-eth-contract": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.4.tgz",
- "integrity": "sha512-ZgSZMDVI1pE9uMQpK0T0HDT2oewHcfTCv0osEqf5qyn5KrcQDg1GT96/+S0dfqZ4HKj4lzS5O0rFyQiLPQ8LzQ==",
- "dev": true,
- "requires": {
- "@types/bn.js": "^5.1.0",
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-core-promievent": "1.7.4",
- "web3-core-subscriptions": "1.7.4",
- "web3-eth-abi": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-eth-ens": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.4.tgz",
- "integrity": "sha512-Gw5CVU1+bFXP5RVXTCqJOmHn71X2ghNk9VcEH+9PchLr0PrKbHTA3hySpsPco1WJAyK4t8SNQVlNr3+bJ6/WZA==",
- "dev": true,
- "requires": {
- "content-hash": "^2.5.2",
- "eth-ens-namehash": "2.0.8",
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-promievent": "1.7.4",
- "web3-eth-abi": "1.7.4",
- "web3-eth-contract": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-eth-iban": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.4.tgz",
- "integrity": "sha512-XyrsgWlZQMv5gRcjXMsNvAoCRvV5wN7YCfFV5+tHUCqN8g9T/o4XUS20vDWD0k4HNiAcWGFqT1nrls02MGZ08w==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-eth-personal": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.4.tgz",
- "integrity": "sha512-O10C1Hln5wvLQsDhlhmV58RhXo+GPZ5+W76frSsyIrkJWLtYQTCr5WxHtRC9sMD1idXLqODKKgI2DL+7xeZ0/g==",
- "dev": true,
- "requires": {
- "@types/node": "^12.12.6",
- "web3-core": "1.7.4",
- "web3-core-helpers": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-net": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "@types/node": {
- "version": "12.20.55",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
- "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
- "dev": true
- },
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-net": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.7.4.tgz",
- "integrity": "sha512-d2Gj+DIARHvwIdmxFQ4PwAAXZVxYCR2lET0cxz4KXbE5Og3DNjJi+MoPkX+WqoUXqimu/EOd4Cd+7gefqVAFDg==",
- "dev": true,
- "requires": {
- "web3-core": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-utils": "1.7.4"
- },
- "dependencies": {
- "web3-utils": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz",
- "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- }
- }
- },
- "web3-providers-http": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.4.tgz",
- "integrity": "sha512-AU+/S+49rcogUER99TlhW+UBMk0N2DxvN54CJ2pK7alc2TQ7+cprNPLHJu4KREe8ndV0fT6JtWUfOMyTvl+FRA==",
- "dev": true,
- "requires": {
- "web3-core-helpers": "1.7.4",
- "xhr2-cookies": "1.1.0"
- }
- },
- "web3-providers-ipc": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.4.tgz",
- "integrity": "sha512-jhArOZ235dZy8fS8090t60nTxbd1ap92ibQw5xIrAQ9m7LcZKNfmLAQUVsD+3dTFvadRMi6z1vCO7zRi84gWHw==",
- "dev": true,
- "requires": {
- "oboe": "2.1.5",
- "web3-core-helpers": "1.7.4"
- }
- },
- "web3-providers-ws": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.4.tgz",
- "integrity": "sha512-g72X77nrcHMFU8hRzQJzfgi/072n8dHwRCoTw+WQrGp+XCQ71fsk2qIu3Tp+nlp5BPn8bRudQbPblVm2uT4myQ==",
- "dev": true,
- "requires": {
- "eventemitter3": "4.0.4",
- "web3-core-helpers": "1.7.4",
- "websocket": "^1.0.32"
- }
- },
- "web3-shh": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.4.tgz",
- "integrity": "sha512-mlSZxSYcMkuMCxqhTYnZkUdahZ11h+bBv/8TlkXp/IHpEe4/Gg+KAbmfudakq3EzG/04z70XQmPgWcUPrsEJ+A==",
- "dev": true,
- "requires": {
- "web3-core": "1.7.4",
- "web3-core-method": "1.7.4",
- "web3-core-subscriptions": "1.7.4",
- "web3-net": "1.7.4"
- }
- },
- "web3-utils": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.8.0.tgz",
- "integrity": "sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ==",
- "dev": true,
- "requires": {
- "bn.js": "^5.2.1",
- "ethereum-bloom-filters": "^1.0.6",
- "ethereumjs-util": "^7.1.0",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randombytes": "^2.1.0",
- "utf8": "3.0.0"
- }
- },
- "websocket": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
- "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
- "dev": true,
- "requires": {
- "bufferutil": "^4.0.1",
- "debug": "^2.2.0",
- "es5-ext": "^0.10.50",
- "typedarray-to-buffer": "^3.1.5",
- "utf-8-validate": "^5.0.2",
- "yaeti": "^0.0.6"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "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"
- }
- },
- "which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
- "requires": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- }
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==",
- "dev": true
- },
- "which-typed-array": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz",
- "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==",
- "dev": true,
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
- "for-each": "^0.3.3",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.9"
- }
- },
- "wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "dev": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
- "dev": true
- },
- "wordwrapjs": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz",
- "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==",
- "dev": true,
- "requires": {
- "reduce-flatten": "^2.0.0",
- "typical": "^5.2.0"
- },
- "dependencies": {
- "typical": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
- "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
- "dev": true
- }
- }
- },
- "workerpool": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
- "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "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
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "ws": {
- "version": "7.4.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
- "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
- "dev": true,
- "requires": {}
- },
- "xhr": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
- "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
- "dev": true,
- "requires": {
- "global": "~4.4.0",
- "is-function": "^1.0.1",
- "parse-headers": "^2.0.0",
- "xtend": "^4.0.0"
- }
- },
- "xhr-request": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz",
- "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==",
- "dev": true,
- "requires": {
- "buffer-to-arraybuffer": "^0.0.5",
- "object-assign": "^4.1.1",
- "query-string": "^5.0.1",
- "simple-get": "^2.7.0",
- "timed-out": "^4.0.1",
- "url-set-query": "^1.0.0",
- "xhr": "^2.0.4"
- }
- },
- "xhr-request-promise": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz",
- "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==",
- "dev": true,
- "requires": {
- "xhr-request": "^1.1.0"
- }
- },
- "xhr2-cookies": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz",
- "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==",
- "dev": true,
- "requires": {
- "cookiejar": "^2.1.1"
- }
- },
- "xmlhttprequest": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
- "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==",
- "dev": true
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true
- },
- "yaeti": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
- "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==",
- "dev": true
- },
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
- },
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- },
- "yargs-parser": {
- "version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
- "dev": true
- },
- "yargs-unparser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
- "dev": true,
- "requires": {
- "camelcase": "^6.0.0",
- "decamelize": "^4.0.0",
- "flat": "^5.0.2",
- "is-plain-obj": "^2.1.0"
- }
- },
- "yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true
- },
- "yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true
- }
- }
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index e48c8fa..0000000
--- a/package.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "nplate",
- "version": "1.0.0",
- "description": "A template for noir.",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "",
- "license": "ISC",
- "devDependencies": {
- "@ethersproject/abi": "^5.4.7",
- "@ethersproject/providers": "^5.4.7",
- "@nomicfoundation/hardhat-chai-matchers": "^1.0.0",
- "@nomicfoundation/hardhat-network-helpers": "^1.0.0",
- "@nomicfoundation/hardhat-toolbox": "^1.0.1",
- "@nomiclabs/hardhat-ethers": "^2.0.0",
- "@nomiclabs/hardhat-etherscan": "^3.0.0",
- "@typechain/ethers-v5": "^10.1.0",
- "@typechain/hardhat": "^6.1.2",
- "@types/chai": "^4.2.0",
- "@types/mocha": "^9.1.0",
- "@types/node": ">=12.0.0",
- "chai": "^4.2.0",
- "ethers": "^5.4.7",
- "hardhat": "^2.11.1",
- "hardhat-gas-reporter": "^1.0.8",
- "solidity-coverage": "^0.7.21",
- "ts-node": ">=8.0.0",
- "typechain": "^8.1.0",
- "typescript": ">=4.5.0"
- },
- "dependencies": {
- "@noir-lang/aztec_backend": "^0.12.0",
- "@noir-lang/barretenberg": "^2.19.0",
- "@noir-lang/noir_wasm": "^0.10.0"
- }
-}
\ No newline at end of file
diff --git a/scripts/generateContract.ts b/scripts/generateContract.ts
deleted file mode 100644
index 59710a5..0000000
--- a/scripts/generateContract.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { resolve, join } from 'path';
-import { compile, acir_from_bytes } from '@noir-lang/noir_wasm';
-import { setup_generic_prover_and_verifier } from '@noir-lang/barretenberg/dest/client_proofs';
-import { writeFileSync, readFileSync } from 'fs';
-import path from 'path';
-
-function path_to_uint8array(path: string) {
- let buffer = readFileSync(path);
- return new Uint8Array(buffer);
-}
-
-async function generateSolidityVerifier() {
- let acir;
- try {
- let compiled_program = compile(resolve(__dirname, '../circuits/src/main.nr'));
- acir = compiled_program.circuit;
- } catch (e : any ) {
- let acirByteArray = path_to_uint8array(path.resolve(__dirname, `../circuits/build/${process.argv[2]}.acir`));
- acir = acir_from_bytes(acirByteArray);
- }
- console.log("Setting up generic verifier...");
- let [_, verifier] = await setup_generic_prover_and_verifier(acir);
-
- const sc = verifier.SmartContract();
- syncWriteFile("../contracts/Verifier.sol", sc);
-
- console.log('Done writing Verifier contract.');
-}
-
-function syncWriteFile(filename: string, data: any) {
- writeFileSync(join(__dirname, filename), data, {
- flag: 'w',
- });
-}
-
-generateSolidityVerifier().then(() => process.exit(0)).catch(console.log);
diff --git a/scripts/generateProof.ts b/scripts/generateProof.ts
deleted file mode 100644
index d8b7d9b..0000000
--- a/scripts/generateProof.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-
-import { compile, acir_from_bytes } from '@noir-lang/noir_wasm';
-import { setup_generic_prover_and_verifier, create_proof, verify_proof, create_proof_with_witness } from '@noir-lang/barretenberg/dest/client_proofs';
-import path from 'path';
-import { readFileSync } from 'fs';
-
-function path_to_uint8array(path: string) {
- let buffer = readFileSync(path);
- return new Uint8Array(buffer);
-}
-
-async function generateProof() {
- let acirByteArray = path_to_uint8array(path.resolve(__dirname, `../circuits/build/${process.argv[2]}.acir`));
- let acir = acir_from_bytes(acirByteArray);
-
- let abi = {
- x : 1,
- y : 2,
- return : 3
- }
-
- console.log("Setting up generic prover and verifier...");
- let [prover, verifier] = await setup_generic_prover_and_verifier(acir);
- console.log("Creating proof...");
- const proof = await create_proof(prover, acir, abi);
- console.log("Verifying proof...");
- const verified = await verify_proof(verifier, proof);
-
- console.log("Proof : ", proof.toString('hex'));
- console.log("Is the proof valid : ", verified);
-}
-
-generateProof().then(() => process.exit(0)).catch(console.log);
\ No newline at end of file
diff --git a/test/Kevin.t.sol b/test/Kevin.t.sol
index 12ef144..dbde7ac 100644
--- a/test/Kevin.t.sol
+++ b/test/Kevin.t.sol
@@ -3,7 +3,7 @@ pragma solidity ^0.8.15;
import "forge-std/Test.sol";
import "forge-std/console2.sol";
-import {Kevin} from "contracts/mocks/Kevin.sol";
+import { Kevin } from "contracts/Kevin.sol";
contract KevinTest is Test {
@@ -13,23 +13,18 @@ contract KevinTest is Test {
kevin = new Kevin();
}
- function getBasicProofRequest() public pure returns (string[] memory) {
- string[] memory inputs = new string[](7);
- inputs[0] = "npx";
- inputs[1] = "ts-node";
- inputs[2] = "test/utils/ffiProof.ts";
- return inputs;
+ function _readProof(string memory fileName) internal returns (bytes memory) {
+ string memory file = vm.readFile(string.concat("circuits/proofs/", fileName, ".proof"));
+ return vm.parseBytes(file);
}
function testLabouji() external {
- string[] memory inputs = getBasicProofRequest();
- inputs[3] = "p";
- inputs[4] = "1";
- inputs[5] = "2";
- inputs[6] = "3";
- bytes memory proof = vm.ffi(inputs);
- console2.logBytes(proof);
- kevin.set(proof);
+ bytes memory proof = _readProof("a");
+ bytes32[] memory inputs = new bytes32[](3);
+ inputs[0] = bytes32(uint256(1));
+ inputs[1] = bytes32(uint256(2));
+ inputs[2] = bytes32(uint256(3));
+ kevin.set(proof, inputs);
assertEq(kevin.last(), 3);
}
}
\ No newline at end of file
diff --git a/test/test.ts b/test/test.ts
deleted file mode 100644
index dc4d190..0000000
--- a/test/test.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { compile, acir_from_bytes } from '@noir-lang/noir_wasm';
-import { setup_generic_prover_and_verifier, create_proof, verify_proof, create_proof_with_witness } from '@noir-lang/barretenberg/dest/client_proofs';
-import { packed_witness_to_witness, serialise_public_inputs, compute_witnesses } from '@noir-lang/aztec_backend';
-import path from 'path';
-import { readFileSync } from 'fs';
-import { expect } from 'chai';
-import { ethers } from "hardhat";
-import { Contract, ContractFactory, utils } from 'ethers';
-
-const BUILD = "build1";
-
-describe('Using the solidity verifier', function() {
- let Verifier: ContractFactory;
- let verifierContract: Contract;
-
- before(async () => {
- Verifier = await ethers.getContractFactory("TurboVerifier");
- verifierContract = await Verifier.deploy();
- });
-
- it("Should verify using proof generated by typescript wrapper", async () => {
- let acirByteArray = path_to_uint8array(path.resolve(__dirname, `../circuits/build/${BUILD}.acir`));
- let acir = acir_from_bytes(acirByteArray);
-
- let abi = {
- x: 1,
- y: 2,
- return: 3,
- }
-
- let [prover, verifier] = await setup_generic_prover_and_verifier(acir);
-
- const proof = await create_proof(prover, acir, abi);
-
- const verified = await verify_proof(verifier, proof);
- expect(verified).eq(true)
-
- const sc_verified = await verifierContract.verify(proof);
- expect(sc_verified).eq(true)
- });
-
-});
-
-function path_to_uint8array(path: string) {
- let buffer = readFileSync(path);
- return new Uint8Array(buffer);
-}
\ No newline at end of file
diff --git a/test/utils/ffiProof.ts b/test/utils/ffiProof.ts
deleted file mode 100644
index d934bb5..0000000
--- a/test/utils/ffiProof.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { compile, acir_from_bytes } from '@noir-lang/noir_wasm';
-import { setup_generic_prover_and_verifier, create_proof, verify_proof, create_proof_with_witness } from '@noir-lang/barretenberg/dest/client_proofs';
-import path from 'path';
-import { readFileSync } from 'fs';
-
-function path_to_uint8array(path: string) {
- let buffer = readFileSync(path);
- return new Uint8Array(buffer);
-}
-
-async function generateProof() {
- let acirByteArray = path_to_uint8array(path.resolve(__dirname, `../../circuits/build/${process.argv[2]}.acir`));
- let acir = acir_from_bytes(acirByteArray);
-
- let abi = {
- x : parseInt(process.argv[3]),
- y : parseInt(process.argv[4]),
- return : parseInt(process.argv[5])
- }
-
- let [prover, verifier] = await setup_generic_prover_and_verifier(acir);
- const proof = await create_proof(prover, acir, abi);
- // simple output -> easy to use by ffi
- console.log(proof.toString('hex'));
-}
-
-generateProof().then(() => process.exit(0)).catch(console.log);
\ No newline at end of file
diff --git a/utils/safeGenerateContract.sh b/utils/safeGenerateContract.sh
deleted file mode 100755
index 67815fb..0000000
--- a/utils/safeGenerateContract.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# Runs nargo build and compile before generating the Verifier contract.
-# If Prover.toml is malformed, it will still generate the proof using the last valid build.
-#
-
-printf "Name of your build : "
-read name_build
-printf "\n#################\n\n"
-
-cd circuits/
-
-nargo build
-printf "\n#################\n\n"
-
-nargo compile ${name_build}
-printf "\n#################\n\n"
-cd ..
-
-npx ts-node scripts/generateContract.ts ${name_build}
\ No newline at end of file
diff --git a/utils/safeGenerateProof.sh b/utils/safeGenerateProof.sh
deleted file mode 100755
index d61c5ff..0000000
--- a/utils/safeGenerateProof.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# Runs nargo build and compile before generating a proof.
-# If Prover.toml is malformed, it will still generate the proof using the last valid build.
-#
-
-printf "Name of your build : "
-read name_build
-
-cd circuits/
-printf "\n#################\n\n"
-nargo build
-printf "\n#################\n\n"
-nargo compile ${name_build}
-printf "\n#################\n\n"
-
-cd ..
-npx ts-node scripts/generateProof.ts ${name_build}
\ No newline at end of file